A Tableau Decision Procedure for Propositional Intuitionistic Logic

Report 0 Downloads 172 Views
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)



Fc ∧

T→∧



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)



Fc ∧

T→∧



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)



Fc ∧

T→∧



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)



Fc ∧

T→∧



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)



Fc ∧

T→∧

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)



Fc ∧

T→∧



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)



Fc ∧

T→∧



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.