A Tableau Decision Procedure for Propositional Intuitionistic Logic Alessandro Avellone, Guido Fiorino and Ugo Moscato Dipartimento di Metodi Quantitativi per l’Economia, Universit`a Milano-Bicocca {alessandro.avellone,guido.fiorino,ugo.moscato}@unimib.it
Preliminaries
Optimization
Outline 1
Preliminaries Tableau calculus Branching and Backtracking Formulas groups
2
Optimizations Bounding depth: opt1 Bounding branching: opt2 Avoiding backtracking: opt3
3
PITP About the implementation ILTP Library
4
Conclution and Future works
PITP
Conclution and Future works
Preliminaries
Optimization
Outline 1
Preliminaries Tableau calculus Branching and Backtracking Formulas groups
2
Optimizations Bounding depth: opt1 Bounding branching: opt2 Avoiding backtracking: opt3
3
PITP About the implementation ILTP Library
4
Conclution and Future works
PITP
Conclution and Future works
Preliminaries
Optimization
PITP
Conclution and Future works
Tableau calculus
Calculus
Tableau calculus Enhancement of Fitting tableaux Related to tableau/sequent calculi: Dyckhoff, Hudelmaier, Miglioli, Moscato and Ornaghi Key words: Duplication free/contraction free, PSPACE-completeness Tableau vs Kripke semantics A tableau proof for a formula is the attempt to build a model satisfying the formula.
Preliminaries
Optimization
PITP
Conclution and Future works
Tableau calculus
Calculus
Tableau calculus Enhancement of Fitting tableaux Related to tableau/sequent calculi: Dyckhoff, Hudelmaier, Miglioli, Moscato and Ornaghi Key words: Duplication free/contraction free, PSPACE-completeness Tableau vs Kripke semantics A tableau proof for a formula is the attempt to build a model satisfying the formula.
Preliminaries
Optimization
PITP
Conclution and Future works
Tableau calculus
Rules S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
F¬
S, Fc (¬A) Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
PITP
Conclution and Future works
Branching and Backtracking
Branching The rules having more than one conclusion give rise to S, T(A ∨ B) T∨). Thus the search space consists of branches ( S, TA|S, TB a proof whose branches have to be visited by the decision procedure. Backtracking In intuitionistic logic the order in which the rules are applied is relevant and affect the completeness. If the choice of a swff does not give a closed proof table, one has to backtrack and try S, F(A → B) F →). with another swff (e.g. Sc , TA, FB Fact The PSPACE-completeness of intuitionistic logic (Statman:79) suggests that backtracking cannot be eliminated.
Preliminaries
Optimization
PITP
Conclution and Future works
Branching and Backtracking
Branching The rules having more than one conclusion give rise to S, T(A ∨ B) T∨). Thus the search space consists of branches ( S, TA|S, TB a proof whose branches have to be visited by the decision procedure. Backtracking In intuitionistic logic the order in which the rules are applied is relevant and affect the completeness. If the choice of a swff does not give a closed proof table, one has to backtrack and try S, F(A → B) F →). with another swff (e.g. Sc , TA, FB Fact The PSPACE-completeness of intuitionistic logic (Statman:79) suggests that backtracking cannot be eliminated.
Preliminaries
Optimization
PITP
Conclution and Future works
Branching and Backtracking
Branching The rules having more than one conclusion give rise to S, T(A ∨ B) T∨). Thus the search space consists of branches ( S, TA|S, TB a proof whose branches have to be visited by the decision procedure. Backtracking In intuitionistic logic the order in which the rules are applied is relevant and affect the completeness. If the choice of a swff does not give a closed proof table, one has to backtrack and try S, F(A → B) F →). with another swff (e.g. Sc , TA, FB Fact The PSPACE-completeness of intuitionistic logic (Statman:79) suggests that backtracking cannot be eliminated.
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups Six group The formulas are divided in six groups according to their behavior with respect to branching and backtracking C1 = {T(A ∧ B), F(A ∨ B), Fc (A ∨ B), T(¬A), T(p → A) with p an atom, T((A ∧ B) → C), T((A ∨ B) → C)}; C2 = {T(A ∨ B), F(A ∧ B); C3 = {F(¬A), F(A → B)}; C4 = {T((A → B) → C), T(¬A → B)}; C5 = {Fc (A → B), Fc (¬A)}; C6 = {Fc (A ∧ B)}.
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
F¬
S, Fc (¬A) Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
F¬
S, Fc (¬A) Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
F¬
S, Fc (¬A) Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
S, Fc (¬A)
F¬
Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
F¬
S, Fc (¬A) Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
PITP
Conclution and Future works
Formulas groups
Groups S, T(A ∧ B) S, TA, TB S, T(A ∨ B) S, TA|S, TB
S, F(A ∧ B)
T∧
S, FA|S, FB S, F(A ∨ B)
T∨
S, FA, FB
S, TA, T(A → B) S, TA, TB S, F(A → B) Sc , TA, FB S, T(¬A) S, Fc A
F→
S, Fc (A ∧ B)
F∧
Sc , Fc A|Sc , Fc B S, Fc (A ∨ B)
F∨
S, Fc A, Fc B
Fc →
Sc , TA, Fc B S, F(¬A) Sc , TA
S, T((A ∧ B) → C) S, T(A → (B → C))
Fc ∨
T → Atom, with A an atom
S, Fc (A → B)
T¬
Fc ∧
T→∧
F¬
S, Fc (¬A) Sc , TA
S, T(¬A → B) Sc , TA|S, TB
S, T((A ∨ B) → C) S, T(A → p), T(B → p), T(p → C)
T→¬
T→∨
S, T((A → B) → C) Sc , TA, Fp, T(p → C), T(B → p)|S, TC
Fc ¬
T →→
where Sc = {TA|TA ∈ S} ∪ {Fc A|Fc A ∈ S} and p is a new atom
Preliminaries
Optimization
Outline 1
Preliminaries Tableau calculus Branching and Backtracking Formulas groups
2
Optimizations Bounding depth: opt1 Bounding branching: opt2 Avoiding backtracking: opt3
3
PITP About the implementation ILTP Library
4
Conclution and Future works
PITP
Conclution and Future works
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
What happen if the CL-model underling S realizes S? Example S = {T A, F B, T((A → B) → C)} σ = {A → true, B → false, C → false} σS σ TA σ |= A σ FB σ 6|= B σ |= (A → B) → C σ T((A → B) → C) The Kripke model coinciding with the classical model σ realizes S.
we do not need to go on with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
What happen if the CL-model underling S realizes S? Example S = {T A, F B, T((A → B) → C)} σ = {A → true, B → false, C → false} σS σ |= A σ TA σ FB σ 6|= B σ |= (A → B) → C σ T((A → B) → C) The Kripke model coinciding with the classical model σ realizes S.
we do not need to go on with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
What happen if the CL-model underling S realizes S? Example S = {T A, F B, T((A → B) → C)} σ = {A → true, B → false, C → false} σS σ |= A σ TA σ FB σ 6|= B σ |= (A → B) → C σ T((A → B) → C) The Kripke model coinciding with the classical model σ realizes S.
we do not need to go on with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
What happen if the CL-model underling S realizes S? Example S = {T A, F B, T((A → B) → C)} σ = {A → true, B → false, C → false} σS σ |= A σ TA σ FB σ 6|= B σ |= (A → B) → C σ T((A → B) → C) The Kripke model coinciding with the classical model σ realizes S.
we do not need to go on with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
and what happen if CL-model underling S does not realize S
Example S = {T A, F B, T((A → B) → C), T(A → B)} σ = {A → true, B → false, C → false} σ⋫S σ 6|= A → B σ ⋫ T(A → B) we cannot conclude that S is closed
BUT...
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
and what happen if CL-model underling S does not realize S
Example S = {T A, F B, T((A → B) → C), T(A → B)} σ = {A → true, B → false, C → false} σ⋫S σ 6|= A → B σ ⋫ T(A → B) we cannot conclude that S is closed
BUT...
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
and what happen if CL-model underling S does not realize S
Example S = {T A, F B, T((A → B) → C), T(A → B)} σ = {A → true, B → false, C → false} σ⋫S σ 6|= A → B σ ⋫ T(A → B) we cannot conclude that S is closed
BUT...
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
if every PV in S is signed T or Fc
Example S = {T A, Fc B, T((A → B) → C), T(A → B), Fc C} σ = {A → true, B → false, C → false} σ⋫S σ 6|= A → B σ ⋫ T(A → B) There is no Kripke model realizing S
we do not need to proceed with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
if every PV in S is signed T or Fc
Example S = {T A, Fc B, T((A → B) → C), T(A → B), Fc C} σ = {A → true, B → false, C → false} σ⋫S σ 6|= A → B σ ⋫ T(A → B) There is no Kripke model realizing S
we do not need to proceed with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding depth: opt1
if every PV in S is signed T or Fc
Example S = {T A, Fc B, T((A → B) → C), T(A → B), Fc C} σ = {A → true, B → false, C → false} σ⋫S σ 6|= A → B σ ⋫ T(A → B) There is no Kripke model realizing S
we do not need to proceed with the proof.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding branching: opt2
swffs whose intuitionistic truth coincides with classical truth Example S = {F(A ∧ B), F(A ∧ C), T(B ∨ C), TA} σ = {A → true, B → false, C → false} σ 6|= A ∧ B σ F(A ∧ B) σ 6|= A ∧ C σ F(A ∧ C) σ 6|= B ∨ C σ ⋫ T(B ∨ C) we apply the rule related to T(B ∨ C) S = {F(A∧B), F(A∧C), TA, TB} σ = {A → true, B → true, . . .} σ |= A ∧ B σ ⋫ F(A ∧ B) the set is contradictory.
S = {F(A∧B), F(A∧C), TA, TC} σ = {A → true, B → true, . . .} σ |= A ∧ C σ ⋫ F(A ∧ C) the set is contradictory.
Preliminaries
Optimization
PITP
Conclution and Future works
Bounding branching: opt2
swffs whose intuitionistic truth coincides with classical truth Example S = {F(A ∧ B), F(A ∧ C), T(B ∨ C), TA} σ = {A → true, B → false, C → false} σ 6|= A ∧ B σ F(A ∧ B) σ 6|= A ∧ C σ F(A ∧ C) σ 6|= B ∨ C σ ⋫ T(B ∨ C) we apply the rule related to T(B ∨ C) S = {F(A∧B), F(A∧C), TA, TB} σ = {A → true, B → true, . . .} σ |= A ∧ B σ ⋫ F(A ∧ B) the set is contradictory.
S = {F(A∧B), F(A∧C), TA, TC} σ = {A → true, B → true, . . .} σ |= A ∧ C σ ⋫ F(A ∧ C) the set is contradictory.
Preliminaries
Optimization
PITP
Conclution and Future works
Avoiding backtracking: opt3
Permutations 1 Example S = {F(A → B), F(C → D)} hP,≤,ρ, i, P = {ρ}, = ∅ .
ρ
Preliminaries
Optimization
PITP
Conclution and Future works
Avoiding backtracking: opt3
Permutations 1 Example S = {F(A → B), F(C → D)} hP,≤,ρ, i, P = {ρ}, = ∅ .
ρ
S1 = {TA, FB} hP,≤,ρ, i, P = {ρ, α},
= {α A} S2 = {TC, FD} hP,≤,ρ, i, P = {ρ, α, β},
= {α A, β C}
α A α ρ
Preliminaries
Optimization
PITP
Conclution and Future works
Avoiding backtracking: opt3
Permutations 1 Example S = {F(A → B), F(C → D)} hP,≤,ρ, i, P = {ρ}, = ∅ .
ρ
S1 = {TA, FB} hP,≤,ρ, i, P = {ρ, α},
= {α A} S2 = {TC, FD} hP,≤,ρ, i, P = {ρ, α, β},
= {α A, β C}
α1B α A α
β1D β C β ρ
Preliminaries
Optimization
Avoiding backtracking: opt3
Permutations 2
Example τ : PV → PV τ (C) = A, τ (D) = B τ (S2 ) = S1 We can avoid backtracking on S.
PITP
Conclution and Future works
Preliminaries
Optimization
PITP
Avoiding backtracking: opt3
Permutations 3 Example S
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S1
={
TP0, FP3, T(P3 → (P1 ∨ P2)), T((P1 ∨ P2) → P3), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S2
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), TP2, FP3, T(P3 → (P0 ∨ P1)), T((P0 ∨ P1) → P3), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
τ : PV → PV τ (P0) = P2, τ (P1) = P1 τ (P2) = P0 τ (P3) = P3 τ (S2 ) = S1
Conclution and Future works
Preliminaries
Optimization
PITP
Avoiding backtracking: opt3
Permutations 3 Example S
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S1
={
TP0, FP3, T(P3 → (P1 ∨ P2)), T((P1 ∨ P2) → P3), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S2
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), TP2, FP3, T(P3 → (P0 ∨ P1)), T((P0 ∨ P1) → P3), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
τ : PV → PV τ (P0) = P2, τ (P1) = P1 τ (P2) = P0 τ (P3) = P3 τ (S2 ) = S1
Conclution and Future works
Preliminaries
Optimization
PITP
Avoiding backtracking: opt3
Permutations 3 Example S
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S1
={
TP0, FP3, T(P3 → (P1 ∨ P2)), T((P1 ∨ P2) → P3), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S2
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), TP2, FP3, T(P3 → (P0 ∨ P1)), T((P0 ∨ P1) → P3), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
τ : PV → PV τ (P0) = P2, τ (P1) = P1 τ (P2) = P0 τ (P3) = P3 τ (S2 ) = S1
Conclution and Future works
Preliminaries
Optimization
PITP
Avoiding backtracking: opt3
Permutations 3 Example S
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S1
={
TP0, FP3, T(P3 → (P1 ∨ P2)), T((P1 ∨ P2) → P3), T(((P2 → (P1 ∨ P0)) → (P1 ∨ P0))), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
S2
={
T(((P0 → (P1 ∨ P2)) → (P1 ∨ P2))), TP2, FP3, T(P3 → (P0 ∨ P1)), T((P0 ∨ P1) → P3), T(((P1 → (P2 ∨ P0)) → (P2 ∨ P0))), F((P1 ∨ (P2 ∨ P0))) }
τ : PV → PV τ (P0) = P2, τ (P1) = P1 τ (P2) = P0 τ (P3) = P3 τ (S2 ) = S1
Conclution and Future works
Preliminaries
Optimization
Outline 1
Preliminaries Tableau calculus Branching and Backtracking Formulas groups
2
Optimizations Bounding depth: opt1 Bounding branching: opt2 Avoiding backtracking: opt3
3
PITP About the implementation ILTP Library
4
Conclution and Future works
PITP
Conclution and Future works
Preliminaries
Optimization
PITP
Conclution and Future works
About the implementation
yes Closed no yes
C1
yes
C2
yes Backtracking (2) no
no
provable no
yes
OPT 1 no yes
C3
yes
C4
yes
C5
yes
C6
no
no
Remarks opt2 is executed during Group 2. opt3 is executed during Backtracking (3,4).
no
no yes
Backtracking (3,4) no unprovable
In opt3, we search for τ such that H = τ (H ′ ) and τ = τ −1 .
Preliminaries
Optimization
PITP
Conclution and Future works
ILTP Library
ILTP Library (T. Raths, J. Otten, C. Kreitz.) ILTP Contains 274 propositional problems; time limit: 600 sec., Xeon 3.4 GHz, Mandrake 10.2. 128 problems are solved-Theorems. 109 problems are solved-Non-Theorems. 37 problems are unsolved. Five provers: ft Prolog: D. Sahlin, T. Franzen, S. Haridi (Swedish Institute of Computer Science), ft C: D. Sahlin, T. Franzen, S. Haridi (Swedish Institute of Computer Science), LJT: R. Dyckhoff (University of St Andrews), STRIP: Dominique Larchey, Daniel Mery and Didier Galmiche (LORIA), PITP: A. Avellone, G. Fiorino, U. Moscato (University of Milano-Bicocca).
Preliminaries
Optimization
PITP
Conclution and Future works
ILTP Library
ILTP Library (T. Raths, J. Otten, C. Kreitz.) ILTP Three domains. LCL (2): Logic Calculi (TPTP). SYN (20): Syntactic problems have no obvious semantic interpretation (TPTP). SYJ (252): Intuitionistic syntactic problems have no obvious semantic interpretation. SYJ201 (SYJ207): de Bruijn’s , SYJ202 (SYJ208): Cook pigeon-hole, SYJ203 (SYJ209): Formulae requiring many contractions, SYJ204 (SYJ210): Formulae with normal natural deduction proofs only of exponential size, SYJ205 (SYJ211): Formulae of Korn & Kreitz, SYJ206 (SYJ212): Equivalences,
Preliminaries
Optimization
PITP
Conclution and Future works
ILTP Library
Result comparison 1
solved (%) proved refuted solved after: 0-1s 1-10s 10-100s 100-600s (>600s) errors
ft Prolog ft C LJT STRIP PITP 188 199 175 202 215 68.6 72.6 63.9 73.7 78.5 104 106 108 119 128 84 93 67 83 87 173 5 6 4 86 0
185 6 7 1 75 0
166 4 2 3 47 52
178 11 11 2 43 29
190 10 9 6 58 1
Preliminaries
Optimization
PITP
Conclution and Future works
ILTP Library
Result comparison 2
Provable ft Prolog ft C LJT STRIP PITP
SYJ202+1 provable 07 (516.55) 07 (76.3) 02 (0.09) 06 (11.28) 09 (595.79)
SYJ205+1 provable 08 (60.26) 09 (85.84) 20 (0.01) 14 (267.39) 20 (0.01)
SYJ206+1 provable 10 (144.5) 11 (481.98) 05 (0.01) 20 (37.64) 20 (4.07)
Refutable ft Prolog ft C LJT STRIP PITP
SYJ207+1 refutable 07 (358.05) 07 (51.13) 03 (2.64) 04 (9.3) 04 (11.11)
SYJ208+1 refutable 08 (65.41) 17 (81.41) 08 (0.18) 06 (0.24) 08 (83.66)
SYJ209+1 refutable 10 (543.09) 10 (96.99) 10 (461.27) 10 (132.55) 10 (280.47)
SYJ211+1 refutable 04 (66.62) 04 (17.25) 08 (546.46) 09 (97.63) 20 (526.16)
SYJ212+1 refutable 20 (0.01) 20 (0.01) 07 (204.98) 20 (36.79) 11 (528.08)
Preliminaries
Optimization
PITP
Conclution and Future works
ILTP Library
Result comparison 2
Provable PITP none PITP -opt1 PITP -opt2 PITP -opt3 PITP ALL
SYJ201+1 20 (1.29) 20 (0.03) 20 (1.67) 20 (0.03) 20 (0.03)
SYJ202+1 03 (0.01) 08 (44.59) 03 (0.01) 08 (44.21) 08 (45.30)
Refutable PITP none PITP -opt1 PITP -opt2 PITP -opt3 PITP ALL
SYJ207+1 04 (43.77) 04 (44.76) 04 (12.18) 04 (11.36) 04 (12.74)
SYJ208+1 04 (2.50) 08 (93.60) 04 (2.37) 08 (94.30) 08 (90.11)
SYJ209+1 10 (596.55) 10 (325.93) 10 (311.37) 10 (591.68) 10 (297.83)
SYJ211+1 20 (526.94) 20 (558.11) 19 (293.34) 19 (291.18) 19 (313.11)
SYJ212+1 11 (527.72) 11 (548.01) 10 (88.92) 10 (92.05) 10 (93.18)
Preliminaries
Optimization
Outline 1
Preliminaries Tableau calculus Branching and Backtracking Formulas groups
2
Optimizations Bounding depth: opt1 Bounding branching: opt2 Avoiding backtracking: opt3
3
PITP About the implementation ILTP Library
4
Conclution and Future works
PITP
Conclution and Future works
Preliminaries
Optimization
PITP
Conclution and Future works
Future works Improve permutations. New optimization: 234 problems are solved (85,4%). Implement a parallel version of the prover.