SLIDE 1
Visual theorem proving with the Incredible Proof Machine The idea - - PowerPoint PPT Presentation
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
SLIDE 2
SLIDE 3
Theorem Proving
without
Syntax Linearity Frustration
SLIDE 4
Theorem Proving
without
Syntax Linearity Frustration
SLIDE 5
Theorem Proving
without
Syntax Linearity Frustration
SLIDE 6
Theorem Proving
without
Syntax Linearity Frustration
SLIDE 7
What does not work?
Pen & Paper Isabelle Coq
SLIDE 8
What does not work?
Pen & Paper Isabelle Coq
SLIDE 9
What does not work?
Pen & Paper Isabelle Coq
SLIDE 10
What does not work?
Pen & Paper Isabelle Coq
SLIDE 11
A new proof presentation
Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines
producing conclusions from assumptions
SLIDE 12
A new proof presentation
Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines
producing conclusions from assumptions
SLIDE 13
A new proof presentation
Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines
producing conclusions from assumptions
SLIDE 14
The Incredible Proof Machine
SLIDE 15
A simple proof
(uncurrying implication)
A→(B→C) A∧B C →
A→(B→C)
→
B→C
∧
A B A∧B C
SLIDE 16
Local hypotheses
→
X Y X→Y
A→A →
A→A A
B →
B B→Y₂
SLIDE 17
Local hypotheses
→
X Y X→Y
A→A →
A→A A
B →
B B→Y₂
SLIDE 18
Local hypotheses
→
X Y X→Y
A→A →
A→A A
B →
B B→Y₂
SLIDE 19
Local hypotheses
→
X Y X→Y
A→A →
A→A A
B →
B B→Y₂
SLIDE 20
Scopes
SLIDE 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∨B)∧C ∨ ∧
(A∨B)∧C A∨B
∧ ·∨
B∧C (A∧C)∨(B∧C) B
∨·
(A∧C)∨(B∧C)
∧
A∧C C A C
SLIDE 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∨B)∧C ∨ ∧
(A∨B)∧C A∨B
∧ ·∨
B∧C (A∧C)∨(B∧C) B
∨·
(A∧C)∨(B∧C)
∧
A∧C C A C
SLIDE 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∨B)∧C ∨ ∧
(A∨B)∧C A∨B
∧ ·∨
B∧C (A∧C)∨(B∧C) B
∨·
(A∧C)∨(B∧C)
∧
A∧C C A C
SLIDE 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
- r a block in that port’s scope.
SLIDE 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
- f a connection unify
SLIDE 26
Predicate logic
SLIDE 27
A proof with ∃
∃x.P(x)∧Q(x) ∃x.P(x) ∃
∃x.P(x)∧Q(x)
∧ ∃
P(c₃) ∃x.P(x) P(c₃)∧Q(c₃) ∃x.P(x)
SLIDE 28
Freshness side conditions
∃
P(c) ∃x.P(x) Q Q
corresponds to Γ ⊢ ∃𝑦.𝑄(𝑦) Γ, 𝑄(𝑑) ⊢ 𝑅 𝑑 fresh in Γ, 𝑄, 𝑅 Γ ⊢ 𝑅
SLIDE 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.
SLIDE 30
Possibly asked questions
SLIDE 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.
SLIDE 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.
SLIDE 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.
SLIDE 34
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
SLIDE 35
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
SLIDE 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
SLIDE 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.
SLIDE 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.
SLIDE 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!
SLIDE 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!
SLIDE 41
Conclusion
SLIDE 42
The design space of
non-linear non-textual interactive
interfaces to theorem proving is still largely unexplored.
SLIDE 43