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

visual theorem proving with the incredible proof machine
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Visual theorem proving with the Incredible Proof Machine

Interactive Theorem Proving, Nancy August 22, 2016

Joachim Breitner

Karlsruhe Institute of Technology University of Pennsylvania, Philadelphia

slide-2
SLIDE 2

The idea

slide-3
SLIDE 3

Theorem Proving

without

Syntax Linearity Frustration

slide-4
SLIDE 4

Theorem Proving

without

Syntax Linearity Frustration

slide-5
SLIDE 5

Theorem Proving

without

Syntax Linearity Frustration

slide-6
SLIDE 6

Theorem Proving

without

Syntax Linearity Frustration

slide-7
SLIDE 7

What does not work?

Pen & Paper Isabelle Coq

slide-8
SLIDE 8

What does not work?

Pen & Paper Isabelle Coq

slide-9
SLIDE 9

What does not work?

Pen & Paper Isabelle Coq

slide-10
SLIDE 10

What does not work?

Pen & Paper Isabelle Coq

slide-11
SLIDE 11

A new proof presentation

Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines

producing conclusions from assumptions

slide-12
SLIDE 12

A new proof presentation

Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines

producing conclusions from assumptions

slide-13
SLIDE 13

A new proof presentation

Propositions on Conveyer Belts Proofs as Assembly Lines Proof rules as Machines

producing conclusions from assumptions

slide-14
SLIDE 14

The Incredible Proof Machine

slide-15
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
SLIDE 16

Local hypotheses

X Y X→Y

A→A →

A→A A

B →

B B→Y₂

slide-17
SLIDE 17

Local hypotheses

X Y X→Y

A→A →

A→A A

B →

B B→Y₂

slide-18
SLIDE 18

Local hypotheses

X Y X→Y

A→A →

A→A A

B →

B B→Y₂

slide-19
SLIDE 19

Local hypotheses

X Y X→Y

A→A →

A→A A

B →

B B→Y₂

slide-20
SLIDE 20

Scopes

slide-21
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
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
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
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
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
SLIDE 26

Predicate logic

slide-27
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
SLIDE 28

Freshness side conditions

P(c) ∃x.P(x) Q Q

corresponds to Γ ⊢ ∃𝑦.𝑄(𝑦) Γ, 𝑄(𝑑) ⊢ 𝑅 𝑑 fresh in Γ, 𝑄, 𝑅 Γ ⊢ 𝑅

slide-29
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
SLIDE 30

Possibly asked questions

slide-31
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
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
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
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
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
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
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
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
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
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
SLIDE 41

Conclusion

slide-42
SLIDE 42

The design space of

non-linear non-textual interactive

interfaces to theorem proving is still largely unexplored.

slide-43
SLIDE 43

Thank you for your attention.