« Reseau inverse » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
 
(19 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
==Resolution, méthode inverse==
==Syntaxe==

===Syntaxe===


Formules : <math>A := X(t_1,\dots,t_n) \mid \neg A \mid A \vee B \mid A \wedge B \mid \forall x A \mid \exists x A</math>
Formules : <math>A := X(t_1,\dots,t_n) \mid \neg A \mid A \vee B \mid A \wedge B \mid \forall x A \mid \exists x A</math>
Ligne 9 : Ligne 11 :
Séquents : <math>\Delta := 0 \mid \Gamma , \Delta</math> (la virgule est une dicjonction commutative et associative)
Séquents : <math>\Delta := 0 \mid \Gamma , \Delta</math> (la virgule est une dicjonction commutative et associative)


==Règles logiques==
===Règles logiques===


<math>
<math>
Ligne 47 : Ligne 49 :
</math>
</math>


== Règles structurelles==
===Règles structurelles===


<math>
<math>
Ligne 79 : Ligne 81 :
== Tentative de Calcul ==
== Tentative de Calcul ==


Formules : <math>A := X(t_1,\dots,t_n) \mid \neg A \mid A + B \mid A \wedge B \mid A \times B \mid A \vee B \mid \forall x A \mid \exists x A</math>
Formules : <math>A := X(t_1,\dots,t_n) \mid \neg A \mid A \wedge B \mid A \vee B \mid \forall x A \mid \exists x A</math>




Ligne 96 : Ligne 98 :


<math>
<math>
\frac{}{z : A \times B, x:A, y : B, \gamma\vdash !z\leftarrow(x,y) : (A \times B)^z, \neg A^x, \neg B^y}\times_i
\frac{}{z : A \vee B, x:A, \gamma \vdash !z\leftarrow L(x) : (A \vee B)^z, \neg A^x}\vee_i^L
</math>
</math>


<math>
<math>
\frac{x: A, y: B, \gamma \vdash t : \Delta}
\frac{}{z : A \vee B, y:B, \gamma \vdash !z\leftarrow R(y) : (A \vee B)^z, \neg B^y}\vee_i^R
{z: A \vee B, \gamma \vdash ?z\rightarrow(x,y).t : \Delta[A^x := (A \vee B)^z, B^y := (A \vee B)^z]}\vee_i
</math>

<math>
\frac{}{z : A + B, x:A, \gamma \vdash !z\leftarrow L(x) : (A + B)^z, \neg A^x}+_i^L
</math>
<math>
\frac{}{z : A + B, y:B, \gamma \vdash !z\leftarrow R(y) : (A + B)^z, \neg B^y}+_i^R
</math>
</math>


<math>
<math>
\frac{x: A, \gamma \vdash t : \Delta \;\;\;\;\; y: B, \gamma \vdash u : \Delta'}
\frac{x: A, \gamma \vdash t : \Delta \;\;\;\;\; y: B, \gamma \vdash u : \Delta'}
{z: A \wedge B, \gamma\vdash ?z\rightarrow(x.t + y.u) : \Delta[A^x := (A \wedge B)^z] \otimes \Delta[B^y := (A \wedge B)^z]}\wedge_i
{z: A \wedge B, \gamma\vdash ?z\rightarrow(x.t + y.u) : \Delta[A^x := (A \wedge B)^z] \otimes \Delta'[B^y := (A \wedge B)^z]}\wedge_i
</math>
</math>


<math>
<math>
\frac{x: A, \gamma \vdash t : \Delta}{z: \forall x,A, \gamma \vdash ?z\rightarrow(x,\alpha).t : \Delta[A^x := (\forall \alpha A)^z]}\forall_i\;\;\; (\alpha \hbox{ non libre dans la conclusion})
\frac{x: A, \gamma \vdash t : \Delta}{z: \forall x A, \gamma \vdash ?z\rightarrow(x,\alpha).t : \Delta[A^x := (\forall \alpha A)^z]}\forall_i\;\;\; (\alpha \hbox{ non libre dans la conclusion})
</math>
</math>


<math>
<math>
\frac{}{z : \exists x A, x : A[x:=t], \gamma \vdash \exists x A^z, \neg A[x:=t]^x}\exists_i
\frac{}{z : \exists x A, x : A[x:=t], \gamma \vdash ! z \leftarrow (x, t) : \exists x A^z, \neg A[x:=t]^x}\exists_i
</math>
</math>


Ligne 129 : Ligne 123 :


<math>
<math>
\frac{\gamma \vdash t : \Gamma . \Gamma', \Delta}{\gamma \vdash t : A^x . \Gamma, \neg A^x . \Gamma', \Delta}\hbox{resolution}
\frac{x: A, \gamma \vdash t : \Gamma . \Gamma', \Delta}{x: A, \gamma \vdash t : A^x . \Gamma, \neg A^x . \Gamma', \Delta}\hbox{resolution}
</math>
</math>


<math>
<math>
\frac{\gamma \vdash t : \Delta \;\;\;\;\; \gamma \vdash u : \Delta'}{\gamma \vdash t \mid u : \Delta \otimes \Delta'}
\frac{\gamma \vdash t : \Delta \;\;\;\;\; \gamma \vdash u : \Delta'}{\gamma \vdash t \mid u : \Delta \otimes \Delta'}\hbox{splitting}

===Simplification (structural) rules===

<math>
\frac{\gamma \vdash t : \Delta}{\vdash t : A . \neg A . \Gamma, \Delta}\hbox{tautology elimination}
</math>
</math>


<math>
<math>
\frac{\vdash A . \neg A, \Delta}{\Delta}\hbox{reversed tautology elimination}
\frac{x : A, \gamma \vdash t : \Delta}{\gamma \vdash \nu x.t : \Delta}\nu\;\;\; x \hbox{ not in } \Delta
</math>
</math>


===Simplification (structural) rules===
== Règles structurelles==


<math>
<math>
\frac{\vdash A . \Gamma , \Delta}{\vdash \Gamma , \Delta}\nu\;\;\; \hbox{(inutile, affaiblissement, pas la propriete de la sous-formule)}
\frac{x:A, \gamma \vdash t : A^x . \neg A^x . \Gamma, \Delta}{x:A, \gamma \vdash t : \Delta}\hbox{reversed tautology elimination}
</math>
</math>


<math>
<math>
\frac{\vdash A . \Gamma , \Delta}{\vdash A . A . \Gamma , \Delta}\;\;\; \hbox{(contraction)}
\frac{x:A, \gamma \vdash t : A^x . \Gamma , \Delta}{x:A, \gamma \vdash t : \Gamma , \Delta}\hbox{coweakening}
</math>
</math>


<math>
<math>
\frac{\vdash A . A . \Gamma , \Delta}{\vdash A . \Gamma , \Delta}\;\;\; \hbox{(inutile)}
\frac{x:A, \gamma \vdash t : A^x . \Gamma , \Delta}{x:A, \gamma \vdash t : A^x . A^x . \Gamma , \Delta}\hbox{cocontraction}
</math>
</math>


<math>
<math>
\frac{\vdash \Gamma , \Gamma, \Delta}{\vdash \Gamma , \Delta}\;\;\; \hbox{(reutilisation de clauses)}
\frac{\gamma \vdash t : \Gamma , \Gamma, \Delta}{\gamma \vdash t : \Gamma , \Delta}\hbox{contraction}
</math>
</math>


<math>
<math>
\frac{\vdash \Gamma , \Delta}{\vdash \Gamma.\Gamma' , \Gamma , \Delta}\;\;\; \hbox{(inutile, subsumption, tres efficace en recherche de preuve)}
\frac{\gamma \vdash t : \Delta}{\gamma \vdash t : \Gamma , \Delta}\;\;\; \hbox{weakening}
</math>

<math>
\frac{\vdash \Delta}{\vdash \Gamma , \Delta}\;\;\; \hbox{(affaiblissement bis)}
</math>

<math>
\frac{\vdash \Gamma , \Delta \;\;\; \Gamma' , \Delta}{\vdash \Gamma . \Gamma' , \Delta}\hbox{Splitting} \;\;\; \hbox{(inutile, tres efficace en recherche de preuve)}
</math>
</math>

Dernière version du 21 octobre 2008 à 13:00

Resolution, méthode inverse

Syntaxe

Formules :

On quotiente les formules pas les lois de De Morgan.

Clauses (à démontrer) : (le point est une conjonction commutative et associative avec élément neutre)

Séquents : (la virgule est une dicjonction commutative et associative)

Règles logiques

Règles structurelles

Tentative de Calcul

Formules :


Clauses (à démontrer) : (le point est une conjonction commutative et associative avec élément neutre)

Séquents : (la virgule est une dicjonction commutative et associative)

Contraintes : pour tout séquent et nom de canal , il existe au plus une formule telque ou . Pour imposer cette contrainte, on tilse des contextes de typage des canaux: .

Definition :  :

Logical rules

Simplification (structural) rules