visual theorem proving with the incredible proof machine
play

Visual theorem proving with the Incredible Proof Machine The idea - PowerPoint PPT Presentation

Interactive Theorem Proving, Nancy August 22, 2016 Joachim Breitner Karlsruhe Institute of Technology University of Pennsylvania, Philadelphia Visual theorem proving with the Incredible Proof Machine The idea Theorem Proving without Syntax


  1. Interactive Theorem Proving, Nancy August 22, 2016 Joachim Breitner Karlsruhe Institute of Technology University of Pennsylvania, Philadelphia Visual theorem proving with the Incredible Proof Machine

  2. The idea

  3. Theorem Proving without Syntax Linearity Frustration

  4. Theorem Proving without Syntax Linearity Frustration

  5. Theorem Proving without Syntax Linearity Frustration

  6. Theorem Proving without Syntax Linearity Frustration

  7. What does not work? Pen & Paper Isabelle Coq

  8. What does not work? Pen & Paper Isabelle Coq

  9. What does not work? Pen & Paper Isabelle Coq

  10. What does not work? Pen & Paper Isabelle Coq

  11. A new proof presentation Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines producing conclusions from assumptions

  12. A new proof presentation Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines producing conclusions from assumptions

  13. A new proof presentation Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines producing conclusions from assumptions

  14. The Incredible Proof Machine

  15. A simple proof (uncurrying implication) A→(B→C) A→(B→C) → B→C → C C A B A∧B ∧ A∧B

  16. X Y → X→Y A → A→A A→A B B → B→Y₂ Local hypotheses

  17. A → A→A A→A B B → B→Y₂ Local hypotheses X Y → X→Y

  18. B B → B→Y₂ Local hypotheses X Y → X→Y A → A→A A→A

  19. Local hypotheses X Y → X→Y A → A→A A→A B B → B→Y₂

  20. Scopes

  21. Scopes • Every input port defines a scope : A block is in the scope of an input port iff it is post-dominated by that port. ·∨ A ∧ C (A∨B)∧C (A ∧ C) ∨ (B ∧ C) ∧ (A ∨ B) ∧ C A C ∨ A ∨ B ∧ B ∧ (A ∧ C) ∨ (B ∧ C) C B ∧ C ∨·

  22. Scopes • Every input port defines a scope : A block is in the scope of an input port iff it is post-dominated by that port. ·∨ A ∧ C (A∨B)∧C (A ∧ C) ∨ (B ∧ C) ∧ (A ∨ B) ∧ C A C ∨ A ∨ B ∧ B ∧ (A ∧ C) ∨ (B ∧ C) C B ∧ C ∨·

  23. Scopes • Every input port defines a scope : A block is in the scope of an input port iff it is post-dominated by that port. ·∨ A ∧ C (A∨B)∧C (A ∧ C) ∨ (B ∧ C) ∧ (A ∨ B) ∧ C A C ∨ A ∨ B ∧ B ∧ (A ∧ C) ∨ (B ∧ C) C B ∧ C ∨·

  24. Scopes • Every input port defines a scope : A block is in the scope of an input port iff it is post-dominated by that port. • Each local hypothesis is assigned an input port, and may only be connected to that or a block in that port’s scope.

  25. Valid proof graphs are • Saturated all input ports are connected • Acyclic disregarding local hypotheses • Well-scoped all local hypotheses used correctly • and have a solution free variables instantiated so that the propositions at the end of a connection unify

  26. Predicate logic

  27. A proof with ∃ ∃x.P(x)∧Q(x) ∃ ∃x.P(x)∧Q(x) P(c₃) ∧ P(c₃)∧Q(c₃) ∃x.P(x) ∃ ∃x.P(x) ∃x.P(x)

  28. corresponds to Freshness side conditions Γ ⊢ ∃𝑦.𝑄(𝑦) Γ, 𝑄(𝑑) ⊢ 𝑅 𝑑 fresh in Γ, 𝑄, 𝑅 Γ ⊢ 𝑅 P(c) Q ∃ ∃x.P(x) Q

  29. Local constants • Are assigned an input port. • Are uniquely renamed per instance of an block. • Must not occur in the instantiation of a block outside the scope of the assigned input port.

  30. Possibly asked questions

  31. Show us your rules? What are your axioms? Whatever you want… The Incredible Proof Machine is a meta logic and configurably with simple YAML files. You can do propositional logic, predicate logic, Hilbert style proofs, STLC typing derviations.

  32. Show us your rules? What are your axioms? Whatever you want… The Incredible Proof Machine is a meta logic and configurably with simple YAML files. You can do propositional logic, predicate logic, Hilbert style proofs, STLC typing derviations.

  33. Show us your rules? What are your axioms? Whatever you want… The Incredible Proof Machine is a meta logic and configurably with simple YAML files. You can do propositional logic, predicate logic, Hilbert style proofs, STLC typing derviations.

  34. /isa-afp.org/entries/Incredible Proof Machine.shtml And that is sound? Complete? Yes it is. We modeled such proof graphs in Isabelle and proved it to be equivalent to natural deduction Joachim Breitner, Denis Lohner: The meta theory of the Incredible Proof Machine The Archive of Formal Proofs, Issue May, 2016, http:/

  35. /isa-afp.org/entries/Incredible Proof Machine.shtml And that is sound? Complete? Yes it is. We modeled such proof graphs in Isabelle and proved it to be equivalent to natural deduction Joachim Breitner, Denis Lohner: The meta theory of the Incredible Proof Machine The Archive of Formal Proofs, Issue May, 2016, http:/

  36. And that is sound? Complete? Yes it is. We modeled such proof graphs in Isabelle and proved it to be equivalent to natural deduction Joachim Breitner, Denis Lohner: The meta theory of the Incredible Proof Machine The Archive of Formal Proofs, Issue May, 2016, http:/ /isa-afp.org/entries/Incredible Proof Machine.shtml

  37. Can I introduce and use lemmas? Add definitions? Custom blocks (blocks that encapsulate partial proofs) serve as lemmas. Term-level definitions are not yet supported.

  38. Can I introduce and use lemmas? Add definitions? Custom blocks (blocks that encapsulate partial proofs) serve as lemmas. Term-level definitions are not yet supported.

  39. Take my money, I want it! Keep your money and just go to http:/ /incredible.pm/ The Incredible Proof Machine is Free Software and runs completely in the browser. So if you want to use it for your course, it is easy to modify and host!

  40. Take my money, I want it! Keep your money and just go to http:/ /incredible.pm/ The Incredible Proof Machine is Free Software and runs completely in the browser. So if you want to use it for your course, it is easy to modify and host!

  41. Conclusion

  42. The design space of non-linear non-textual interactive interfaces to theorem proving is still largely unexplored.

  43. Thank you for your attention.

Recommend


More recommend