15-819/18-879: hybrid systems analysis & theorem provingaplatzer/course/hsatp/04... · 2020. 6....
TRANSCRIPT
15-819/18-879: Hybrid Systems Analysis& Theorem Proving
04: Tableau Provers in Propositional and First-order Logic
Andre Platzer
Carnegie Mellon University, Pittsburgh, PA
0.20.4
0.60.8
1.00.1
0.2
0.3
0.4
0.5
Andre Platzer (CMU) 15-819/04: Tableau Proving 1 / 39
Outline
1 Propositional LogicTableau ProvingSoundnessCompleteness
1 First-order LogicHerbrand TheoryFirst-order Ground TableauxFree-Variable TableauxSoundnessCompleteness
Andre Platzer (CMU) 15-819/04: Tableau Proving 1 / 39
Outline
1 Propositional LogicTableau ProvingSoundnessCompleteness
1 First-order LogicHerbrand TheoryFirst-order Ground TableauxFree-Variable TableauxSoundnessCompleteness
Andre Platzer (CMU) 15-819/04: Tableau Proving 1 / 39
Deciding/Analyzing Validity of PL0
Proposition
Validity and satisfiability for propositional logic are decidable (byexhaustive enumeration) in exponential time.
Enumeration of interpretations does not scale
Enumeration of interpretations is more tricky to generalize to FOL
Andre Platzer (CMU) 15-819/04: Tableau Proving 2 / 39
Deciding/Analyzing Validity of PL0
Proposition
Validity and satisfiability for propositional logic are decidable (byexhaustive enumeration) in exponential time.
Enumeration of interpretations does not scale
Enumeration of interpretations is more tricky to generalize to FOL
Andre Platzer (CMU) 15-819/04: Tableau Proving 2 / 39
Deciding/Analyzing Validity of PL0
Proposition
Validity and satisfiability for propositional logic are decidable (byexhaustive enumeration) in exponential time.
Enumeration of interpretations does not scale
Enumeration of interpretations is more tricky to generalize to FOL
Andre Platzer (CMU) 15-819/04: Tableau Proving 2 / 39
Intuitive Approach
Example for an unsatisfiable PL0 formula?
(A ∧ B → C ) ∧ ¬(B → C ∨ ¬A)
Andre Platzer (CMU) 15-819/04: Tableau Proving 3 / 39
Intuitive Approach
Example for an unsatisfiable PL0 formula?
(A ∧ B → C ) ∧ ¬(B → C ∨ ¬A)
Andre Platzer (CMU) 15-819/04: Tableau Proving 3 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
A
A
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
“Systematically keep track of truth in tables”
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Propositional Tableaux
analytic tableaux with subformula property
¬¬A
AA
α-rules
A ∧ B
AB
¬(A ∨ B)
¬A¬B
¬(A→ B)
A¬B
β-rules
A ∨ B
A B
¬(A ∧ B)
¬A ¬B
A→ B
¬A B
uniform
α
α1
α2
β
β1 β2
Andre Platzer (CMU) 15-819/04: Tableau Proving 4 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 5 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 5 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 5 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 5 / 39
Propositional Tableaux - Formally
Definition (Tableaux)
A binary tree with PL0 formulas as nodes is a tableau for formula F :
1 The tree consisting only of a node labelled ¬F is a tableau.
2 Let G be the label of a node on some path π in a tableau T for F . IfG is of the form of an α-premiss, then when extending π by two newnodes labelled with the α-conclusions, we obtain tableau T2.
3 Let G be the label of a node on some path π in a tableau T for F . IfG is of the form of a β-premiss, then when extending π by a branchto two new leaves labelled with the β-conclusions, we obtain atableau T2.
Andre Platzer (CMU) 15-819/04: Tableau Proving 6 / 39
Tableau Path Closing
path closure
P
¬P
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 7 / 39
Tableau Path Closing
path closure
P
¬P
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 7 / 39
Provability
Definition (Provability)
A path is closed iff it contains nodes labelled G and ¬G for anyformula G .
A tableau is closed iff all its paths are closed.
Formula F is provable (by propositional tableaux) iff there is a closedtableau for ¬FNotation: `tabPL0 F
Andre Platzer (CMU) 15-819/04: Tableau Proving 8 / 39
Tableau Proving Example
Example
A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ) is valid?
Andre Platzer (CMU) 15-819/04: Tableau Proving 9 / 39
¬
(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
¬(A ∨ (B ∧ C )→ (A ∨ B) ∧ (A ∨ C ))
A ∨ (B ∧ C )
¬((A ∨ B) ∧ (A ∨ C ))
A
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
B ∧ C
B
C
¬(A ∨ B)
¬A
¬B
∗
¬(A ∨ C )
¬A
¬C
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 10 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Definition
An interpretation I is a model of tableau T iff there is a branch on which Isatisfies all formulas.
Closed tableaux cannot have models.
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: having a model transfers from eachnode to its children Check rules
There is no closed tableau for F .
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: having a model transfers from eachnode to its children Check rules
There is no closed tableau for F .
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: having a model transfers from eachnode to its children Check rules
There is no closed tableau for F .
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: having a model transfers from eachnode to its children Check rules
There is no closed tableau for F .
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Soundness of PL0 Tableaux
Theorem (Soundness)
All provable PL0 formulas F are valid:
`tabPL0 F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: having a model transfers from eachnode to its children Check rules
There is no closed tableau for F .
Andre Platzer (CMU) 15-819/04: Tableau Proving 11 / 39
Completeness of PL0 Tableaux
Theorem (Completeness)
All valid PL0 formulas F are provable:
� F ⇒ `tabPL0 F
Proof Sketch.
For any exhausted open tableau for F there is a model of ¬F .
Exhaustive iff every formula has been used on every open path.
Andre Platzer (CMU) 15-819/04: Tableau Proving 12 / 39
Completeness of PL0 Tableaux
Theorem (Completeness)
All valid PL0 formulas F are provable:
� F ⇒ `tabPL0 F
Proof Sketch.
For any exhausted open tableau for F there is a model of ¬F .
Exhaustive iff every formula has been used on every open path.
Andre Platzer (CMU) 15-819/04: Tableau Proving 12 / 39
Completeness of PL0 Tableaux
Theorem (Completeness)
All valid PL0 formulas F are provable:
� F ⇒ `tabPL0 F
Proof Sketch.
For any exhausted open tableau for F there is a model of ¬F .
Exhaustive iff every formula has been used on every open path.
Andre Platzer (CMU) 15-819/04: Tableau Proving 12 / 39
Outline
1 Propositional LogicTableau ProvingSoundnessCompleteness
1 First-order LogicHerbrand TheoryFirst-order Ground TableauxFree-Variable TableauxSoundnessCompleteness
Andre Platzer (CMU) 15-819/04: Tableau Proving 12 / 39
First-order Logic
What is the most naıve syntactic interpretation?
Andre Platzer (CMU) 15-819/04: Tableau Proving 13 / 39
Herbrand Model
Definition (Herbrand Model)
An interpretation with free semantics for terms is called Herbrand model:
1 Ground terms Term0(Σ) over Σ as domain D (i.e. no variables)
2 I (f ) : Dn → D; (t1, . . . , tn) 7→ f (t1, . . . , tn) for each functionsymbol f of arity n
Let Γ be a set of closed universal formulas. Term0(Σ)(Γ) is the set of allground term instances of the formulas in Γ, i.e., with ground termsinstantiated for the variables of the universal quantifier prefix.
Andre Platzer (CMU) 15-819/04: Tableau Proving 14 / 39
Herbrand’s Theorem
Theorem (Herbrand)
Let Γ be a (suitable) set of first-order formulas (i.e. closed universalformulas without equality with Σ having at least one constant).
Γ has a model ⇐⇒ Γ has a Herbrand model, i.e. free on ground terms⇐⇒ ground terms Term0(Σ)(Γ) of Γ have a model
Theorem (Finiteness Corollary to Compactness)
Γ has a model iff every finite subset of Γ has.
Corollary
Validity of FOL is semidecidable.
F valid ⇐⇒ ¬F unsatisfiable⇐⇒ Term0(Σ)(¬F ) have no model⇐⇒ some finite subet of Term0(Σ)(¬F ) has no Herbrand model
Andre Platzer (CMU) 15-819/04: Tableau Proving 15 / 39
Herbrand’s Theorem
Theorem (Herbrand)
Let Γ be a (suitable) set of first-order formulas (i.e. closed universalformulas without equality with Σ having at least one constant).
Γ has a model ⇐⇒ Γ has a Herbrand model, i.e. free on ground terms⇐⇒ ground terms Term0(Σ)(Γ) of Γ have a model
Theorem (Finiteness Corollary to Compactness)
Γ has a model iff every finite subset of Γ has.
Corollary
Validity of FOL is semidecidable.
F valid ⇐⇒ ¬F unsatisfiable⇐⇒ Term0(Σ)(¬F ) have no model⇐⇒ some finite subet of Term0(Σ)(¬F ) has no Herbrand model
Andre Platzer (CMU) 15-819/04: Tableau Proving 15 / 39
Herbrand’s Theorem
Theorem (Herbrand)
Let Γ be a (suitable) set of first-order formulas (i.e. closed universalformulas without equality with Σ having at least one constant).
Γ has a model ⇐⇒ Γ has a Herbrand model, i.e. free on ground terms⇐⇒ ground terms Term0(Σ)(Γ) of Γ have a model
Theorem (Finiteness Corollary to Compactness)
Γ has a model iff every finite subset of Γ has.
Corollary
Validity of FOL is semidecidable.
F valid ⇐⇒ ¬F unsatisfiable⇐⇒ Term0(Σ)(¬F ) have no model⇐⇒ some finite subet of Term0(Σ)(¬F ) has no Herbrand model
Andre Platzer (CMU) 15-819/04: Tableau Proving 15 / 39
Herbrand’s Theorem
Theorem (Herbrand)
Let Γ be a (suitable) set of first-order formulas (i.e. closed universalformulas without equality with Σ having at least one constant).
Γ has a model ⇐⇒ Γ has a Herbrand model, i.e. free on ground terms⇐⇒ ground terms Term0(Σ)(Γ) of Γ have a model
Theorem (Finiteness Corollary to Compactness)
Γ has a model iff every finite subset of Γ has.
Corollary
Validity of FOL is semidecidable.
F valid ⇐⇒ ¬F unsatisfiable
⇐⇒ Term0(Σ)(¬F ) have no model⇐⇒ some finite subet of Term0(Σ)(¬F ) has no Herbrand model
Andre Platzer (CMU) 15-819/04: Tableau Proving 15 / 39
Herbrand’s Theorem
Theorem (Herbrand)
Let Γ be a (suitable) set of first-order formulas (i.e. closed universalformulas without equality with Σ having at least one constant).
Γ has a model ⇐⇒ Γ has a Herbrand model, i.e. free on ground terms⇐⇒ ground terms Term0(Σ)(Γ) of Γ have a model
Theorem (Finiteness Corollary to Compactness)
Γ has a model iff every finite subset of Γ has.
Corollary
Validity of FOL is semidecidable.
F valid ⇐⇒ ¬F unsatisfiable⇐⇒ Term0(Σ)(¬F ) have no model
⇐⇒ some finite subet of Term0(Σ)(¬F ) has no Herbrand model
Andre Platzer (CMU) 15-819/04: Tableau Proving 15 / 39
Herbrand’s Theorem
Theorem (Herbrand)
Let Γ be a (suitable) set of first-order formulas (i.e. closed universalformulas without equality with Σ having at least one constant).
Γ has a model ⇐⇒ Γ has a Herbrand model, i.e. free on ground terms⇐⇒ ground terms Term0(Σ)(Γ) of Γ have a model
Theorem (Finiteness Corollary to Compactness)
Γ has a model iff every finite subset of Γ has.
Corollary
Validity of FOL is semidecidable.
F valid ⇐⇒ ¬F unsatisfiable⇐⇒ Term0(Σ)(¬F ) have no model⇐⇒ some finite subet of Term0(Σ)(¬F ) has no Herbrand model
Andre Platzer (CMU) 15-819/04: Tableau Proving 15 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent?
No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent?
No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent?
No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent?
No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent? No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent? No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent? No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent? No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Arbitrary Formulas versus Universal Formulas
∀x ∀y (p(x , y)→ p(y , x)) is universal
∃x ∀y (p(x , y)→ p(y , x)) is not universal
Name existentials: ∀y (p(x , a)→ p(a, x)) is universal (with newconstant symbol a)
Are these formulas equivalent? No! But satisfiability-equivalent!
∀y ∃x (p(x , y)→ p(y , x)) is not universal. How to call x?
∀y (p(s(y), y)→ p(y , s(y)) is universal (with new Skolem function s)
Both are satisfiability-equivalent
In group theory, ∀x ∃y x · y = 1 that inverse would be called i(x),obviously depending on x : ∀x x · i(x) = 1
Andre Platzer (CMU) 15-819/04: Tableau Proving 16 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x∃y(p(x , y)→ ∀z ∃u (q(x , u, z) ∧ p(u, y))
)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x∃y(p(x , y)→ ∀z ∃u (q(x , u, z) ∧ p(u, y))
)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z ∃u(q(x , u, z) ∧ p(u, s(x)))
)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z ∃u(q(x , u, z) ∧ p(u, s(x)))
)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x∃y(p(x , y)→ ∀z ∃u(q(x , u, z) ∧ p(u, y))
)→ ∃v q(v , x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x∃y(p(x , y)→ ∀z ∃u(q(x , u, z) ∧ p(u, y))
)→ ∃v q(v , x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)→ ∃vq(v , x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)→ ∃vq(v , x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)→ q(f (x , y), x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)→ q(f (x , y), x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)→ q(f (x , y), x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent.
Proof.
Iterative Skolemization
∀x(p(x , s(x))→ ∀z (q(x , t(x , z), z) ∧ p(t(x , z), s(x)))
)→ q(f (x , y), x , y)
Nonsense! Existential quantifiers in negative positions are more likeuniversals!
Andre Platzer (CMU) 15-819/04: Tableau Proving 17 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡
∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡
∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡
∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡
∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡
∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡
∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡
∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡
∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡
∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡
∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡
∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡
∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡ ∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡ ∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡
∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡ ∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡ ∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡ ∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡ ∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡
∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
Skolemization and Satisfiability-Equivalence
Lemma
For every FOL formula there is a universal formula that issatisfiability-equivalent, and it can be constructed effectively.
Proof.
Prenex normal form + iterative Skolemization
F ∧ ∀x G ≡ ∀x (F ∧ G ) if x 6∈ FV (F )
F ∨ ∀x G ≡ ∀x (F ∨ G ) if x 6∈ FV (F )
F → ∀x G ≡ ∀x (F → G ) if x 6∈ FV (F )
(∃x F )→ G ≡ ∀x (F → G ) if x 6∈ FV (G )
(∀x F )→ G ≡ ∃x (F → G ) if x 6∈ FV (G )
Andre Platzer (CMU) 15-819/04: Tableau Proving 18 / 39
First-order Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground
¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground
¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground
¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground
¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant
¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground
¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant
¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant
¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant
¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
First-order Ground Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(t)
t ground¬∃x A(x)
¬A(t)
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(c)
c new constant¬∀x A(x)
¬A(c)
Andre Platzer (CMU) 15-819/04: Tableau Proving 19 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 20 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 20 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 20 / 39
Tableau Extension
α-extension
α
π
T
α1
α2
T2
β-extension
β
π
T
β1 β2
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 20 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(t)
A(s)
T2
δ-extension
∃x A(x)
π
T
A(c)
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 21 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(t)
A(s)
T2
δ-extension
∃x A(x)
π
T
A(c)
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 21 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(t)A(s)
T2
δ-extension
∃x A(x)
π
T
A(c)
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 21 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(t)A(s)
T2
δ-extension
∃x A(x)
π
T
A(c)
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 21 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(t)A(s)
T2
δ-extension
∃x A(x)
π
T
A(c)
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 21 / 39
Tableau Path Closing
path closure
P
¬P
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 22 / 39
Tableau Path Closing
path closure
P
¬P
∗
Andre Platzer (CMU) 15-819/04: Tableau Proving 22 / 39
Ground Tableaux Example
¬
(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d , c)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d , c)
ctrl(d , c)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d , c)
ctrl(d , c)
∗
What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d , c)
ctrl(d , c)
∗What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Ground Tableaux Example
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d , c)
ctrl(d , c)
∗What is the difficulty?
Andre Platzer (CMU) 15-819/04: Tableau Proving 23 / 39
Fighting Eager Instantiations
Idea: delay instantiation
Andre Platzer (CMU) 15-819/04: Tableau Proving 24 / 39
Fighting Eager Instantiations
Idea: delay instantiation
Andre Platzer (CMU) 15-819/04: Tableau Proving 24 / 39
Lazy Instantiation Tableaux Motivation
¬
(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
Lazy Instantiation Tableaux Motivation
¬(∃y ∀x ctrl(x , y)→ ∀x ∃y ctrl(x , y))
∃y ∀x ctrl(x , y)
¬∀x ∃y ctrl(x , y)
∀x ctrl(x , c)
¬∃y ctrl(d , y)
¬ctrl(d ,Y )
ctrl(X , c)
∗{d/X}{c/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 25 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path
¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path
¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path
¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path
¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new
¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path
¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new
¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new
¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new
¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
First-order Free-Variable Tableaux
α-rules
A ∧ B
AB
γ∗-rules
∀x A(x)
A(X )
X new variable on path¬∃x A(x)
¬A(X )
β-rules
A ∨ B
A B
δ-rules
∃x A(x)
A(s(X1, . . . ,Xn))
FV (∃x A(x)) = {X1, . . . ,Xn}, s new¬∀x A(x)
¬A(s(X1, . . . ,Xn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 26 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(X )
A(Y )
T2
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 27 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(X )
A(Y )
T2
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 27 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(X )A(Y )
T2
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 27 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(X )A(Y )
T2
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 27 / 39
Tableau Extension
γ∗-extension
∀x A(x)
π
T
A(X )A(Y )
T2
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
Andre Platzer (CMU) 15-819/04: Tableau Proving 27 / 39
Free-Variable Tableaux Closing
¬φ(t1, . . . , tn)...
ψ(s1, . . . , sn)
∗σσ(φ(t1, . . . , tn)) = σ(ψ(t1, . . . , tn))
With substitution σ applied to full tableau for closing
Andre Platzer (CMU) 15-819/04: Tableau Proving 28 / 39
Free-Variable Tableaux Closing
¬φ(t1, . . . , tn)...
ψ(s1, . . . , sn)
∗σσ(φ(t1, . . . , tn)) = σ(ψ(t1, . . . , tn))
With substitution σ applied to full tableau for closing
Andre Platzer (CMU) 15-819/04: Tableau Proving 28 / 39
Tableau Path Closing
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
Andre Platzer (CMU) 15-819/04: Tableau Proving 29 / 39
Tableau Path Closing
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
Andre Platzer (CMU) 15-819/04: Tableau Proving 29 / 39
Provability
Definition (Provability)
A path can be closed by substitution σ iff it contains nodes labelled Gand ¬H for any formulas G ,H with σG = σH. When closing thispath, σ is applied to the full tableaux.
A tableau is closed iff all its paths are closed.
Formula F is provable (by first-order tableaux) iff there is a closedtableau for ¬FNotation: `tabFOL F
Andre Platzer (CMU) 15-819/04: Tableau Proving 30 / 39
Variation
σ only admissible for formula F iff no replaced variable x occurs withinscope of a quantifier for σx
Definition (Substitution)
A total endomorphism σ : Trm(Σ)→ Trm(Σ) of finite support in V :
{x ∈ V : σx 6= x} is finite and σ = id on Σ
σ(f (t1, . . . , tn)) = σf (σt1, . . . , σtn)
σ(p(t1, . . . , tn)) = σp(σt1, . . . , σtn)
σ¬A = ¬σA
σA ∧ B = σA ∧ σB (likewise for ∨,→,↔)
σ∀x A = ∀x σxA where σx is like σ except that σx(x) = x
σ∃x A = ∃x σxA where σx is like σ except that σx(x) = x
“simultaneously replace all free occurrences of any variable x by σx”
Andre Platzer (CMU) 15-819/04: Tableau Proving 31 / 39
Variation
σ only admissible for formula F iff no replaced variable x occurs withinscope of a quantifier for σx
Definition (Substitution)
A total endomorphism σ : Trm(Σ)→ Trm(Σ) of finite support in V :
{x ∈ V : σx 6= x} is finite and σ = id on Σ
σ(f (t1, . . . , tn)) = σf (σt1, . . . , σtn)
σ(p(t1, . . . , tn)) = σp(σt1, . . . , σtn)
σ¬A = ¬σA
σA ∧ B = σA ∧ σB (likewise for ∨,→,↔)
σ∀x A = ∀x σxA where σx is like σ except that σx(x) = x
σ∃x A = ∃x σxA where σx is like σ except that σx(x) = x
“simultaneously replace all free occurrences of any variable x by σx”
Andre Platzer (CMU) 15-819/04: Tableau Proving 31 / 39
Free Variable Tableaux Example
¬
(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c()/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c(X )/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
∗{d(Y )/X}{c(d(Y ))/Y }
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Free Variable Tableaux Example
¬(∀x ∃y ctrl(x , y)→ ∃y ∀x ctrl(x , y))
∀x ∃y ctrl(x , y)
¬∃y ∀x ctrl(x , y)
∃y ctrl(X , y)
ctrl(X , c(X ))
¬∀x ctrl(x ,Y )
¬ctrl(d(Y ),Y )
not unifiable!
Andre Platzer (CMU) 15-819/04: Tableau Proving 32 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Definition
An interpretation I is a model of tableau T iff for each assignment β thereis a branch on which I , β satisfies all formulas.
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: A tableau extending a tableau with amodel, has a model too. Details
There is no closed tableau for F (closed tableaux have no models).
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: A tableau extending a tableau with amodel, has a model too. Details
There is no closed tableau for F (closed tableaux have no models).
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: A tableau extending a tableau with amodel, has a model too. Details
There is no closed tableau for F (closed tableaux have no models).
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: A tableau extending a tableau with amodel, has a model too. Details
There is no closed tableau for F (closed tableaux have no models).
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Soundness of FOL Tableaux
Theorem (Soundness)
All provable (closed) FOL formulas F are valid:
`tabFOL F ⇒ � F
Proof.
Contrapositively, assume 6� F , then
¬F has a model
Any tableau for F has a model: A tableau extending a tableau with amodel, has a model too. Details
There is no closed tableau for F (closed tableaux have no models).
Andre Platzer (CMU) 15-819/04: Tableau Proving 33 / 39
Extensions of Tableaux with a Model have a Model
γ∗-extension
∀x A(x)
π
T
A(X )
T2
I model of T ⇒ I model of T2:
Let β be such that I , β satisfies allformulas on π (for other branchesthere is nothing to show).
Now I , β |= ∀x A(x) impliesI , β |= A(X ).
Andre Platzer (CMU) 15-819/04: Tableau Proving 34 / 39
Extensions of Tableaux with a Model have a Model
γ∗-extension
∀x A(x)
π
T
A(X )
T2
I model of T ⇒ I model of T2:
Let β be such that I , β satisfies allformulas on π (for other branchesthere is nothing to show).
Now I , β |= ∀x A(x) impliesI , β |= A(X ).
Andre Platzer (CMU) 15-819/04: Tableau Proving 34 / 39
Extensions of Tableaux with a Model have a Model
γ∗-extension
∀x A(x)
π
T
A(X )
T2
I model of T ⇒ I model of T2:
Let β be such that I , β satisfies allformulas on π (for other branchesthere is nothing to show).
Now I , β |= ∀x A(x) impliesI , β |= A(X ).
Andre Platzer (CMU) 15-819/04: Tableau Proving 34 / 39
Extensions of Tableaux with a Model have a Model
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
I model of T ⇒ there is a model I ′
of T2 that only differs in theinterpretation of new symbol s:
I ′(s)(d1, . . . , dn) :={d if I , β |= ∃x A(x) for witness d
e if I , β 6|= ∃x A(x), arbitrary e
for β(X1) = d1, . . . , β(Xn) = dn,which are all free variables.
Let β be such that I , β satisfies allformulas on π.
Now I , β |= ∃x A(x) impliesI ′, β |= A(s(X1, . . . ,Xn)).
s new, thus I ′, β satisfies π formulas
Andre Platzer (CMU) 15-819/04: Tableau Proving 35 / 39
Extensions of Tableaux with a Model have a Model
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
I model of T ⇒ there is a model I ′
of T2 that only differs in theinterpretation of new symbol s:
I ′(s)(d1, . . . , dn) :={d if I , β |= ∃x A(x) for witness d
e if I , β 6|= ∃x A(x), arbitrary e
for β(X1) = d1, . . . , β(Xn) = dn,which are all free variables.
Let β be such that I , β satisfies allformulas on π.
Now I , β |= ∃x A(x) impliesI ′, β |= A(s(X1, . . . ,Xn)).
s new, thus I ′, β satisfies π formulas
Andre Platzer (CMU) 15-819/04: Tableau Proving 35 / 39
Extensions of Tableaux with a Model have a Model
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
I model of T ⇒ there is a model I ′
of T2 that only differs in theinterpretation of new symbol s:
I ′(s)(d1, . . . , dn) :={d if I , β |= ∃x A(x) for witness d
e if I , β 6|= ∃x A(x), arbitrary e
for β(X1) = d1, . . . , β(Xn) = dn,which are all free variables.
Let β be such that I , β satisfies allformulas on π.
Now I , β |= ∃x A(x) impliesI ′, β |= A(s(X1, . . . ,Xn)).
s new, thus I ′, β satisfies π formulas
Andre Platzer (CMU) 15-819/04: Tableau Proving 35 / 39
Extensions of Tableaux with a Model have a Model
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
I model of T ⇒ there is a model I ′
of T2 that only differs in theinterpretation of new symbol s:
I ′(s)(d1, . . . , dn) :={d if I , β |= ∃x A(x) for witness d
e if I , β 6|= ∃x A(x), arbitrary e
for β(X1) = d1, . . . , β(Xn) = dn,which are all free variables.
Let β be such that I , β satisfies allformulas on π.
Now I , β |= ∃x A(x) impliesI ′, β |= A(s(X1, . . . ,Xn)).
s new, thus I ′, β satisfies π formulas
Andre Platzer (CMU) 15-819/04: Tableau Proving 35 / 39
Extensions of Tableaux with a Model have a Model
δ-extension
∃x A(x)
π
T
A(s(X1, . . . ,Xn))
T2
I model of T ⇒ there is a model I ′
of T2 that only differs in theinterpretation of new symbol s:
I ′(s)(d1, . . . , dn) :={d if I , β |= ∃x A(x) for witness d
e if I , β 6|= ∃x A(x), arbitrary e
for β(X1) = d1, . . . , β(Xn) = dn,which are all free variables.
Let β be such that I , β satisfies allformulas on π.
Now I , β |= ∃x A(x) impliesI ′, β |= A(s(X1, . . . ,Xn)).
s new, thus I ′, β satisfies π formulas
Andre Platzer (CMU) 15-819/04: Tableau Proving 35 / 39
Closure of Tableaux with a Model have a Model
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
I model of T ⇒ I model of T2:
Let β be any assignment.
By substitution lemma we have for allformulas G :
I , σ∗β |= G iff I , β |= σG
with σ∗β(x) = [[σx ]]I ,βBy premise, for σ∗β there is a path πsatisfied by I , σ∗β in T .
Thus I , β satisfies σπ in T2.
σπ belongs to T2, becauseI , β |= σ(ψ(s1, . . . , sn)) contradictsI , β |= σ(¬φ(t1, . . . , tn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 36 / 39
Closure of Tableaux with a Model have a Model
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
I model of T ⇒ I model of T2:
Let β be any assignment.
By substitution lemma we have for allformulas G :
I , σ∗β |= G iff I , β |= σG
with σ∗β(x) = [[σx ]]I ,βBy premise, for σ∗β there is a path πsatisfied by I , σ∗β in T .
Thus I , β satisfies σπ in T2.
σπ belongs to T2, becauseI , β |= σ(ψ(s1, . . . , sn)) contradictsI , β |= σ(¬φ(t1, . . . , tn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 36 / 39
Closure of Tableaux with a Model have a Model
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
I model of T ⇒ I model of T2:
Let β be any assignment.
By substitution lemma we have for allformulas G :
I , σ∗β |= G iff I , β |= σG
with σ∗β(x) = [[σx ]]I ,β
By premise, for σ∗β there is a path πsatisfied by I , σ∗β in T .
Thus I , β satisfies σπ in T2.
σπ belongs to T2, becauseI , β |= σ(ψ(s1, . . . , sn)) contradictsI , β |= σ(¬φ(t1, . . . , tn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 36 / 39
Closure of Tableaux with a Model have a Model
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
I model of T ⇒ I model of T2:
Let β be any assignment.
By substitution lemma we have for allformulas G :
I , σ∗β |= G iff I , β |= σG
with σ∗β(x) = [[σx ]]I ,βBy premise, for σ∗β there is a path πsatisfied by I , σ∗β in T .
Thus I , β satisfies σπ in T2.
σπ belongs to T2, becauseI , β |= σ(ψ(s1, . . . , sn)) contradictsI , β |= σ(¬φ(t1, . . . , tn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 36 / 39
Closure of Tableaux with a Model have a Model
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
I model of T ⇒ I model of T2:
Let β be any assignment.
By substitution lemma we have for allformulas G :
I , σ∗β |= G iff I , β |= σG
with σ∗β(x) = [[σx ]]I ,βBy premise, for σ∗β there is a path πsatisfied by I , σ∗β in T .
Thus I , β satisfies σπ in T2.
σπ belongs to T2, becauseI , β |= σ(ψ(s1, . . . , sn)) contradictsI , β |= σ(¬φ(t1, . . . , tn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 36 / 39
Closure of Tableaux with a Model have a Model
path closure
ψ(s1, . . . , sn)
¬φ(t1, . . . , tn)
∗σ
I model of T ⇒ I model of T2:
Let β be any assignment.
By substitution lemma we have for allformulas G :
I , σ∗β |= G iff I , β |= σG
with σ∗β(x) = [[σx ]]I ,βBy premise, for σ∗β there is a path πsatisfied by I , σ∗β in T .
Thus I , β satisfies σπ in T2.
σπ belongs to T2, becauseI , β |= σ(ψ(s1, . . . , sn)) contradictsI , β |= σ(¬φ(t1, . . . , tn))
Andre Platzer (CMU) 15-819/04: Tableau Proving 36 / 39
Repetitive γ∗ Tableau Expansions
¬
(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X 0X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X 0X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
¬(safe(0) ∧ ∀x (safe(x)→ safe(n(x)))→ safe(n(n(0)))
)safe(0)
∀x (safe(x)→ safe(n(x)))
¬safe(n(n(0)))
safe(X )→ safe(n(X ))
¬safe(X )
∗{0/X}
safe(n(X 0X ))
safe(Y )→ safe(n(Y ))
¬safe(Y )
∗{n(0)/Y }safe(n(Y
n(0)Y ))
∗{n(0)/Y }Rules
Andre Platzer (CMU) 15-819/04: Tableau Proving 37 / 39
Repetitive γ∗ Tableau Expansions
Can we limit the number of γ applications needed in proofs?
NO!Can we prove everything at all?
Andre Platzer (CMU) 15-819/04: Tableau Proving 38 / 39
Repetitive γ∗ Tableau Expansions
Can we limit the number of γ applications needed in proofs?NO!
Can we prove everything at all?
Andre Platzer (CMU) 15-819/04: Tableau Proving 38 / 39
Repetitive γ∗ Tableau Expansions
Can we limit the number of γ applications needed in proofs?NO!
Can we prove everything at all?
Andre Platzer (CMU) 15-819/04: Tableau Proving 38 / 39
Completeness of FOL Tableaux
Theorem (Completeness)
All valid FOL formulas F are provable:
� F ⇒ `tabFOL F
Andre Platzer (CMU) 15-819/04: Tableau Proving 39 / 39
M. D’Agostino, D. Gabbay, R. Hahnle, and J. Posegga, editors.Handbook of Tableau Methods (in 3 volumes).Kluwer, 1999.
M. Fitting.First-Order Logic and Automated Theorem Proving.Springer, New York, 2nd edition, 1996.
J. A. Robinson and A. Voronkov, editors.Handbook of Automated Reasoning (in 2 volumes).Elsevier and MIT Press, 2001.
R. M. Smullyan.First-Order Logic.Dover, 1995.
Andre Platzer (CMU) 15-819/04: Tableau Proving 39 / 39