Systèmes de Deduction Info-F302 Séance 2 (version de l’énoncé avec des changements/corrections) Exercice 1 Montrez que pour chaque formule ψ de la logique propositionnelle il existe une formule propositionnelle ψ→ de la logique propositionnelle telle que ψ→ ≡ ψ et que ψ→ contient seulement l’implication → comme opérateur logique, ⊥, et des propositions atomiques. Un système de deduction est donné par un ensemble des axioms et un ensemble fini des règles de déduction. Le système de déduction style Hilbert-KSP sera donné par des schemas des axioms K, S et P suivants (A et B sont des formules propositionnelles quelconques qui seulement utilisent →, ⊥ et des propositions atomiques) : – K : A → (B → A) – S : (A → (B → C)) → ((A → B) → (A → C)) – P : ((A → B) → A) → A (Peirce’s law) et la règle de déduction : A→B MP B On introduise des déductions dans ce système en analogie avec le cours et utilisera `KSP pour noter des séquents conformes. A Exercice 2 Comparez le système Hilbert-KSP avec le système de la déduction naturelle (nombre des règles, axioms, longueur des preuves,. . .). Exercice 3 Supposant les propositions atomiques sont {int, string, f loat}, montrez que le système Hilbert-KSP permet de déduire les postulats suivants : (i) `KSP int → int → int (ii) `KSP ((string → int) → string) → string (iii) `KSP string → string (astuce : commencez avec “A → ((B → A) → A)”) Exercice supplémentaire Interprétons une formule int → string comme une fonction quelconque avec la domaine int (type integer) et la codomaine string (type string). Une formule A → (B → C) est interprété comme une fonction quelconque qui associé un element du type A a une autre fonction du type B vers le type C (fonctions d’ordre supérieur). Comment on pouvait maintenant “interpreter” les axioms K et S ? La règle MP correspond à quoi ? Notez que des systèmes de déduction similaires à celui ci-dessus jouent un rôle très important pour la fondation des langages de programmation fonctionnelles (ML, Haskell,. . .). 1 Systèmes de Deduction Info-F302 Exercice 4 A l’aide des règles de la déduction naturelle, montrer les postulats suivants : (i) (p ∧ q) ∧ r, s ∧ t ` q ∧ s (∗) (ii) q → (p → r), ¬r, q ` ¬p (∗) (iii) ` p → p (∗) (iv) ` p → (q → p) (v) ` (p ∧ q) → p (∗) (∗) (vi) p ` (p → q) → q (∗) (vii) (p → r) ∧ (q → r) ` (p ∧ q) → r (viii) q → r ` (p → q) → (p → r) (ix) p → (q ∧ r) ` (p → q) ∧ (p → r) (x) p → (q ∨ r), q → s, r → s ` p → s (xi) (p ∧ q) ∨ (p ∧ r) ` p ∧ (q ∨ r) (xii) ¬(p ∧ q) ` ¬p ∨ ¬q (∗) (xiii) p ∨ q, ¬q ∨ r ` p ∨ r (xiv) ¬p ∨ ¬q ` ¬(p ∧ q) (xv) ` ((p → q) → p) → p (∗) (∗) Exercice 5 Montrez que φ1 , . . . , φn `KSP ψ implique φ1 , . . . , φn ` ψ pour toutes formules propositionnelles φ1 , . . . , φn , ψ. 2 Systèmes de Deduction Info-F302 A. Règles de Déduction Naturelle introduction φ ∨i φ∨ψ 1 φ ¬i ∨e φ→ψ →e ψ →i φ hyp. .. . ⊥f in hyp. ¬φ ψ2 hyp. .. . ψ1 ∨ ψ2 φ f in hyp. φ f in hyp. φ φ ψ f in hyp. φ→ψ ¬ ⊥ ψ ∨i φ∨ψ 2 ψ1 hyp. .. . φ hyp. .. . → φ∧ψ ∧e2 ψ φ∧ψ ∧e1 φ φ ψ ∧i φ∧ψ ∧ ∨ elimination ¬φ ¬e ⊥ ⊥ ⊥e φ (no introduction rule for ⊥) ¬¬φ ¬¬e φ ¬¬ Règles dérivées : φ ∨ ¬φ LEM φ → ψ ¬ψ MT ¬φ φ ¬¬i ¬¬φ 3 ¬φ hyp. .. . ⊥ f in hyp. φ RAA