double dose of double negation translations
play

Double Dose of Double-Negation Translations Olivier Hermant CRI, - PowerPoint PPT Presentation

Double Dose of Double-Negation Translations Olivier Hermant CRI, MINES ParisTech June 2, 2014 O. Hermant (Mines) Double Negations June 2, 2014 1 / 37 Double-Negation Translation: Five Ws The theory : automatic theorem proving: classical


  1. Double Dose of Double-Negation Translations Olivier Hermant CRI, MINES ParisTech June 2, 2014 O. Hermant (Mines) Double Negations June 2, 2014 1 / 37

  2. Double-Negation Translation: Five Ws The theory : ◮ automatic theorem proving: classical logic ◮ other logics existing: need for translations ◮ in particular: proof-assistants ◮ related to the grounds: ⋆ cut-elimination for sequent calculus ⋆ extensions to Deduction Modulo The practice : ◮ a shallow encoding of classical into intuitionistic logic ◮ Zenon modulo’s backend for Dedukti ◮ existing translations: Kolmogorov’s (1925), Gentzen-Gödel’s (1933), Kuroda’s (1951), Krivine’s (1990), · · · O. Hermant (Mines) Double Negations June 2, 2014 2 / 37

  3. Double-Negation Translation: Five Ws Objective , minimization : ◮ turns more formulæ into themselves; ◮ shifts a classical proof into an intuitionistic proof of the same formula. Today : ◮ first-order (classical) logic ◮ the principle of excluded-middle ◮ intuitionistic logic ◮ double-negation translations ◮ minimization ◮ if you’re still alive: ⋆ extension to Deduction modulo ⋆ semantic Double-Negation translations ⋆ cut elimination O. Hermant (Mines) Double Negations June 2, 2014 3 / 37

  4. Theorem Proving What do we prove ? [Definition] Formula in Propositional Logic ◮ atomic formula: P , Q , · · · ◮ special constants: ⊥ , ⊤ ◮ assume A , B are formulæ: A ∧ B , A ∨ B , A ⇒ B , ¬ A Example: P ⇒ Q , P ∧ Q , Q ∨ ¬ Q , ⊥ ⇒ ( ¬⊥ ) , · · · O. Hermant (Mines) Double Negations June 2, 2014 4 / 37

  5. Theorem Proving What do we prove ? [Definition] Formula in Propositional Logic ◮ atomic formula: P , Q , · · · ◮ special constants: ⊥ , ⊤ ◮ assume A , B are formulæ: A ∧ B , A ∨ B , A ⇒ B , ¬ A Example: P ⇒ Q , P ∧ Q , Q ∨ ¬ Q , ⊥ ⇒ ( ¬⊥ ) , · · · [Definition] Formula in First-order Logic ◮ atomic formula: P ( t ) , Q ( t , u ) , · · · ◮ connectives ∧ , ∨ , ⇒ , ¬ , ⊥ , ⊤ ◮ quantifiers ∀ and ∃ . Assume A is a formula and x a variable: ∀ xA , ∃ xA ◮ new category: terms (denoted a , b , c , t , u ) and variables ( x , y ). Example: f ( x ) , g ( f ( c ) , g ( a , c )) , · · · ◮ Example: ( ∀ xP ( x )) ⇒ P ( f ( a )) , ∃ y ( D ( y ) ⇒ ∀ xD ( x )) O. Hermant (Mines) Double Negations June 2, 2014 4 / 37

  6. Theorem Proving What do we prove ? – Part 2 ◮ a theorem/specification is usually formulated as: assume A, B and C. Then D follows . O. Hermant (Mines) Double Negations June 2, 2014 5 / 37

  7. Theorem Proving What do we prove ? – Part 2 ◮ a theorem/specification is usually formulated as: assume A, B and C. Then D follows . [Definition] Sequent A sequent is a set of formulæ A 1 , · · · , A n (the assumptions) denoted Γ , together with a formula B (the conclusion). Notation: Γ ⊢ B O. Hermant (Mines) Double Negations June 2, 2014 5 / 37

  8. Theorem Proving What do we prove ? – Part 2 ◮ a theorem/specification is usually formulated as: assume A, B and C. Then D follows . [Definition] Sequent A sequent is a set of formulæ A 1 , · · · , A n (the assumptions) denoted Γ , together with a formula B (the conclusion). Notation: Γ ⊢ B ◮ examples: ⋆ A ⊢ A is a (hopefully provable) sequent ⋆ P ( a ) ⊢ ∀ xP ( x ) is a (hopefully unprovable) sequent ⋆ A , B ⊢ A ∧ B , A ⊢ , A ⊢ ⊥ O. Hermant (Mines) Double Negations June 2, 2014 5 / 37

  9. Theorem Proving What do we prove ? – Part 2 ◮ a theorem/specification is usually formulated as: assume A, B and C. Then D follows . [Definition] Sequent A sequent is a set of formulæ A 1 , · · · , A n (the assumptions) denoted Γ , together with a formula B (the conclusion). Notation: Γ ⊢ B ◮ examples: ⋆ A ⊢ A is a (hopefully provable) sequent ⋆ P ( a ) ⊢ ∀ xP ( x ) is a (hopefully unprovable) sequent ⋆ A , B ⊢ A ∧ B , A ⊢ , A ⊢ ⊥ ◮ classical logic needs multiconclusion sequent [Definition] Classical Sequent A classical sequent is a pair of sets of formulæ, denoted Γ ⊢ ∆ ⋆ the sequent A , B ⊢ C , D must be understood as: Assume A and B. Then C or D O. Hermant (Mines) Double Negations June 2, 2014 5 / 37

  10. Theorem Proving How do we prove ? ◮ we have the formulæ and the statements (sequents), let’s prove them ◮ many proof systems (even for classical FOL) ◮ today: sequent calculus (Gentzen (1933)) O. Hermant (Mines) Double Negations June 2, 2014 6 / 37

  11. Theorem Proving How do we prove ? ◮ we have the formulæ and the statements (sequents), let’s prove them ◮ many proof systems (even for classical FOL) ◮ today: sequent calculus (Gentzen (1933)) The shape of rules: premiss/antecedent ↑ read this way, please premiss/antecedent conclusion/consequent ◮ in order for the consequent to hold · · · ◮ · · · we must show that the antecedent(s) hold Endless process ? O. Hermant (Mines) Double Negations June 2, 2014 6 / 37

  12. Theorem Proving How do we prove ? ◮ we have the formulæ and the statements (sequents), let’s prove them ◮ many proof systems (even for classical FOL) ◮ today: sequent calculus (Gentzen (1933)) The shape of rules: premiss/antecedent ↑ read this way, please premiss/antecedent conclusion/consequent ◮ in order for the consequent to hold · · · ◮ · · · we must show that the antecedent(s) hold Endless process ? The axiom rule The ⇒ R rule A ⊢ B ax ⇒ R A ⊢ A ⊢ A ⇒ B O. Hermant (Mines) Double Negations June 2, 2014 6 / 37

  13. Theorem Proving How do we prove ? ◮ we have the formulæ and the statements (sequents), let’s prove them ◮ many proof systems (even for classical FOL) ◮ today: sequent calculus (Gentzen (1933)) The shape of rules: premiss/antecedent ↑ read this way, please premiss/antecedent conclusion/consequent ◮ in order for the consequent to hold · · · ◮ · · · we must show that the antecedent(s) hold Endless process ? The axiom rule The ⇒ R rule A ⊢ B ax ⇒ R A ⊢ A ⊢ A ⇒ B ax A ⊢ A ◮ First example of proof: ⇒ R ⊢ A ⇒ A O. Hermant (Mines) Double Negations June 2, 2014 6 / 37

  14. Theorem Proving How do we prove ? ◮ we have the formulæ and the statements (sequents), let’s prove them ◮ many proof systems (even for classical FOL) ◮ today: sequent calculus (Gentzen (1933)) The shape of rules: premiss/antecedent ↑ read this way, please premiss/antecedent conclusion/consequent ◮ in order for the consequent to hold · · · ◮ · · · we must show that the antecedent(s) hold Endless process ? The real axiom rule The real ⇒ R rule Γ , A ⊢ B , ∆ ax ⇒ R Γ , A ⊢ A , ∆ Γ ⊢ A ⇒ B , ∆ ax A ⊢ A ◮ First example of proof: ⇒ R ⊢ A ⇒ A O. Hermant (Mines) Double Negations June 2, 2014 6 / 37

  15. The Classical Sequent Calculus (LK) ax Γ , A ⊢ A , ∆ Γ , A , B ⊢ ∆ Γ ⊢ A , ∆ Γ ⊢ B , ∆ ∧ R ∧ L Γ , A ∧ B ⊢ ∆ Γ ⊢ A ∧ B , ∆ Γ , A ⊢ ∆ Γ , B ⊢ ∆ ∨ L Γ ⊢ A , B , ∆ ∨ R Γ , A ∨ B ⊢ ∆ Γ ⊢ A ∨ B , ∆ Γ ⊢ A , ∆ Γ , B ⊢ ∆ ⇒ L Γ , A ⊢ B , ∆ ⇒ R Γ , A ⇒ B ⊢ ∆ Γ ⊢ A ⇒ B , ∆ Γ ⊢ A , ∆ Γ , A ⊢ ∆ ¬ L ¬ R Γ , ¬ A ⊢ ∆ Γ ⊢ ¬ A , ∆ Γ , A [ c / x ] ⊢ ∆ ∃ L Γ ⊢ A [ t / x ] , ∆ ∃ R Γ , ∃ xA ⊢ ∆ Γ ⊢ ∃ xA , ∆ Γ , A [ t / x ] ⊢ ∆ ∀ L Γ ⊢ A [ c / x ] , ∆ ∀ R Γ , ∀ xA ⊢ ∆ Γ ⊢ ∀ xA , ∆ O. Hermant (Mines) Double Negations June 2, 2014 7 / 37

  16. Basic Examples ◮ commutativity of the conjunction: A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  17. Basic Examples ◮ commutativity of the conjunction: A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  18. Basic Examples ◮ commutativity of the conjunction: A , B ⊢ B A , B ⊢ A ∧ R A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  19. Basic Examples ◮ commutativity of the conjunction: ax A , B ⊢ B A , B ⊢ A ∧ R A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  20. Basic Examples ◮ commutativity of the conjunction: ax A , B ⊢ B ax A , B ⊢ A ∧ R A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  21. Basic Examples ◮ commutativity of the conjunction: ax A , B ⊢ B ax A , B ⊢ A ∧ R A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A ◮ an alternative proof: A ∧ B ⊢ A ∧ R A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  22. Basic Examples ◮ commutativity of the conjunction: ax A , B ⊢ B ax A , B ⊢ A ∧ R A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A ◮ an alternative proof: ax A , B ⊢ A ∧ L A ∧ B ⊢ A ∧ R A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

  23. Basic Examples ◮ commutativity of the conjunction: ax A , B ⊢ B ax A , B ⊢ A ∧ R A , B ⊢ B ∧ A ∧ L A ∧ B ⊢ B ∧ A ◮ an alternative proof: ax A , B ⊢ B ax A , B ⊢ A ∧ L A ∧ B ⊢ B ∧ L A ∧ B ⊢ A ∧ R A ∧ B ⊢ B ∧ A O. Hermant (Mines) Double Negations June 2, 2014 8 / 37

Recommend


More recommend