Labelled Unit Superposition for Instantiation-Based Reasoning - - PowerPoint PPT Presentation

labelled unit superposition for instantiation based
SMART_READER_LITE
LIVE PREVIEW

Labelled Unit Superposition for Instantiation-Based Reasoning - - PowerPoint PPT Presentation

Labelled Unit Superposition for Instantiation-Based Reasoning Konstantin Korovin joint work with Christoph Sticksel 1 Instantiation, Labelled Superposition SAT/SMT vs First-Order The problem: Show that a given formula is a theorem. Ground


slide-1
SLIDE 1

Labelled Unit Superposition for Instantiation-Based Reasoning

Konstantin Korovin joint work with Christoph Sticksel

1 Instantiation, Labelled Superposition

slide-2
SLIDE 2

2

SAT/SMT vs First-Order

The problem: Show that a given formula is a theorem. Ground (SAT/SMT)

P(a) ∨ f(c) ≃ d ¬P(a) ∨ Q(d, c) very efficient not very expressive DPLL/congruence closure

First-Order

∀x∃y Q(x, y) ∨ f(x) ≃ g(f(y)) P(a) ∨ f(d) ≃ c very expressive ground: not as efficient resolution/superposition From Ground to First-Order: Efficient at ground + Expressive?

Instantiation, Labelled Superposition

slide-3
SLIDE 3

3

Different approaches

Gilmore (1960): generation of ground instances Robinson (1965): resolution Plaisted et al (1992): hyper-linking Weidenbach (1998): splitting in SPASS Plaisted & Zhu (2000): semantics-based instance generation Letz & Stenz (2000): disconnection tableaux-type calculus Riazanov & Voronkov splitting without backtracking Hooker et al (2002): generation of instances with sem. selection Baumgartner & Tinelli (2003): ME: Lifting of DPLL Ganzinger & Korovin (2003): Inst-Gen, modular ground reasoning Claessen (2005): Equinox Prevosto & Waldmann (2006): SPASS+T Navarro & Voronkov (2008): Resolution+Generalization Rule de Moura & Bjørner (2008): DPLL(T)+Saturation Lynch & Tran (2008): SMELS

Instantiation, Labelled Superposition

slide-4
SLIDE 4

4

Overview of Inst-Gen procedure

First-Order Clauses S

  • Theorem. This process is sound and complete.

Instantiation, Labelled Superposition

slide-5
SLIDE 5

4

Overview of Inst-Gen procedure

First-Order Clauses S Ground Clauses S⊥ ⊥ : ¯ x → ⊥

  • Theorem. This process is sound and complete.

Instantiation, Labelled Superposition

slide-6
SLIDE 6

4

Overview of Inst-Gen procedure

First-Order Clauses S Ground Clauses S⊥ ⊥ : ¯ x → ⊥ Theorem Proved S⊥ UnSAT

  • Theorem. This process is sound and complete.

Instantiation, Labelled Superposition

slide-7
SLIDE 7

4

Overview of Inst-Gen procedure

First-Order Clauses S Ground Clauses S⊥ ⊥ : ¯ x → ⊥ Theorem Proved S⊥ UnSAT I⊥ | = L⊥, L′

σ = mgu(L, L′) S⊥ SAT I⊥ | = S⊥

  • Theorem. This process is sound and complete.

Instantiation, Labelled Superposition

slide-8
SLIDE 8

4

Overview of Inst-Gen procedure

First-Order Clauses S Ground Clauses S⊥ ⊥ : ¯ x → ⊥ Theorem Proved S⊥ UnSAT C ∨ L L′ ∨ D (C ∨ L)σ (L′ ∨ D)σ I⊥ | = L⊥, L′

σ = mgu(L, L′) S⊥ SAT I⊥ | = S⊥

  • Theorem. This process is sound and complete.

Instantiation, Labelled Superposition

slide-9
SLIDE 9

4

Overview of Inst-Gen procedure

First-Order Clauses S Ground Clauses S⊥ ⊥ : ¯ x → ⊥ Theorem Proved S⊥ UnSAT C ∨ L L′ ∨ D (C ∨ L)σ (L′ ∨ D)σ I⊥ | = L⊥, L′

σ = mgu(L, L′) S⊥ SAT I⊥ | = S⊥

  • Theorem. This process is sound and complete.

Instantiation, Labelled Superposition

slide-10
SLIDE 10

5

Inst-Gen: Ground Abstraction and Selection

First-order clauses

¬Q(f(x)) ¬P(f(f(y)) P(f(z)) ∨ Q(z)

Ground abstraction with ⊥

¬Q(f(⊥)) ¬P(f(f(⊥)) P(f(⊥)) ∨ Q(⊥)

  • Select literals which are true in ground abstraction

Instantiate:

¬P(f(f(y))) P(f(f(y))) ∨ Q(f(y))

  • Ground model has to be refined on the conflict

Instantiation, Labelled Superposition

slide-11
SLIDE 11

5

Inst-Gen: Ground Abstraction and Selection

First-order clauses

¬Q(f(x)) ¬P(f(f(y)) P(f(z)) ∨ Q(z)

Ground abstraction with ⊥

¬Q(f(⊥)) ¬P(f(f(⊥)) P(f(⊥)) ∨ Q(⊥)

  • Select literals which are true in ground abstraction

Instantiate:

¬P(f(f(y))) P(f(f(y))) ∨ Q(f(y))

  • Ground model has to be refined on the conflict

Instantiation, Labelled Superposition

slide-12
SLIDE 12

5

Inst-Gen: Ground Abstraction and Selection

First-order clauses

¬Q(f(x)) ¬P(f(f(y)) P(f(z)) ∨ Q(z)

Ground abstraction with ⊥

¬Q(f(⊥)) ¬P(f(f(⊥)) P(f(⊥)) ∨ Q(⊥)

  • Select literals which are true in ground abstraction

Instantiate:

¬P(f(f(y))) P(f(f(y))) ∨ Q(f(y))

  • Ground model has to be refined on the conflict

Instantiation, Labelled Superposition

slide-13
SLIDE 13

5

Inst-Gen: Ground Abstraction and Selection

First-order clauses

¬Q(f(x)) ¬P(f(f(y)) P(f(z)) ∨ Q(z)

Ground abstraction with ⊥

¬Q(f(⊥)) ¬P(f(f(⊥)) P(f(⊥)) ∨ Q(⊥)

  • Select literals which are true in ground abstraction

Instantiate:

¬P(f(f(y))) P(f(f(y))) ∨ Q(f(y))

  • Ground model has to be refined on the conflict

Instantiation, Labelled Superposition

slide-14
SLIDE 14

5

Inst-Gen: Ground Abstraction and Selection

First-order clauses

¬Q(f(x)) ¬P(f(f(y)) P(f(z)) ∨ Q(z)

Ground abstraction with ⊥

¬Q(f(⊥)) ¬P(f(f(⊥)) P(f(⊥)) ∨ Q(⊥)

  • Select literals which are true in ground abstraction

Instantiate:

¬P(f(f(y))) P(f(f(y))) ∨ Q(f(y))

  • Ground model has to be refined on the conflict

Instantiation, Labelled Superposition

slide-15
SLIDE 15

6

Resolution vs Inst-Gen

Resolution : (C ∨ L) (L′ ∨ D) (C ∨ D)σ σ = mgu(L, L′) Instantiation : (C ∨ L) (L′ ∨ D) (C ∨ L)σ (L′ ∨ D)σ σ = mgu(L, L′) Resolution: ground: not very efficient EPR: not very efficient length of clauses can grow fast recombination of clauses redundancy elimination Instantiation: modular ground reasoning EPR: efficient length of clauses is fixed no recombination semantic selection redundancy elim. (res/inst) Goal: preserve positive features in equational Inst-Gen.

Instantiation, Labelled Superposition

slide-16
SLIDE 16

7

Example: memory verification

Bounded Model Checking:

fof(memoryWriteEnabledInsideRange,axiom, (nextState(VarCurr,VarNext) => (![AssociatedAddressVar] : ((mem_eq_inv_addr_range_1_to_0_addr_assoc(VarNext,AssociatedAddressVar) => (![A] : (((A = AssociatedAddressVar & mem_eq_inv_EXP_10(VarNext)) => (![B] : (((less_5(B) & (˜less_0(B))) => (mem_eq_inv_mem2_array(VarNext,A,B) <=> mem_eq_inv_data(VarNext,B))))))))))))).

Equality, EPR Joint work with Zurab Khasidashvili and Andrei Voronkov

Instantiation, Labelled Superposition

slide-17
SLIDE 17

8

Equality Superposition vs Inst-Gen

Superposition C ∨ l ≃ r L[l′] ∨ D (C ∨ D ∨ L[r])θ

  • rdering

restrictions Instantiation? C ∨ l ≃ r L[l′] ∨ D (C ∨ l ≃ r)θ (L[l′] ∨ D)θ

  • rdering

restrictions

Instantiation, Labelled Superposition

slide-18
SLIDE 18

8

Equality Superposition vs Inst-Gen

Superposition C ∨ l ≃ r L[l′] ∨ D (C ∨ D ∨ L[r])θ

  • rdering

restrictions Instantiation? C ∨ l ≃ r L[l′] ∨ D (C ∨ l ≃ r)θ (L[l′] ∨ D)θ

  • rdering

restrictions Incomplete !

Instantiation, Labelled Superposition

slide-19
SLIDE 19

9

Superposition+Instantiation

f(h(x)) ≃ c h(x) ≃ x f(a) ≃ c This set is inconsistent but the contradiction is not deducible by the inference system above.

Instantiation, Labelled Superposition

slide-20
SLIDE 20

9

Superposition+Instantiation

f(h(x)) ≃ c h(x) ≃ x f(a) ≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by superposition: h(x) ≃ x f(h(y)) ≃ c f(x) ≃ c f(a) ≃ c c ≃ c

  • Instantiation, Labelled Superposition
slide-21
SLIDE 21

9

Superposition+Instantiation

f(h(x)) ≃ c h(x) ≃ x f(a) ≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by superposition: h(x) ≃ x f(h(y)) ≃ c f(x) ≃ c [x/y] f(a) ≃ c c ≃ c [a/x]

  • Instantiation, Labelled Superposition
slide-22
SLIDE 22

9

Superposition+Instantiation

f(h(x)) ≃ c h(x) ≃ x f(a) ≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by superposition: h(x) ≃ x f(h(y)) ≃ c f(x) ≃ c [x/y] f(a) ≃ c c ≃ c [a/x]

  • Propagating substitutions: {h(a) ≃ a; f(h(a)) ≃ c; f(a) ≃ c}

ground unsatisfiable.

Instantiation, Labelled Superposition

slide-23
SLIDE 23

9

Superposition+Instantiation

f(h(x)) ≃ c ∨ C1(x, y) h(x) ≃ x ∨ C2(x, y) f(a) ≃ c ∨ C3(x, y) This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by superposition: h(x) ≃ x f(h(y)) ≃ c f(x) ≃ c [x/y] f(a) ≃ c c ≃ c [a/x]

  • Propagating substitutions: {h(a) ≃ a; f(h(a)) ≃ c; f(a) ≃ c}

ground unsatisfiable.

Instantiation, Labelled Superposition

slide-24
SLIDE 24

9

Superposition+Instantiation

f(h(x)) ≃ c ∨ C1(x, y) h(x) ≃ x ∨ C2(x, y) f(a) ≃ c ∨ C3(x, y) f(h(a)) ≃ c ∨ C1(a, y) h(a) ≃ a ∨ C2(a, y) f(a) ≃ c ∨ C3(a, y) This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by superposition: h(x) ≃ x f(h(y)) ≃ c f(x) ≃ c [x/y] f(a) ≃ c c ≃ c [a/x]

  • Propagating substitutions: {h(a) ≃ a; f(h(a)) ≃ c; f(a) ≃ c}

ground unsatisfiable.

Instantiation, Labelled Superposition

slide-25
SLIDE 25

10

The Inst-Gen Method

Unifiable Literals Inst-Gen SAT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-26
SLIDE 26

10

From Inst-Gen to Inst-Gen-Eq

Unifiable Literals Inst-Gen SAT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-27
SLIDE 27

10

From Inst-Gen to Inst-Gen-Eq

Inconsistent Literals Inst-Gen SAT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-28
SLIDE 28

10

From Inst-Gen to Inst-Gen-Eq

Inconsistent Literals Inst-Gen SAT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-29
SLIDE 29

10

From Inst-Gen to Inst-Gen-Eq

Inconsistent Literals Superposition SAT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-30
SLIDE 30

10

From Inst-Gen to Inst-Gen-Eq

Inconsistent Literals Superposition SAT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-31
SLIDE 31

10

From Inst-Gen to Inst-Gen-Eq

Inconsistent Literals Superposition SMT solver Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-32
SLIDE 32

10

The Inst-Gen-Eq Method

Superposition SMT solver Inconsistent Literals Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-33
SLIDE 33

10

The Inst-Gen-Eq Method

Unit Reasoning Superposition SMT solver Inconsistent Literals Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Instantiation, Labelled Superposition

slide-34
SLIDE 34

11

Efficient Unit Reasoning with Selected Literals

Unit Reasoning Superposition SMT solver Inconsistent Literals Ground Clauses Ground Model Unsatisfiability proved Satisfiability proved First-order Clauses Clause Instances

find generate add select abstract

First-order Ground

Main problems

1 Find inconsistent literals

with superposition reasoning

2 Generate clause instances

from superposition proofs

3 All (non-redundant) proofs

needed for completeness Our solution

  • Labelled Unit Superposition

– Set labels – AND/OR tree labels – OBDD labels

Instantiation, Labelled Superposition

slide-35
SLIDE 35

12

Inst-Gen-Eq: (1) Finding Inconsistencies

First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

Ground abstraction with ⊥

f(⊥, ⊥) ≃ f(⊥, ⊥) f(⊥, ⊥) ≃ g(⊥) ∨ ⊥ ≃ ⊥ f(a, b) ≃ g(c) a ≃ b

Unit superposition proof: Selected literals inconsistent

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Instantiation, Labelled Superposition
slide-36
SLIDE 36

12

Inst-Gen-Eq: (1) Finding Inconsistencies

First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

Ground abstraction with ⊥

f(⊥, ⊥) ≃ f(⊥, ⊥) f(⊥, ⊥) ≃ g(⊥) ∨ ⊥ ≃ ⊥ f(a, b) ≃ g(c) a ≃ b

Unit superposition proof: Selected literals inconsistent

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Instantiation, Labelled Superposition
slide-37
SLIDE 37

12

Inst-Gen-Eq: (1) Finding Inconsistencies

First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

Ground abstraction with ⊥

f(⊥, ⊥) ≃ f(⊥, ⊥) f(⊥, ⊥) ≃ g(⊥) ∨ ⊥ ≃ ⊥ f(a, b) ≃ g(c) a ≃ b

Unit superposition proof: Selected literals inconsistent

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Instantiation, Labelled Superposition
slide-38
SLIDE 38

12

Inst-Gen-Eq: (1) Finding Inconsistencies

First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

Ground abstraction with ⊥

f(⊥, ⊥) ≃ f(⊥, ⊥) f(⊥, ⊥) ≃ g(⊥) ∨ ⊥ ≃ ⊥ f(a, b) ≃ g(c) a ≃ b

Unit superposition proof: Selected literals inconsistent

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Instantiation, Labelled Superposition
slide-39
SLIDE 39

13

Inst-Gen-Eq: (2) Generating Instances

Unit superposition proof: Substitution extraction

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

New first-order instances

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instantiation, Labelled Superposition

slide-40
SLIDE 40

13

Inst-Gen-Eq: (2) Generating Instances

Unit superposition proof: Substitution extraction

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

New first-order instances

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instantiation, Labelled Superposition

slide-41
SLIDE 41

13

Inst-Gen-Eq: (2) Generating Instances

Unit superposition proof: Substitution extraction

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

New first-order instances

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instantiation, Labelled Superposition

slide-42
SLIDE 42

13

Inst-Gen-Eq: (2) Generating Instances

Unit superposition proof: Substitution extraction

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

New first-order instances

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instantiation, Labelled Superposition

slide-43
SLIDE 43

13

Inst-Gen-Eq: (2) Generating Instances

Unit superposition proof: Substitution extraction

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • First-order clauses

f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) ∨ u ≃ z f(a, b) ≃ g(c) a ≃ b

New first-order instances

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instantiation, Labelled Superposition

slide-44
SLIDE 44

14

Inst-Gen-Eq: (3) Many Proofs

Proof of inconsistency (1)

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Proof of inconsistency (2)

f(a, b) ≃ g(c) f(u, v) ≃ g(z) [a/u, b/v] g(c) ≃ g(z) [c/z]

  • Instances from proof (1)

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instances from proof (2)

f(a, b) ≃ g(c) ∨ a ≃ c

Instantiation, Labelled Superposition

slide-45
SLIDE 45

14

Inst-Gen-Eq: (3) Many Proofs

Proof of inconsistency (1)

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Proof of inconsistency (2)

f(a, b) ≃ g(c) f(u, v) ≃ g(z) [a/u, b/v] g(c) ≃ g(z) [c/z]

  • Instances from proof (1)

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instances from proof (2)

f(a, b) ≃ g(c) ∨ a ≃ c

Instantiation, Labelled Superposition

slide-46
SLIDE 46

14

Inst-Gen-Eq: (3) Many Proofs

Proof of inconsistency (1)

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Proof of inconsistency (2)

f(a, b) ≃ g(c) f(u, v) ≃ g(z) [a/u, b/v] g(c) ≃ g(z) [c/z]

  • Instances from proof (1)

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instances from proof (2)

f(a, b) ≃ g(c) ∨ a ≃ c

Instantiation, Labelled Superposition

slide-47
SLIDE 47

14

Inst-Gen-Eq: (3) Many Proofs

Proof of inconsistency (1)

f(a, b) ≃ g(c) f(x, y) ≃ f(y, x) f(u, v) ≃ g(z) [u/x, v/y] f(v, u) ≃ g(z) [a/v, b/u] g(c) ≃ g(z) [c/z]

  • Proof of inconsistency (2)

f(a, b) ≃ g(c) f(u, v) ≃ g(z) [a/u, b/v] g(c) ≃ g(z) [c/z]

  • Instances from proof (1)

f(b, a) ≃ f(a, b) f(b, a) ≃ g(c) ∨ b ≃ c

Instances from proof (2)

f(a, b) ≃ g(c) ∨ a ≃ c

Instantiation, Labelled Superposition

slide-48
SLIDE 48

15

The Labelling Approach

Informally: {. . . , C · θ, . . .}: L then

  • C is at the leaf of the proof of L and
  • θ is the accumulated substitution.

Set Label is a set of closures T = {C · θ1, . . . , Cn · θn} Closure: C · θ, clause C and substitution θ Initial labels: {C · []}: L where L is selected in C {f(u, v) ≃ g(z) ∨ u ≃ z · []}: f(u, v) ≃ g(z) Important: C · θ can become redundant.

Instantiation, Labelled Superposition

slide-49
SLIDE 49

15

The Labelling Approach

Informally: {. . . , C · θ, . . .}: L then

  • C is at the leaf of the proof of L and
  • θ is the accumulated substitution.

Set Label is a set of closures T = {C · θ1, . . . , Cn · θn} Closure: C · θ, clause C and substitution θ Initial labels: {C · []}: L where L is selected in C {f(u, v) ≃ g(z) ∨ u ≃ z · []}: f(u, v) ≃ g(z) Important: C · θ can become redundant.

Instantiation, Labelled Superposition

slide-50
SLIDE 50

16

Inference Rules in Labelled Unit Superposition

Labelled Superposition T : l ≃ r T ′ : L[l′] (σ) (T ⊓ T ′)σ: L[r]σ σ = mgu(l, l′),

  • rdering restrictions

Variant merging T : L T ′ : L′ (σ) T ⊔ T ′σ: L L = L′σ, σ is a renaming Equality resolution T : (l ≃ r) (σ) T σ: σ = mgu(l, r)

  • No labels in side conditions
  • ⊓ and ⊔ dependant on implementation of labels
  • Label T is either a set, an AND/OR tree or an OBDD

Instantiation, Labelled Superposition

slide-51
SLIDE 51

17

Set Labelled Unit Superposition

  • Label is a set of closures
  • Set union ∪ in both merging ⊔ and superposition ⊓

Superposition

{C · []}: f(x, y) ≃ f(y, x) {D · []}: f(u, v) ≃ g(z) [u/x, v/y] {C · [u/x, v/y], D · []}: f(v, u) ≃ g(z)

Merging f(u, v) ≃ g(z) and f(v, u) ≃ g(z) with [u/v, v/u]

{D · [], C · [v/x, u/y], D · [u/v, v/u]}: f(u, v) ≃ g(z)

Label of the contradiction

{D · [a/u, b/v, c/z], E · [], C · [b/x, a/y], D · [b/u, a/v, c/z]}

Instantiation, Labelled Superposition

slide-52
SLIDE 52

17

Set Labelled Unit Superposition

  • Label is a set of closures
  • Set union ∪ in both merging ⊔ and superposition ⊓

Superposition

{C · []}: f(x, y) ≃ f(y, x) {D · []}: f(u, v) ≃ g(z) [u/x, v/y] {C · [u/x, v/y], D · []}: f(v, u) ≃ g(z)

Merging f(u, v) ≃ g(z) and f(v, u) ≃ g(z) with [u/v, v/u]

{D · [], C · [v/x, u/y], D · [u/v, v/u]}: f(u, v) ≃ g(z)

Label of the contradiction

{D · [a/u, b/v, c/z], E · [], C · [b/x, a/y], D · [b/u, a/v, c/z]}

Instantiation, Labelled Superposition

slide-53
SLIDE 53

17

Set Labelled Unit Superposition

  • Label is a set of closures
  • Set union ∪ in both merging ⊔ and superposition ⊓

Superposition

{C · []}: f(x, y) ≃ f(y, x) {D · []}: f(u, v) ≃ g(z) [u/x, v/y] {C · [u/x, v/y], D · []}: f(v, u) ≃ g(z)

Merging f(u, v) ≃ g(z) and f(v, u) ≃ g(z) with [u/v, v/u]

{D · [], C · [v/x, u/y], D · [u/v, v/u]}: f(u, v) ≃ g(z)

Label of the contradiction

{D · [a/u, b/v, c/z], E · [], C · [b/x, a/y], D · [b/u, a/v, c/z]}

Instantiation, Labelled Superposition

slide-54
SLIDE 54

17

Set Labelled Unit Superposition

  • Label is a set of closures
  • Set union ∪ in both merging ⊔ and superposition ⊓

Superposition

{C · []}: f(x, y) ≃ f(y, x) {D · []}: f(u, v) ≃ g(z) [u/x, v/y] {C · [u/x, v/y], D · []}: f(v, u) ≃ g(z)

Merging f(u, v) ≃ g(z) and f(v, u) ≃ g(z) with [u/v, v/u]

{D · [], C · [v/x, u/y], D · [u/v, v/u]}: f(u, v) ≃ g(z)

Label of the contradiction

{D · [a/u, b/v, c/z], E · [], C · [b/x, a/y], D · [b/u, a/v, c/z]}

Instantiation, Labelled Superposition

slide-55
SLIDE 55

17

Set Labelled Unit Superposition

  • Label is a set of closures
  • Set union ∪ in both merging ⊔ and superposition ⊓

Superposition

{C · []}: f(x, y) ≃ f(y, x) {D · []}: f(u, v) ≃ g(z) [u/x, v/y] {C · [u/x, v/y], D · []}: f(v, u) ≃ g(z)

Merging f(u, v) ≃ g(z) and f(v, u) ≃ g(z) with [u/v, v/u]

{D · [], C · [v/x, u/y], D · [u/v, v/u]}: f(u, v) ≃ g(z)

Label of the contradiction

{D · [a/u, b/v, c/z], E · [], C · [b/x, a/y], D · [b/u, a/v, c/z]}

Instantiation, Labelled Superposition

slide-56
SLIDE 56

17

Set Labelled Unit Superposition

  • Label is a set of closures
  • Set union ∪ in both merging ⊔ and superposition ⊓

Superposition

{C · []}: f(x, y) ≃ f(y, x) {D · []}: f(u, v) ≃ g(z) [u/x, v/y] {C · [u/x, v/y], D · []}: f(v, u) ≃ g(z)

Merging f(u, v) ≃ g(z) and f(v, u) ≃ g(z) with [u/v, v/u]

{D · [], C · [v/x, u/y], D · [u/v, v/u]}: f(u, v) ≃ g(z)

Label of the contradiction

{D · [a/u, b/v, c/z], E · [], E · [], C · [b/x, a/y], D · [b/u, a/v, c/z]}

Instantiation, Labelled Superposition

slide-57
SLIDE 57

18

Tree Labelled Unit Superposition

  • Preserve Boolean structure of proofs
  • Closure is a propositional variable in an AND/OR tree
  • Conjunction ∧ in superposition, disjunction ∨ in merging

Label of the Contradiction

Instantiation, Labelled Superposition

slide-58
SLIDE 58

19

OBDD Labelled Unit Superposition

Label of the contradiction

Disadvantages of trees

  • Not produced in normal form
  • Sequence of inferences

determines shape

  • Potential growth ad infinitum
  • OBDD as normal form
  • Maintenance effort
  • Reordering required

Instantiation, Labelled Superposition

slide-59
SLIDE 59

20

Evaluation: Sets vs. Trees vs. OBDDs

iProver-Eq – CVC3 as a background solver.

Solved equational problems

193 216 13 1393 344 30 76 set 2006 tree 1983 OBDD 1512

Features

Normal form Precise elim. Sets yes no Trees no yes OBDDs yes yes

Instantiation, Labelled Superposition

slide-60
SLIDE 60

21

Summary

Instantiation-based reasoning Inst-Gen-Eq

  • labelled unit superposition for instantiation
  • simultaneous proofs with all literal variants
  • different label structures: sets, trees, OBDDs
  • implementation in iProver-Eq

Current/Future Work

  • demodulation
  • hybrid labels
  • linear arithmetic: Inst-Gen+LASCA
  • EPR optimizations

Instantiation, Labelled Superposition