Background Instantiation-based methods for first-order logic - - PowerPoint PPT Presentation

background
SMART_READER_LITE
LIVE PREVIEW

Background Instantiation-based methods for first-order logic - - PowerPoint PPT Presentation

ormal ethods roup Labelled Unit Superposition Calculi for Instantiation-Based Reasoning Konstantin Korovin and Christoph Sticksel (joint work with Renate Schmidt) The University of Manchester 14th October 2010 1 Konstantin Korovin and


slide-1
SLIDE 1

φormal µethods γ roup

Labelled Unit Superposition Calculi for Instantiation-Based Reasoning

Konstantin Korovin and Christoph Sticksel (joint work with Renate Schmidt)

The University of Manchester

14th October 2010

1 Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-2
SLIDE 2

2

Background

  • Instantiation-based methods for first-order logic

– Decision procedure for Bernays-Sch¨

  • nfinkel fragment

(verification, planning/scheduling, knowledge representation)

– Good performance in plain first-order logic – Complementary to “traditional” first-order calculi

  • Equational reasoning

– Essential part in theory reasoning – Natural concept in many applications – Not well explored in instantiation-based setting

  • Here: Instantiation-based calculus Inst-Gen-Eq

– Ganzinger and Korovin [2004] – Complete for first-order clause logic modulo equality

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-3
SLIDE 3

3

The Inst-Gen-Eq Method

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

find generate add select abstract

First-order Ground Superposition SMT solver

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-4
SLIDE 4

3

The Inst-Gen-Eq Method

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

find generate add select abstract

First-order Ground Superposition SMT solver

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-5
SLIDE 5

4

Finding Inconsistencies and Generating Instances

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

find generate add select abstract

First-order Ground Superposition SMT solver

Key issues

  • Unit reasoning to find

inconsistent literals

  • Generating clause instances

from superposition proofs

  • All (non-redundant) proofs to be

considered Our approach

  • Labelled Unit Superposition
  • Different label structures

– Sets – AND/OR trees – OBDDs

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-6
SLIDE 6

5

Inst-Gen-Eq: 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]

  • Konstantin Korovin and Christoph Sticksel

Labelled Unit Superposition for Instantiation-Based Reasoning

slide-7
SLIDE 7

5

Inst-Gen-Eq: 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]

  • Konstantin Korovin and Christoph Sticksel

Labelled Unit Superposition for Instantiation-Based Reasoning

slide-8
SLIDE 8

5

Inst-Gen-Eq: 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]

  • Konstantin Korovin and Christoph Sticksel

Labelled Unit Superposition for Instantiation-Based Reasoning

slide-9
SLIDE 9

5

Inst-Gen-Eq: 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]

  • Konstantin Korovin and Christoph Sticksel

Labelled Unit Superposition for Instantiation-Based Reasoning

slide-10
SLIDE 10

6

Inst-Gen-Eq: 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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-11
SLIDE 11

6

Inst-Gen-Eq: 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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-12
SLIDE 12

6

Inst-Gen-Eq: 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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-13
SLIDE 13

6

Inst-Gen-Eq: 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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-14
SLIDE 14

6

Inst-Gen-Eq: 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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-15
SLIDE 15

6

Inst-Gen-Eq: 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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-16
SLIDE 16

7

Instances from Each Inconsistency Required

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-17
SLIDE 17

7

Instances from Each Inconsistency Required

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-18
SLIDE 18

7

Instances from Each Inconsistency Required

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-19
SLIDE 19

7

Instances from Each Inconsistency Required

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-20
SLIDE 20

8

The Labelling Approach

  • Distinguish literal variants by labels
  • Explicit merging inference to combine variants

Components

  • Closure C · θ: clause C and substitution θ
  • Initially {C · []}: L where L is selected in C
  • Label of contradiction contains instances to be added

Advantages

  • Eager extraction of instances after each inference in label
  • Cycle-free proofs with sharing of subproofs
  • Uniform treatment of literal variants
  • Preserve proof structure for redundancy elimination

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-21
SLIDE 21

9

Inference Rules in Labelled Unit Superposition

Superposition T : l ≃ r T ′ : L[l′] (σ) (T ⊓ T ′)σ: L[r]σ σ is mgu of l and l′ Variant merging T : L T ′ : L′ (σ) T ⊔ T ′σ: L L = L′σ, σ is a renaming Equality resolution T : (l ≃ r) (σ) T σ: σ is mgu of l and r

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-22
SLIDE 22

10

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 · [v/x, u/y]}: 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]}

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-23
SLIDE 23

10

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 · [v/x, u/y]}: 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]}

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-24
SLIDE 24

10

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 · [v/x, u/y]}: 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]}

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-25
SLIDE 25

10

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 · [v/x, u/y]}: 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]}

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-26
SLIDE 26

10

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 · [v/x, u/y]}: 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]}

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-27
SLIDE 27

10

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 · [v/x, u/y]}: 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]}

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-28
SLIDE 28

11

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-29
SLIDE 29

11

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 f(v, u) ≃ g(z) after superposition

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-30
SLIDE 30

11

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 f(v, u) ≃ g(z) with variants merged

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-31
SLIDE 31

11

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-32
SLIDE 32

12

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

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-33
SLIDE 33

13

Sets vs. Trees vs. OBDDs

Number of solved problems

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

  • TPTP v4.0.1
  • Equational

problems only Set

  • Normal form
  • Approximate redundancy

elimination AND/OR tree

  • No normal form
  • Precise redundancy elimination

OBDD

  • Normal form
  • Precise redundancy elimination

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning

slide-34
SLIDE 34

14

Summary and Further Work

  • Labelled calculus for elegant and efficient unit reasoning

– Literal variants – Sharing of proofs – Redundancy elimination

  • Sound and complete calculus
  • Three different labelling structures
  • Implementation in iProver-Eq
  • Evaluation on TPTP v4.0.1
  • Hybrid label structures
  • Other uses of information from labels

Konstantin Korovin and Christoph Sticksel Labelled Unit Superposition for Instantiation-Based Reasoning