La deduction naturelle pour le calcul des prédicats
March 12, 2019 1 / 25
Système DN
pred: déduction naturelle pour le calcul des prédicats
Axiome :
∆,A`A A est une formule du calcul des prédicats) Règles d’inférence (Rappel) :
∆,A`B
∆`A→B (→ i) ∆`A ∆`A→B
∆`B (→ e)
∆`A ∆`B
∆`A∧B (∧i)
∆`A∧B
∆`A (∧e) ∆`A∧B
∆`B (∧e)
March 12, 2019 2 / 25
Système DN
pred: déduction naturelle pour le calcul des prédicats
∆`A
∆`A∨B (∨i) ∆`B
∆`A∨B (∨i)
∆`A∨B ∆,A`C ∆,B `C
∆`C (∨e)
∆,A`B ∆,A`¬B
∆`¬A (¬i)
∆`A ∆`¬A ∆`¬¬A
Système DN
pred: déduction naturelle pour le calcul des prédicats
∆`∀x.A
∆`{x ←t}(A) (∀e) ∆`{x ←t}(A)
∆`∃x.A (∃i)
Dans les règles (∀e) et (∃i) l’opération {x ←t}(A) ne capture pas des variables (aucune variable de t devient liée)
∆`A
∆`∀x.A (∀i) ∆`∃x.A ∆,A`B
∆`B (∃e)
Dérivation dans DN
predOn note∆`DNpred A si le séquent ∆`A est dérivable dans le système DNpred.
March 12, 2019 5 / 25
Premier exemple de dérivation
∀x.p(x)` ∀x.p(x)(ax)
(∀ e)
∀x.p(x)`p(z)
(∃ i)
∀x.p(x)` ∃x.p(x)
(→ i)
` ∀x.p(x)→ ∃x.p(x)
March 12, 2019 6 / 25
Deuxième exemple de dérivation
Soit ∆ =p(a)∨p(b).
(ax)
∆`p(a)∨p(b)
(ax)
∆,p(a)`p(a)
(∃i)
∆,p(a)` ∃x.p(x)
(ax)
∆,p(b)`p(b)
(∃i)
∆,p(b)` ∃x.p(x)
(∨e)
∆` ∃x.p(x)
(→ i)
`p(a)∨p(b)→ ∃x.p(x)
Notion de validité d’un séquent dans le système DN
predDéfinition : (Rappel) Un séquent A1, . . . ,An `B est valide ssi sa formule associée (A1∧. . .∧An)→B est valide.
Attention:
∆`B valide implique ∆|=B.
∆|=B n’implique pas ∆`B valide.
Prendre ∆ ={¬p(x,y)} et B =¬p(x,z).
Voir TD.
Propriétés du système DN
predpour le calcul des prédicats
Théorème : Le systèmeDNpred est correct, i.e., si ∆`DNpred A, alors
∆`A est valide.
Théorème : Le système DNpred est complet, i.e., si ∆`A est valide, alors
∆`DNpred A.
March 12, 2019 9 / 25
Le système de Gentzen pour le calcul des prédicats
March 12, 2019 10 / 25
Le système G pour le calcul des prédicats
Axiome :
∆,A`Γ,A (Aest une formule du calcul des prédicats)
Règles de coupure :
∆`Γ,A A,∆`Γ
∆`Γ
Règles d’inférence logiques pour les connecteurs :
∆`Γ,A
∆,¬A`Γ (¬g) ∆,A`Γ
∆`Γ,¬A (¬d)
∆`A,Γ ∆,B `Γ
∆,A→B `Γ (→ g) ∆,A`B,Γ
∆`A→B,Γ (→ d)
∆,A,B `Γ
∆,A∧B `Γ (∧g) ∆`A,Γ ∆`B,Γ
∆`A∧B,Γ (∧d)
∆,A`Γ ∆,B `Γ
(∨g) ∆`A,B,Γ
(∨d)
Règles d’inférence logiques pour les quantificateurs :
∆,{x ←t}(A),∀x.A`Γ
∆,∀x.A`Γ (∀g) ∆`A,Γ
∆`∀x.A,Γ (∀d)
∆,A`Γ
∆,∃x.A`Γ (∃g) ∆` {x ←t}(A),∃x.A,Γ
∆`∃x.A,Γ (∃d) Dans les règles(∀d) et (∃g) x n’est pas libre dans ∆ et Γ.
Dans les règles(∀g) et (∃d) l’opération {x ←t}(A) ne capture pas des variables (aucune variable det devient liée)
March 12, 2019 13 / 25
Dérivation dans G
On note ∆`G Γ si le séquent ∆`Γ est dérivable dans le système G.
March 12, 2019 14 / 25
Premier exemple de dérivation dans G
p(x)`p(x),∃y.¬p(y) (ax)
(¬d)
`p(x),¬p(x),∃y.¬p(y)
(∃d)
`p(x),∃y.¬p(y)
(∀d)
` ∀x.p(x),∃.y¬p(y)
(∨d)
`(∀x.p(x))∨(∃y.¬p(y))
Deuxième exemple de dérivation dans G
(ax) p(a)`p(a),∃x.p(x)
(∃d) p(a)` ∃x.p(x)
(ax) p(b)`p(b),∃x.p(x)
(∃d) p(b)` ∃x.p(x)
(∨g) p(a)∨p(b)` ∃x.p(x)
`p(a)∨p(b)→ ∃x.p(x)
Troisième exemple de dérivation dans G
p `p,∃z.q(z) p,q(x)`q(x),∃z.q(z) p,q(x)` ∃z.q(z) p →q(x),p ` ∃z.q(z)
p →q(x)`p → ∃z.q(z)
∃x.(p →q(x))`p → ∃z.q(z)
` ∃x.(p →q(x))→(p → ∃z.q(z))
March 12, 2019 17 / 25
Quatrième exemple de dérivation dans G
p(a),p(f(a))`p(f(a)),p(f(f(a))),∃x.(p(x)→p(f(x)) p(a)`p(f(a)),p(f(a))→p(f(f(a))),∃x.(p(x)→p(f(x))
p(a)`p(f(a)),∃x.(p(x)→p(f(x))
`p(a)→p(f(a)),∃x.(p(x)→p(f(x)))
` ∃x.(p(x)→p(f(x)))
March 12, 2019 18 / 25
Cinquième exemple de dérivation dans G
p(x),p(y)`p(y),p(y0),∃x.∀y.(p(x)→p(y)) p(x)`p(y),p(y)→p(y0),∃x.∀y.(p(x)→p(y)) p(x)`p(y),∀y0.(p(y)→p(y0)),∃x.∀y.(p(x)→p(y))
p(x)`p(y),∃x.∀y.(p(x)→p(y))
`p(x)→p(y),∃x.∀y.(p(x)→p(y))
` ∀y.(p(x)→p(y)),∃x.∀y.(p(x)→p(y))
` ∃x.∀y.(p(x)→p(y))
Sixième exemple de dérivation dans G
Soit A=∃x.¬(¬p(x)∧ ¬q(x)), B =∀x.p(x) et C =∀x.q(x).
p(y),B,¬q(y)`p(y),A p(y),B,¬p(y),¬q(y)`A
∀x.p(x),¬p(y),¬q(y)`A
q(y),C,¬p(y)`q(y),A q(y),C,¬p(y),¬q(y)`A
∀x.q(x),¬p(y),¬q(y)`A
∀x.p(x)∨ ∀x.q(x),¬p(y),¬q(y)`A
∀x.p(x)∨ ∀x.q(x),¬p(y)∧ ¬q(y)`A
∀x.p(x)∨ ∀x.q(x)` ¬(¬p(y)∧ ¬q(y)),A
Remarques
Retarder au maximum le choix des témoins (règles ∀g et ∃d).
Renommer des variables (si nécessaire) pour éviter la capture de variables.
March 12, 2019 21 / 25
Comment transformer quelques dérivations dans G
Théorème : (Affaiblissement) Si ∆`Γ est dérivable dans le système G, alors ∆,A`Γet ∆`A,Γ le sont aussi.
Notation: ∆`Γ Aff.
∆,A`Γ
∆`Γ Aff.
∆`A,Γ
Théorème : (Contraction) Si ∆,A,A`Γest dérivable dans le système G, alors ∆,A`Γl’est aussi. Si ∆`Γ,A,A est dérivable dans le système G, alors ∆`Γ,Al’est aussi.
Notation: ∆,A,A`Γ Cont.
∆,A`Γ
∆`A,A,Γ Cont.
∆`A,Γ
Théorème : (Élimination de coupures) Si ∆`Γ est dérivable dans le système G, alors il existe une dérivation du même séquent ∆`Γqui n’utilise pas la règle de coupure.
March 12, 2019 22 / 25
De la déduction naturelle au calcul G
Théorème : Si ∆`DNpred A, alors∆`G A.
Rappel
Définition : Un séquent A1, . . . ,An `B1, . . . ,Bm est valide ssi sa formule associée (A1∧. . .∧An)→(B1∨. . .∨Bm) est valide.
Propriétés du système G pour le calcul des prédicats
Théorème : Le systèmeG est correct, i.e., si∆`G Γ, alors∆`Γ est valide.
Théorème : Le systèmeG est complet, i.e., si∆`Γ est valide, alors
∆`G Γ.
March 12, 2019 25 / 25