Satallax, possibly higher-order set theoryarg.ciirc.cvut.cz/slides/2015-cebrownpragueslides.pdf ·...
Transcript of Satallax, possibly higher-order set theoryarg.ciirc.cvut.cz/slides/2015-cebrownpragueslides.pdf ·...
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax, possibly higher-order set theory
Chad E. Brown
November 2015
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Outline
Before the Introduction
Introduction
Higher Order Tableau
Higher-Order Example
The Other Levels
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments (Documents/Articles/Theories)
Interactive Proof ConstructionImport from the Library
Populate the Library
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments (Documents/Articles/Theories)
Interactive Proof ConstructionImport from the Library
Populate the Library
Automation
Fill Gaps in Interactive Proofs
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments (Documents/Articles/Theories)
Interactive Proof ConstructionImport from the Library
Populate the Library
Automation
Fill Gaps in Interactive Proofs
Satallax
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments (Documents/Articles/Theories)
Interactive Proof ConstructionImport from the Library
Populate the Library
Automation
Fill Gaps in Interactive Proofs
Satallax
Egal
Egal
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Outline
Before the Introduction
Introduction
Higher Order Tableau
Higher-Order Example
The Other Levels
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax
◮ Automated theorem prover for
extensional higher-order logic with choice
◮ Instantiation Based
◮ Open Source
Alt version already: Satallax-MaLeS (Kuhlwein)
◮ First and/or Second in THF Division of CASC since2011.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax
◮ Objective Caml
◮ Foreign Function Interface to MiniSat (Een, Sorensson2003) (C++)
◮ Incremental Use of MiniSat
◮ Optional use of first-order prover E
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: The General Idea
◮ Goal: Show a set of assumptions A is unsatisfiable.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: The General Idea
◮ Goal: Show a set of assumptions A is unsatisfiable.
◮ Initialize: Create a state ΣA.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: The General Idea
◮ Goal: Show a set of assumptions A is unsatisfiable.
◮ Initialize: Create a state ΣA.
◮ Search: ΣA → Σ1 → Σ2 → · · ·
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: The General Idea
◮ Goal: Show a set of assumptions A is unsatisfiable.
◮ Initialize: Create a state ΣA.
◮ Search: ΣA → Σ1 → Σ2 → · · ·
◮ Associate states with sets of propositional clauses:
CΣA ⊆ C
Σ1 ⊆ CΣ2 ⊆ · · ·
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: The General Idea
◮ Goal: Show a set of assumptions A is unsatisfiable.
◮ Initialize: Create a state ΣA.
◮ Search: ΣA → Σ1 → Σ2 → · · ·
◮ Associate states with sets of propositional clauses:
CΣA ⊆ C
Σ1 ⊆ CΣ2 ⊆ · · ·
◮ Soundness: CΣn propositionally unsat. ⇒ A is unsat.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: The General Idea
◮ Goal: Show a set of assumptions A is unsatisfiable.
◮ Initialize: Create a state ΣA.
◮ Search: ΣA → Σ1 → Σ2 → · · ·
◮ Associate states with sets of propositional clauses:
CΣA ⊆ C
Σ1 ⊆ CΣ2 ⊆ · · ·
◮ Soundness: CΣn propositionally unsat. ⇒ A is unsat.
◮ Completeness: A is unsat. ⇒ a fair search leads tosuch a propositional unsatisisfiable state Σn.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax: Theoretical Basis
◮ Directed, Cut-Free, Ground Tableau System for HOL(Brown, Smolka [LMCS 2010])
◮ Extended to include Choice (Backes, Brown[2010-2011])
◮ Restricted Instantiations
◮ “Satisfiability” = Henkin Satisfiability (Sparse Function
Spaces)
◮ Tableau Refutability Sound and Complete
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example
Assume ∀x .x = b and prove (¬pb → pa) → pb.
Refute a “branch” with two formulas:
◮ ∀x .x = b
◮ ¬((¬pb → pa) → pb).
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Tableau Refutation
∀x .x = b
¬((¬pb → pa) → pb)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Tableau Refutation
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Tableau Refutation
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Tableau Refutation
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Tableau Refutation
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
a 6= b
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Tableau Refutation
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
a 6= b
a = b
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Satallax Refutation
◮ 1 ∀x .x = b
◮ 2 (¬pb → pa) → pb
MiniSat Clauses
[1][−2]
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Satallax Refutation
◮ 1 ∀x .x = b
◮ 2 (¬pb → pa) → pb
◮ 3 ¬pb → pa
◮ 4 pb
MiniSat Clauses
[1][−2][2 ⊔ 3][2 ⊔ −4]
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Satallax Refutation
◮ 1 ∀x .x = b
◮ 2 (¬pb → pa) → pb
◮ 3 ¬pb → pa
◮ 4 pb
◮ 5 pa
MiniSat Clauses
[1][−2][2 ⊔ 3][2 ⊔ −4]
[−3 ⊔ 4 ⊔ 5]
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Satallax Refutation
◮ 1 ∀x .x = b
◮ 2 (¬pb → pa) → pb
◮ 3 ¬pb → pa
◮ 4 pb
◮ 5 pa
◮ 6 a = b
MiniSat Clauses
[1][−2][2 ⊔ 3][2 ⊔ −4]
[−3 ⊔ 4 ⊔ 5][4 ⊔ −5 ⊔ −6]
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example: Satallax Refutation
◮ 1 ∀x .x = b
◮ 2 (¬pb → pa) → pb
◮ 3 ¬pb → pa
◮ 4 pb
◮ 5 pa
◮ 6 a = b
◮ Unsatisfiable
MiniSat Clauses
[1][−2][2 ⊔ 3][2 ⊔ −4]
[−3 ⊔ 4 ⊔ 5][4 ⊔ −5 ⊔ −6]
[−1 ⊔ 6]
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Outline
Before the Introduction
Introduction
Higher Order Tableau
Higher-Order Example
The Other Levels
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Branches
We write [s] for the βη-normal form of s.A branch is a finite set of normal formulas (conjunctive)
B = {s1, . . . , sn}
◮ A branch B is closed if ⊥ ∈ B .
◮ A branch B is open if it is not closed.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau
Brown, Smolka [LMCS 2010]Tableau calculus inductively defines the set of refutablebranches.Complete for Henkin models without Choice
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau
Brown, Smolka [LMCS 2010]A few unsurprising rules...
T¬s, ¬s
⊥T 6=
s 6=ι s
⊥T→
s → t
¬s | t
T¬→
¬(s → t)
s,¬t
T∀∀αs
[st]t : α T¬∀
¬∀αs
¬[sx ]x ∈ Vα fresh
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau
Brown, Smolka [LMCS 2010]Mating and decomposition...
Tmatδs , ¬δt
s 6= tTdec
δs 6=ι δt
s 6= t
δ a variable (also, for arity > 1)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau
Brown, Smolka [LMCS 2010]...and more rules...extensionality, equality
Tcons =ι t , u 6=ι v
s 6= u , t 6= u | s 6= v , t 6= vTbe
s 6=o t
s , ¬t | ¬s , t
Tbqs =o t
s , t | ¬s , ¬t
Tfes 6=αβ t
¬[∀x .sx = tx ]x /∈ Vs ∪ Vt
Tfqs =αβ t
[∀x .sx = tx ]x /∈ Vs ∪ Vt
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Restrictions on Instantiations
T∀∀αs
[st]t ∈ U
α
Restrict instantiations in the T∀ rule based to Uα on thetype:
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Restrictions on Instantiations
T∀∀αs
[st]t ∈ U
α
Restrict instantiations in the T∀ rule based to Uα on thetype:
Uι Only terms s occurring as s 6= t or t 6= s on branch.If there are none, use some arbitrary “default” term oftype ιFinitely many!
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Restrictions on Instantiations
T∀∀αs
[st]t ∈ U
α
Restrict instantiations in the T∀ rule based to Uα on thetype:
Uι Only terms s occurring as s 6= t or t 6= s on branch.If there are none, use some arbitrary “default” term oftype ιFinitely many!
Uo Only ⊥ and ¬⊥ (false and true)Finitely many!
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Restrictions on Instantiations
T∀∀αs
[st]t ∈ U
α
Restrict instantiations in the T∀ rule based to Uα on thetype:
Uι Only terms s occurring as s 6= t or t 6= s on branch.If there are none, use some arbitrary “default” term oftype ιFinitely many!
Uo Only ⊥ and ¬⊥ (false and true)Finitely many!
Uαβ Only normal terms using variables free on the branchInfinitely many, of course.
If only quantifiers at o and ι, the procedure sometimesterminates.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
Rule used:
T¬→
¬(s → t)
s,¬t
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pbpa
Rule used:
T→s → t
¬s | t
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
Left branch is closed.
T¬s, ¬s
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
Rule used:
Tmatδs , ¬δt
s 6= t
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
a 6= b
Rule used:
Tmatδs , ¬δt
s 6= t
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
a 6= b
Note a, b ∈ Uι since a 6= b is on the branch.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
a 6= b
a = b
Note a, b ∈ Uι since a 6= b is on the branch.Rule used:
T∀∀αs
[st]t ∈ U
α
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Simple Example Revisited
∀x .x = b
¬((¬pb → pa) → pb)¬pb → pa
¬pb
¬¬pb⊥
pa
a 6= b
a = b
⊥
Right branch is closed.
T¬s, ¬s
⊥
Refutation complete
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Adding Choice Operators
New Logical Constants:
◮ For each type α, εα has type (αo)α.
◮ εαp is an element such that p(εαp) if such an elementexists.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau with ChoiceExtended to include Choice (Backes, Brown [2010-2011])
◮ Extend Mating and Decomposition to allow for ε.
Tmatεs , ¬εt
s 6= tTdec
εs 6=ι εt
s 6= t
(also for arity > 1)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau with ChoiceExtended to include Choice (Backes, Brown [2010-2011])
◮ Extend Mating and Decomposition to allow for ε.
Tmatεs , ¬εt
s 6= tTdec
εs 6=ι εt
s 6= t
(also for arity > 1)◮ Add (restricted) choice rule.
Tε[∀x .¬(sx)] | [s(εs)]
εs accessible, x /∈ Vs
When is εαs accessible? Depends on α:
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau with ChoiceExtended to include Choice (Backes, Brown [2010-2011])
◮ Extend Mating and Decomposition to allow for ε.
Tmatεs , ¬εt
s 6= tTdec
εs 6=ι εt
s 6= t
(also for arity > 1)◮ Add (restricted) choice rule.
Tε[∀x .¬(sx)] | [s(εs)]
εs accessible, x /∈ Vs
When is εαs accessible? Depends on α:
ι: εs 6=ι t or t 6=ι εs on the branch
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau with ChoiceExtended to include Choice (Backes, Brown [2010-2011])
◮ Extend Mating and Decomposition to allow for ε.
Tmatεs , ¬εt
s 6= tTdec
εs 6=ι εt
s 6= t
(also for arity > 1)◮ Add (restricted) choice rule.
Tε[∀x .¬(sx)] | [s(εs)]
εs accessible, x /∈ Vs
When is εαs accessible? Depends on α:
ι: εs 6=ι t or t 6=ι εs on the branch
α1 · · ·αnι: (εs)u1 · · · un 6=ι t on the branch
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau with ChoiceExtended to include Choice (Backes, Brown [2010-2011])
◮ Extend Mating and Decomposition to allow for ε.
Tmatεs , ¬εt
s 6= tTdec
εs 6=ι εt
s 6= t
(also for arity > 1)◮ Add (restricted) choice rule.
Tε[∀x .¬(sx)] | [s(εs)]
εs accessible, x /∈ Vs
When is εαs accessible? Depends on α:
ι: εs 6=ι t or t 6=ι εs on the branch
α1 · · ·αnι: (εs)u1 · · · un 6=ι t on the branch
o: εs or ¬εs on the branch
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher Order Tableau with ChoiceExtended to include Choice (Backes, Brown [2010-2011])
◮ Extend Mating and Decomposition to allow for ε.
Tmatεs , ¬εt
s 6= tTdec
εs 6=ι εt
s 6= t
(also for arity > 1)◮ Add (restricted) choice rule.
Tε[∀x .¬(sx)] | [s(εs)]
εs accessible, x /∈ Vs
When is εαs accessible? Depends on α:
ι: εs 6=ι t or t 6=ι εs on the branch
α1 · · ·αnι: (εs)u1 · · · un 6=ι t on the branch
o: εs or ¬εs on the branch
α1 · · ·αno: (εs)u1 · · · un or its negation on the branch
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Outline
Before the Introduction
Introduction
Higher Order Tableau
Higher-Order Example
The Other Levels
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Epsilon Induction
Axiom of ∈-Induction (Foundation):∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxTheorem: ∀x .x 6∈ x
Proof:
Use λx .x 6∈ x for P in ∈-Induction.
Prove ∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x .Assume IH: ∀y .y ∈ x → y 6∈ y . Prove x 6∈ x .
Assume x ∈ x .
Use x for y : x ∈ x → x 6∈ x .
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Epsilon Induction
Axiom of ∈-Induction (Foundation):∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxTheorem: ∀x .x 6∈ x
Proof:
Use λx .x 6∈ x for P in ∈-Induction.
Prove ∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x .Assume IH: ∀y .y ∈ x → y 6∈ y . Prove x 6∈ x .
Assume x ∈ x .
Use x for y : x ∈ x → x 6∈ x .
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Epsilon Induction
Axiom of ∈-Induction (Foundation):∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxTheorem: ∀x .x 6∈ x
Proof:
Use λx .x 6∈ x for P in ∈-Induction.
Prove ∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x .Assume IH: ∀y .y ∈ x → y 6∈ y . Prove x 6∈ x .
Assume x ∈ x .
Use x for y : x ∈ x → x 6∈ x .
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Epsilon Induction
Axiom of ∈-Induction (Foundation):∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxTheorem: ∀x .x 6∈ x
Proof:
Use λx .x 6∈ x for P in ∈-Induction.
Prove ∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x .Assume IH: ∀y .y ∈ x → y 6∈ y . Prove x 6∈ x .
Assume x ∈ x .
Use x for y : x ∈ x → x 6∈ x . Contradiction.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a a 6∈ a
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a a 6∈ a
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a a 6∈ a
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a a 6∈ a
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a a 6∈ a
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a a 6∈ a
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Tableau Refutation of Example
¬∀x .x 6∈ x
∀P .(∀x .(∀y .y ∈ x → Py) → Px) → ∀x .PxP := λx .x 6∈ x
(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x) → ∀x .x 6∈ x
¬(∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x)¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
∀y .y ∈ a → y 6∈ y
a ∈ a
y := a
a ∈ a → a 6∈ a
a 6∈ a
⊥a 6∈ a
⊥
∀x .x 6∈ x
⊥
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Example
Idea: Generate
◮ Formulas,
◮ Instantiation Terms, and
◮ Propositional Clauses
Success when Propositional Clauses are Unsatisfiable
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
[4 ⊔ −5]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x◮ Fresh Witness a for -4◮ -5 ¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
[4 ⊔ −5][5 ⊔ 6][5 ⊔ 7]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x◮ Fresh Witness a for -4◮ -5 ¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)◮ 6 ∀y .y ∈ a → y 6∈ y◮ 7 a ∈ a
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
[4 ⊔ −5][5 ⊔ 6][5 ⊔ 7]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x◮ Fresh Witness a for -4◮ -5 ¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)◮ 6 ∀y .y ∈ a → y 6∈ y◮ 7 a ∈ a◮ Instantiation a. Use in 6
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
[4 ⊔ −5][5 ⊔ 6][5 ⊔ 7][−6 ⊔ 8]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x◮ Fresh Witness a for -4◮ -5 ¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)◮ 6 ∀y .y ∈ a → y 6∈ y◮ 7 a ∈ a◮ Instantiation a. Use in 6◮ 8 a ∈ a → a 6∈ a
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
[4 ⊔ −5][5 ⊔ 6][5 ⊔ 7][−6 ⊔ 8]
[−8 ⊔ −7 ⊔ −7]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x◮ Fresh Witness a for -4◮ -5 ¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)◮ 6 ∀y .y ∈ a → y 6∈ y◮ 7 a ∈ a◮ Instantiation a. Use in 6◮ 8 a ∈ a → a 6∈ a◮ -7 a 6∈ a
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Satallax Refutation of Termination Example
MiniSat Clauses
[1][−2]
[−1 ⊔ 3][−3 ⊔ −4 ⊔ 2]
[4 ⊔ −5][5 ⊔ 6][5 ⊔ 7][−6 ⊔ 8]
[−8 ⊔ −7 ⊔ −7]
◮ 1 ∈-Induction◮ -2 ¬∀x .x 6∈ x◮ Generate Instantiation λx .x 6∈ x◮ Use in 1◮ 3 ∈-Induction with P := λx .x 6∈ x .◮ -4 ¬∀x .(∀y .y ∈ x → y 6∈ y) → x 6∈ x◮ 2 ∀x .x 6∈ x◮ Fresh Witness a for -4◮ -5 ¬((∀y .y ∈ a → y 6∈ y) → a 6∈ a)◮ 6 ∀y .y ∈ a → y 6∈ y◮ 7 a ∈ a◮ Instantiation a. Use in 6◮ 8 a ∈ a → a 6∈ a◮ -7 a 6∈ a◮ Propositional Clauses Unsatisfiable
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Outline
Before the Introduction
Introduction
Higher Order Tableau
Higher-Order Example
The Other Levels
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments (Documents/Articles/Theories)
Interactive Proof ConstructionImport from the Library
Populate the Library
Automation
Fill Gaps in Interactive Proofs
Satallax
Egal
Egal
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Foundation
◮ Higher-Order Tarski Grothendieck Set Theory
◮ (Very) Simple Type Theory with Choice◮ No polymorphism, no product types, etc.◮ The kind of logic Satallax targets◮ Curry-Howard proof terms (simple proof checker)
◮ Set Theory Axioms: Extensionality, ∈-Induction, EmptySet, Unions, Power Sets, Replacement, Universes
◮ The systems with big libraries can translate into it.
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher-Order Tarski Grothendieck
◮ No schemes (finitely many axioms)
◮ ∈-Induction (Higher-Order):
∀P : ιo.(∀x .(∀y ∈ x → Py) → Px) → ∀x .Px
◮ Implies Regularity: ∀x .x 6= ∅ → ∃y ∈ x .x ∩ y = ∅
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher-Order Tarski Grothendieck
◮ No schemes (finitely many axioms)
◮ ∈-Induction (Higher-Order):
∀P : ιo.(∀x .(∀y ∈ x → Py) → Px) → ∀x .Px
◮ Implies Regularity: ∀x .x 6= ∅ → ∃y ∈ x .x ∩ y = ∅
◮ Replacement (Higher-Order): replAF for {Fx |x ∈ A}
∀F : ιι.∀y .y ∈ {Fx |x ∈ A} ↔ ∃x ∈ A.y = Fx
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher-Order Tarski Grothendieck
◮ No schemes (finitely many axioms)
◮ ∈-Induction (Higher-Order):
∀P : ιo.(∀x .(∀y ∈ x → Py) → Px) → ∀x .Px
◮ Implies Regularity: ∀x .x 6= ∅ → ∃y ∈ x .x ∩ y = ∅
◮ Replacement (Higher-Order): replAF for {Fx |x ∈ A}
∀F : ιι.∀y .y ∈ {Fx |x ∈ A} ↔ ∃x ∈ A.y = Fx
◮ Grothendieck Universes: every N is in some U where U
is transitive, closed under unions, power sets andreplacement.
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Higher-Order Tarski Grothendieck
◮ No schemes (finitely many axioms)
◮ ∈-Induction (Higher-Order):
∀P : ιo.(∀x .(∀y ∈ x → Py) → Px) → ∀x .Px
◮ Implies Regularity: ∀x .x 6= ∅ → ∃y ∈ x .x ∩ y = ∅
◮ Replacement (Higher-Order): replAF for {Fx |x ∈ A}
∀F : ιι.∀y .y ∈ {Fx |x ∈ A} ↔ ∃x ∈ A.y = Fx
◮ Grothendieck Universes: every N is in some U where U
is transitive, closed under unions, power sets andreplacement.
◮ Claim: Grothendieck Universes imply Tarski’s Axiom A:every N is in some M such that
◮ X ∈ M and Y ⊆ X imply Y ∈ M◮ M is closed under power sets◮ X ⊆ M implies either X ∈ M or X has the same
“potency” as M
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Regarding Formalization of Mathematics
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments (Documents/Articles/Theories)
Interactive Proof ConstructionImport from the Library
Populate the Library
Automation
Fill Gaps in Interactive Proofs
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
Library (Theorems, Definitions)
Foundation (HO Tarski Grothendieck Set Theory)
Small Proof Checker (ensuring correctness)
Naming by Hashing (ensuring originality)
Developments
Interactive
Prover 1
· · ·Developments
Interactive
Prover n
Automation
Automated
Prover 1
· · ·Automation
Automated
Prover m
Satallax, possiblyhigher-order set
theory
Brown
Before theIntroduction
Introduction
Higher OrderTableau
Higher-OrderExample
The Other Levels
References
◮ Chad E. Brown. Reducing Higher-Order Theorem Proving to aSequence of SAT Problems.CADE 23. 2011. (JAR 2013)
◮ Julian Backes and Chad E. Brown. Analytic Tableaux for Higher-OrderLogic with Choice.
◮ Chad E. Brown and Gert Smolka. Analytic Tableaux for Simple TypeTheory and its First-Order Fragment.Logical Methods in Computer Science. Volume 6, Issue 2. 2010 Journalof Automated Reasoning 2011.
◮ Andreas Teucke. Translating a Satallax Refutation to a TableauRefutation Encoded in Coq.
◮ Chad E. Brown and Christine Rizkallah. From Classical ExtensionalHigher-Order Tableau to Intuitionistic Intentional Natural Deduction.Third International Workshop on Proof Exchange for Theorem Proving.June 2013
◮ Niklas Een, Niklas Sorensson. An Extensible SAT-solver.SAT 2003.
◮ Armin Biere. Picosat essentials.JSAT 2008.