methods - anu college of engineering & computer...
TRANSCRIPT
![Page 1: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/1.jpg)
Instance Based MethodsTABLEAUX 2005 Tutorial (Koblenz, September 2005)
Peter BaumgartnerMax-Planck-Institut für InformatikSaarbrücken, Germanyhttp://www.mpi-sb.mpg.de/~baumgart/
Gernot StenzTechnische Universität München, Germanyhttp://www4.in.tum.de/~stenzgFunded by the German Federal Ministry of Education, Science, Research and Technology(BMBF) under Verisoft project grant 01 IS C38
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 1
![Page 2: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/2.jpg)
Purpose of Tutorial
Instance Based Methods (IMs): a family of calculi and proof procedures
for first-order clause logic, developed during past ten years
Tutorial provides overview about the following
Common principles behind IMs, some calculi, proof procedures
Comparison among IMs, difference from tableaux and resolution
Ranges of applicability/non-applicability
Improvements and extensions: universal variables, equality, . . .
Picking up SAT techniques
Implementations and implementation techniques
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 2
![Page 3: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/3.jpg)
Setting the Stage
Skolem-Herbrand-Löwenheim Theorem
∀φ is unsatisfiable iff some finite set of ground instances
{φγ1, . . . , φγn} is unsatisfiable
For refutational theorem proving (i.e. start with negated conjecture) it
thus suffices to
enumerate growing finite sets of such ground instances, and
test each for propositional unsatisfiability. Stop with “unsatisfiable”
when the first propositionally unsatisfiability set arrives
This has been known for a long time: Gilmore’s algorithm, DPLL
It is also a common principle behind IMs
So what’s special about IMs? Do this in a clever way!
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 3
![Page 4: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/4.jpg)
Setting the Stage
Skolem-Herbrand-Löwenheim Theorem
∀φ is unsatisfiable iff some finite set of ground instances
{φγ1, . . . , φγn} is unsatisfiable
For refutational theorem proving (i.e. start with negated conjecture) it
thus suffices to
enumerate growing finite sets of such ground instances, and
test each for propositional unsatisfiability. Stop with “unsatisfiable”
when the first propositionally unsatisfiability set arrives
This has been known for a long time: Gilmore’s algorithm, DPLL
It is also a common principle behind IMs
So what’s special about IMs? Do this in a clever way!Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 3
![Page 5: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/5.jpg)
An early IM: the DPLL Procedure
Grounding
PropositionalDPLL
∧∀z ¬P(z, a)
Given Formula
P( f (x), x)¬P(z, a)
Clause Form
∀x ∃y P(y, x)Preprocessing:
Outer loop:
Inner loop:
Problems/Issues:
Controlling the grounding process in outer loop (irrelevantinstances)
Repeat work across inner loops
Weak redundancy criterion within inner loop
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 4
![Page 6: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/6.jpg)
An early IM: the DPLL Procedure
Grounding
PropositionalDPLL
∧∀z ¬P(z, a)
Given Formula
P( f (x), x)¬P(z, a)
Clause Form
P( f (a),a)¬P(a, a)
∀x ∃y P(y, x)Preprocessing:
Outer loop:
Inner loop:
Problems/Issues:
Controlling the grounding process in outer loop (irrelevantinstances)
Repeat work across inner loops
Weak redundancy criterion within inner loop
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 4
![Page 7: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/7.jpg)
An early IM: the DPLL Procedure
Proof found
Grounding
PropositionalDPLL
Outer LoopSTOP:
∧∀z ¬P(z, a)
Given Formula
P( f (x), x)¬P(z, a)
Clause Form
P( f (a),a)¬P(a, a)
Sat?
∀x ∃y P(y, x)
No
Preprocessing:
Outer loop:
Inner loop:
Yes
Continue
Problems/Issues:
Controlling the grounding process in outer loop (irrelevantinstances)
Repeat work across inner loops
Weak redundancy criterion within inner loop
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 4
![Page 8: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/8.jpg)
An early IM: the DPLL Procedure
Grounding
PropositionalDPLL
∧∀z ¬P(z, a)
Given Formula
P( f (a),a)¬P(a, a)
P( f (x), x)¬P(z, a)
Clause Form
P( f (a),a)¬P(a, a)
∀x ∃y P(y, x)Preprocessing:
Outer loop:
Inner loop:
¬P( f (a),a)
Problems/Issues:
Controlling the grounding process in outer loop (irrelevantinstances)
Repeat work across inner loops
Weak redundancy criterion within inner loop
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 4
![Page 9: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/9.jpg)
An early IM: the DPLL Procedure
Grounding
PropositionalDPLL
Outer LoopProof found
∧∀z ¬P(z, a)
Given Formula
P( f (a),a)¬P(a, a)
P( f (x), x)¬P(z, a)
Clause Form
P( f (a),a)¬P(a, a)
∀x ∃y P(y, x)Preprocessing:
Outer loop:
Inner loop: Sat?No Yes
ContinueSTOP:
¬P( f (a),a)
Problems/Issues:
Controlling the grounding process in outer loop (irrelevantinstances)
Repeat work across inner loops
Weak redundancy criterion within inner loop
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 4
![Page 10: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/10.jpg)
An early IM: the DPLL Procedure
Grounding
PropositionalDPLL
Outer LoopProof found
∧∀z ¬P(z, a)
Given Formula
P( f (a),a)¬P(a, a)
P( f (x), x)¬P(z, a)
Clause Form
P( f (a),a)¬P(a, a)
∀x ∃y P(y, x)Preprocessing:
Outer loop:
Inner loop: Sat?No Yes
ContinueSTOP:
¬P( f (a),a)
Problems/Issues:
Controlling the grounding process in outer loop (irrelevantinstances)
Repeat work across inner loops
Weak redundancy criterion within inner loop Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 4
![Page 11: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/11.jpg)
Part I: Overview of IMsClassification of IMs and some representative calculi
Emphasis not too much on the details
We try to work out common principles and also differences
Comparison with Resolution and Tableaux
Applicability/Non-Applicability
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 5
![Page 12: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/12.jpg)
Development of IMs (I)
Purpose of this slide
List existing methods (apologies for “forgotten” ones . . . )
Define abbreviations used later on
Provide pointer to literature
Itemize structure indicates reference relation (when obvious)
Not: table of contents of what follows(presentation is systematic instead of historical)
DPLL – Davis-Putnam-Logemann-Loveland procedure[Davis and Putnam, 1960], [Davis et al., 1962b], [Davis et al., 1962a],[Davis, 1963], [Chinlund et al., 1964]
FDPLL – First-Order DPLL [Baumgartner, 2000]
ME – Model Evolution Calculus [Baumgartner and Tinelli, 2003]
• ME with Equality [Baumgartner and Tinelli, 2005]
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 6
![Page 13: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/13.jpg)
Development of IMs (II)
HL – Hyperlinking [Lee and Plaisted, 1992]
SHL – Semantic Hyper Linking [Chu and Plaisted, 1994]
OSHL – Ordered Semantic Hyper Linking[Plaisted and Zhu, 1997]
PPI – Primal Partial Instantiation (1994) [Hooker et al., 2002]
“Inst-Gen” [Ganzinger and Korovin, 2003]
MACE-Style Finite Model Buiding [McCune, 1994],. . . ,[Claessen and Sörensson, 2003]
DC – Disconnection Method [Billon, 1996]
HTNG - Hyper Tableaux Next Generation [Baumgartner, 1998]
DCTP – Disconnection Tableaux [Letz and Stenz, 2001]
Ginsberg & Parkes method [Ginsberg and Parkes, 2000]
OSHT – Ordered Semantic Hyper Tableaux [Yahya and Plaisted, 2002]
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 7
![Page 14: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/14.jpg)
Two-Level vs. One-Level Calculi
Two-Level Calculi
Separation between instance generation and SAT solving phase
Uses (arbitrary) propositional SAT solver as a subroutine
DPLL, HL, SHL, OSHL, PPI, Inst-Gen
Problem: how to tell SAT solver e.g. ∀xP(x)?
· · ·
C1(x1)C2(x2)
Current clauses
instancesAdd input clause
ground
· · ·
C1($)C2($)
Propositionallyunsatisfiable?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 8
![Page 15: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/15.jpg)
Two-Level vs. One-Level Calculi
One-Level CalculiMonolithic: one single base calculus, two modes of operationFirst-order mode: builds base calculus data structure from inputclause instancesPropositional mode: $-instance of data structures drives first-ordermodeHyperTableaux NG, DCTP (see Part II), OSHT, FDPLL, ME
L1(x1)
· · ·L2(x2)
clause instancesCurrent branchunsatisfiable?
Extend by input
· · ·L2($)
L1($)
First-order mode Propositional mode
ground
E.g. Tableaux:
Next: two-level calculus “Inst-Gen”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 9
![Page 16: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/16.jpg)
Two-Level vs. One-Level Calculi
One-Level CalculiMonolithic: one single base calculus, two modes of operationFirst-order mode: builds base calculus data structure from inputclause instancesPropositional mode: $-instance of data structures drives first-ordermodeHyperTableaux NG, DCTP (see Part II), OSHT, FDPLL, ME
L1(x1)
· · ·L2(x2)
clause instancesCurrent branchunsatisfiable?
Extend by input
· · ·L2($)
L1($)
First-order mode Propositional mode
ground
E.g. Tableaux:
Next: two-level calculus “Inst-Gen”Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 9
![Page 17: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/17.jpg)
Inst-Gen
We have chosen Inst-Gen for presentation because of its elegance
and simplicity
Talk proceeds with
Idea behind Inst-Gen
(it provides a clue to the working of two-level calculi)
Inst-Gen calculus
Comparison to Resolution
Mentioning some improvements, as justified by “idea behind”
See [Ganzinger and Korovin, 2003] for details
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 10
![Page 18: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/18.jpg)
Inst-Gen - Underlying Idea (I)
Important notation: ⊥ denotes both a unique constant and a
substitution that maps every variable to⊥.
Example (S is “current clause set”):
S : P(x, y)∨P(y, x)
¬P(x, x)
S⊥ : P(⊥,⊥)∨P(⊥,⊥)
¬P(⊥,⊥)
Analyze S⊥:
Case 1: SAT detects unsatisfiability of S⊥
Then Conclude S is unsatisfiable
But what if S⊥ is satisfied by some model, denoted by I⊥?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 11
![Page 19: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/19.jpg)
Inst-Gen - Underlying Idea (I)
Important notation: ⊥ denotes both a unique constant and a
substitution that maps every variable to⊥.
Example (S is “current clause set”):
S : P(x, y)∨P(y, x)
¬P(x, x)
S⊥ : P(⊥,⊥)∨P(⊥,⊥)
¬P(⊥,⊥)
Analyze S⊥:
Case 1: SAT detects unsatisfiability of S⊥
Then Conclude S is unsatisfiable
But what if S⊥ is satisfied by some model, denoted by I⊥?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 11
![Page 20: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/20.jpg)
Inst-Gen - Underlying Idea (II)
Main idea: associate to model I⊥ of S⊥ a candidate model IS of S.
Calculus goal: add instances to S so that IS becomes a model of S
Example:
S : P(x)∨Q(x)
¬P(a)
S⊥ : P(⊥)∨Q(⊥)
¬P(a)
Analyze S⊥:
Case 2: SAT detects model I⊥ = {P(⊥),¬P(a)} of S⊥
Case 2.1: candidate model IS = {¬P(a)} derived from
literals selected in S by I⊥ is not a model of S
Add “problematic” instance P(a)∨Q(a) to S to refine IS
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 12
![Page 21: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/21.jpg)
Inst-Gen - Underlying Idea (II)
Main idea: associate to model I⊥ of S⊥ a candidate model IS of S.
Calculus goal: add instances to S so that IS becomes a model of S
Example:
S : P(x)∨Q(x)
¬P(a)
S⊥ : P(⊥)∨Q(⊥)
¬P(a)
Analyze S⊥:
Case 2: SAT detects model I⊥ = {P(⊥),¬P(a)} of S⊥
Case 2.1: candidate model IS = {¬P(a)} derived from
literals selected in S by I⊥ is not a model of S
Add “problematic” instance P(a)∨Q(a) to S to refine IS
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 12
![Page 22: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/22.jpg)
Inst-Gen - Underlying Idea (III)
Clause set after adding P(a)∨Q(a)
S : P(x)∨Q(x)
P(a)∨Q(a)
¬P(a)
S⊥ : P(⊥)∨Q(⊥)
P(a)∨Q(a)
¬P(a)
Analyze S⊥:
Case 2: SAT detects model I⊥ = {P(⊥),Q(a),¬P(a)} of S⊥
Case 2.2: candidate model IS = {Q(a),¬P(a)} derived from
literals selected in S by I⊥ is a model of S
Then conclude S is satisfiable
How to derive candidate model IS?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 13
![Page 23: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/23.jpg)
Inst-Gen - Underlying Idea (III)
Clause set after adding P(a)∨Q(a)
S : P(x)∨Q(x)
P(a)∨Q(a)
¬P(a)
S⊥ : P(⊥)∨Q(⊥)
P(a)∨Q(a)
¬P(a)
Analyze S⊥:
Case 2: SAT detects model I⊥ = {P(⊥),Q(a),¬P(a)} of S⊥
Case 2.2: candidate model IS = {Q(a),¬P(a)} derived from
literals selected in S by I⊥ is a model of S
Then conclude S is satisfiable
How to derive candidate model IS?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 13
![Page 24: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/24.jpg)
Inst-Gen - Model Construction
It provides (partial) interpretation for Sground for given clause set S
S : P(x)∨Q(x)
P(a)∨Q(a)
¬P(a)
Σ = {a, b}, Sground : P(b)∨Q(b)
P(a)∨Q(a)
¬P(a)
For each Cground ∈ Sground find most specific C ∈ S that can beinstantiated to CgroundSelect literal in Cground corresponding to selected literal in that CAdd selected literal of that Cground to IS if not in conflict with IS
Thus, IS = {P(b),Q(a),¬P(a)}
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 14
![Page 25: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/25.jpg)
Inst-Gen - Summary so far
Previous slides showed the main ideas underlying the working ofcalculus - not the calculus itself
The models I⊥ and the candidate model IS are not needed in thecalculus, but justify improvements
And they provide the conceptual tool for the completeness proof:as instances of clauses are added, the initial approximation of amodel of S is refined more and more
The purpose of this refinement is to remove conflicts “A – ¬A” byselecting different literals in instances of clauses
If this process does not lead to a refutation, every ground instanceCγ of a clause C ∈ S will be assigned true by some sufficientlydeveloped candidate model
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 15
![Page 26: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/26.jpg)
Inst-Gen Inference Rule
Inst-GenC∨L L′∨D
(C∨L)θ (L′∨D)θwhere
(i) θ = mgu(L, L′), and
(ii) θ is a proper instantiator: maps some variables to nonvariableterms
Example:
Inst-GenQ(x)∨P(x, b) ¬P(a, y)∨R(y)Q(a)∨P(a, b) ¬P(a, b)∨R(b) where
(i) θ = mgu(P(x, b),¬P(a, y)) = {x→a, y→b}, and
(ii) θ is a proper instantiator
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 16
![Page 27: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/27.jpg)
Inst-Gen - Outer Loop
f.o. clauses
S
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 17
![Page 28: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/28.jpg)
Inst-Gen - Outer Loop
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 17
![Page 29: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/29.jpg)
Inst-Gen - Outer Loop
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥
S is unsatisfiable
S⊥ UnSAT
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 17
![Page 30: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/30.jpg)
Inst-Gen - Outer Loop
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥
S is unsatisfiable
S⊥ UnSAT
I⊥ |= L⊥, L′⊥ θ = mgu(L, L′)
S⊥ SAT
I⊥ |= S⊥
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 17
![Page 31: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/31.jpg)
Inst-Gen - Outer Loop
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥
S is unsatisfiable
S⊥ UnSAT
C∨L L′∨D(C∨L)θ (L′∨D)θ
I⊥ |= L⊥, L′⊥ θ = mgu(L, L′)
S⊥ SAT
I⊥ |= S⊥
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 17
![Page 32: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/32.jpg)
Properties and Improvements
As efficient as possible in propositional case
Literal selection in the calculus
Require “back channel” from SAT solver (output of models) toselect literals in S (as obtained in I⊥)
Restrict inference rule application to selected literals
Need only consider instances falsified in IS
Allows to extract model if S is finitely saturated
Flexibility: may change models I⊥ arbitrarily during derivation
Hyper-type inference rule, similar to Hyper Linking[Lee and Plaisted, 1992]
Subsumption deletion by proper subclauses
Special variables: allows to replace SAT solver by solver for richerfragment (guarded fragment, two-variable fragment)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 18
![Page 33: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/33.jpg)
Resolution vs. Inst-Gen
Resolution Inst-Gen
(C∨L) (L′∨D)(C∨D)θ
θ = mgu(L, L′)
C∨ L L′∨D(C∨ L)θ (L′∨D)θ
θ = mgu(L, L′)
• Inefficient in propositional case
• Length of clauses can grow fast
• Recombination of clauses
• Subsumption deletion
• A-Ordered resolution: selectionbased on term orderings
• Difficult to extract model
• Decides guarded fragment,two-variable fragment, someclasses defined by Leitsch et al.,not Bernays-Schönfinkel class
• Efficient in propositional case
• Length of clauses fixed
• No recombination of clauses
• Subsumption deletion limited
• Selection based on propositionalmodel
• Easy to extract model
• Decides Bernays-Schönfinkelclass, nothing else known yet
• Current CASC-winning provers use ResolutionInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 19
![Page 34: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/34.jpg)
Other Two-Level Calculi (I)
DPLL - Davis-Putnam-Logemann-Loveland Procedure
Weak concept of redundancy already present (purity deletion)
PPI – Primal Partial Instantiation
Comparable to Inst-Gen, but see [Jacobs and Waldmann, 2005]
With fixed iterative deepening over term-depth bound
MACE-Style Finite Model Buiding (Different Focus)
Enumerate finite domains {0}, {0, 1}, {0, 1, 2}, . . .
Transform clause set to encode search for model with finite domain
Apply (incremental) SAT solver
Complete for finite models, not refutationally completeInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 20
![Page 35: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/35.jpg)
Other Two-Level Calculi (II) - HL and SHL
HL - Hyper Linking (Clause Linking)
Uses hyper type of inference rule, based on simultaneous mgu ofnucleus and electrons
Doesn’t use selection (no guidance from propositional model)
SHL - Semantic Hyper Linking
Uses “back channel” from SAT solver to guide search: find singleground clause Cγ so that I⊥ 6|= Cγ and add it
Doesn’t use unification; basically guess ground instance, but . . .
Practical effectiveness achieved by other devices:
Start with “natural” initial interpretation
“Rough resolution” to eliminate “large” literals
Predicate replacement to unfold definitions [Lee and Plaisted, 1989]
See also important paper [Plaisted, 1994]Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 21
![Page 36: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/36.jpg)
Other Two-Level Calculi (III) - OSHL
OSHL - Ordered Semantic Hyper Linking [Plaisted and Zhu, 1997],[Plaisted and Zhu, 2000]
Goal-orientation by chosing “natural” initial interpretation I0 thatfalsifies (negated) theorem clause, but satisfies most of the theoryclauses
Stepwisely modify I0Modified interpretation represented as I0(L1, . . . , Lm)(which is like I0 except for ground literals L1, . . . , Lm)
Completeness via fair enumeration of modifications
Special treatment of unit clauses
Subsumption by proper subclauses
Uses A-ordered resolution as propositional decision procedure
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 22
![Page 37: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/37.jpg)
OSHL Proof Procedure
Input: S, I0 ;; S input clauses, I0 initial interpretationI := I0 ;; Current interpretationG := {} ;; Set of current ground instances of clauses of Swhile {} /∈ G do
if I |= S ;; . . . and this can be detectedthen return “satisfiable”
search C ∈ S and γsuch that I 6|= Cγ ;; Instance generation
G := simplify (G,Cγ) ;; Have Cγ ∈ G after simplificationI := update(I0,G) ;; Update such that I |= G
odreturn “unsatisfiable”
How to search C and γ for given I = I0(L1, . . . , Lm)
Guess C ∈ S and partition C = C1 ∪ C2
Let θ matcher of C1 to (L1, . . . , Lm)
Guess δ s.th. I0(L1, . . . , Lm) 6|= Cγ, where γ = θδInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 23
![Page 38: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/38.jpg)
Search and Update in OSHL
Io = {Ra}
(all other atoms false)
S: (1) R(a) ← (4) ←Q(a, c)
(2) P(x) ←R(a) (5) ←R(c)
(3) R(y)∨Q(x, y)←P(x)OSHL Refutation:(2) I0 6|= P(x)←R(a)
I0 6|= P(a)←R(a)
(3) I0(P(a)) 6|= R(y)∨Q(x, y)←P(x)
I0(P(a)) 6|= R(y)∨Q(a, y)←P(a)
I0(P(a)) 6|= R(c)∨Q(a, c)←P(a)
(5) I0(P(a),R(c)) 6|= ←R(c)
(4) I0(P(a),Q(a, c)) 6|= ←Q(a, c)
(1) I0(¬R(a)) 6|= R(a)←
Unsatisfiable
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 24
![Page 39: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/39.jpg)
IMs - Classification
Recall:
Two-level calculi: instance generation separated from SAT solving –may use any SAT solver
One-level calculi: monolithic, with two modes of operation:First-order mode and propositional modeDeveloped so far:
IM Extended CalculusDC Connection Method, TableauxDCTP TableauxOSHT Hyper TableauxHyper Tableaux NG Hyper TableauxFDPLL DPLLME DPLL
Next: one-level calculus: FDPLL (simpler) / ME (better)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 25
![Page 40: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/40.jpg)
IMs - Classification
Recall:
Two-level calculi: instance generation separated from SAT solving –may use any SAT solver
One-level calculi: monolithic, with two modes of operation:First-order mode and propositional modeDeveloped so far:
IM Extended CalculusDC Connection Method, TableauxDCTP TableauxOSHT Hyper TableauxHyper Tableaux NG Hyper TableauxFDPLL DPLLME DPLL
Next: one-level calculus: FDPLL (simpler) / ME (better)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 25
![Page 41: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/41.jpg)
Motivation for FDPLL/ME
FDPLL: lifting of propositional core of DPLL to F irst-order logic
Why?
Migrate to the first-order level those very effective techniquesdeveloped for propositional DPLL
From propositional DPLL: binary splitting, backjumping, learning,restarts, selection heuristics, simplification, . . .Not all achieved yet; simplification not in FDPLL, but in ME
Successful first-order techniques: unification, special treatment ofunit clauses, subsumption (limited)
Theorem Proving: alternative to established methods
Model computation:counterexamples, diagnosis, abduction, planning, nonmonotonicreasoning,. . . – largely unexplored
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 26
![Page 42: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/42.jpg)
Contents FDPLL/ME Part
Propositional DPLL as a semantic tree method
FDPLL calculus
Model Evolution calculus
FDPLL/ME vs. OSHL
FDPLL/ME vs. Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 27
![Page 43: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/43.jpg)
Propositional DPLL as a Semantic Tree Method
(1) A∨B (2) C∨¬A (3) D∨¬C∨¬A (4) ¬D∨¬B
{} 6|= A∨B
{} |= C∨¬A
{} |= D∨¬C∨¬A
{} |= ¬D∨¬B
〈empty tree〉
A Branch stands for an interpretation
Purpose of splitting: satisfy a clause that is currently falsified
Close branch if some clause is plainly falsified by it (?)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 28
![Page 44: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/44.jpg)
Propositional DPLL as a Semantic Tree Method
(1) A∨B (2) C∨¬A (3) D∨¬C∨¬A (4) ¬D∨¬B
{A} |= A∨B
{A} 6|= C∨¬A
{A} |= D∨¬C∨¬A
{A} |= ¬D∨¬B
A ¬A
A Branch stands for an interpretation
Purpose of splitting: satisfy a clause that is currently falsified
Close branch if some clause is plainly falsified by it (?)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 28
![Page 45: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/45.jpg)
Propositional DPLL as a Semantic Tree Method
(1) A∨B (2) C∨¬A (3) D∨¬C∨¬A (4) ¬D∨¬B
{A,C} |= A∨B
{A,C} |= C∨¬A
{A,C} 6|= D∨¬C∨¬A
{A,C} |= ¬D∨¬B
A
C ¬C
¬A
?
A Branch stands for an interpretation
Purpose of splitting: satisfy a clause that is currently falsified
Close branch if some clause is plainly falsified by it (?)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 28
![Page 46: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/46.jpg)
Propositional DPLL as a Semantic Tree Method
(1) A∨B (2) C∨¬A (3) D∨¬C∨¬A (4) ¬D∨¬B
{A,C,D} |= A∨B
{A,C,D} |= C∨¬A
{A,C,D} |= D∨¬C∨¬A
{A,C,D} |= ¬D∨¬B
A
C ¬C
D ¬D
¬A
?
?
Model {A,C,D} found.
A Branch stands for an interpretation
Purpose of splitting: satisfy a clause that is currently falsified
Close branch if some clause is plainly falsified by it (?)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 28
![Page 47: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/47.jpg)
Propositional DPLL as a Semantic Tree Method
(1) A∨B (2) C∨¬A (3) D∨¬C∨¬A (4) ¬D∨¬B
{B} |= A∨B
{B} |= C∨¬A
{B} |= D∨¬C∨¬A
{B} |= ¬D∨¬B
A
C ¬C
D ¬D
¬A
¬B
?
? ?
Model {B} found.
B
A Branch stands for an interpretation
Purpose of splitting: satisfy a clause that is currently falsified
Close branch if some clause is plainly falsified by it (?)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 28
![Page 48: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/48.jpg)
Meta-Level Strategy
Lifted data structures:
DPLL FDPLL
Clauses B∨C P(x, y)∨Q(x, x)
SemanticTrees
B
A ¬A
¬B
C ¬C?
P(x, y) ¬P(x, y)
¬P(x, a) P(x, a)
¬Q(x, y)?
Q(x, y)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 29
![Page 49: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/49.jpg)
First-Order Semantic Trees
P(x, y) ¬P(x, y)
¬P(x, a) P(x, a)
¬Q(x, y)?
Q(x, y)
Issues:
How are variables treated?
(a) Universal?, (b) Rigid?, (c) Schematic!
What is the interpretation represented by a branch?
Clue to understanding of FDPLL (as is for Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 30
![Page 50: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/50.jpg)
Extracting an Interpretation from a Branch
Branch B:
P(x, y)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 51: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/51.jpg)
Extracting an Interpretation from a Branch
Branch B:
P(a, a)
P(a, b)
P(b, a)
P(b, b)
P(x, y)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 52: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/52.jpg)
Extracting an Interpretation from a Branch
Branch B:
P(a, a)
P(a, b)
P(b, a)
P(b, b)
P(x, y)
¬P(a, y)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 53: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/53.jpg)
Extracting an Interpretation from a Branch
Branch B:
¬P(a, a)
¬P(a, b)
P(b, a)
P(b, b)
P(x, y)
¬P(a, y)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 54: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/54.jpg)
Extracting an Interpretation from a Branch
Branch B:
¬P(a, a)
¬P(a, b)
P(b, a)
P(b, b)
P(x, y)
¬P(a, y)
¬P(b, b)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 55: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/55.jpg)
Extracting an Interpretation from a Branch
Branch B:
¬P(a, a)
¬P(a, b)
P(b, a)
¬P(b, b)
P(x, y)
¬P(a, y)
¬P(b, b)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 56: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/56.jpg)
Extracting an Interpretation from a Branch
Branch B:
¬P(a, a)
¬P(a, b)
P(b, a)
¬P(b, b)
P(x, y)
¬P(a, y)
¬P(b, b)
P(a, b)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 57: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/57.jpg)
Extracting an Interpretation from a Branch
Branch B:
¬P(a, a)
P(a, b)
P(b, a)
¬P(b, b)
P(x, y)
¬P(a, y)
¬P(b, b)
P(a, b)
Interpretation IB = {...}:
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matter
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 58: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/58.jpg)
Extracting an Interpretation from a Branch
Branch B: Interpretation IB = {. . .}:
{
}
, ,
,
P(x, y)
P(a, b)P(a, b)
¬P(a, y)
¬P(b, b)
¬P(a, a) P(b, a)
¬P(b, b)
A branch literal specifies the truth values for all its groundinstances, unless there is a more specific literal specifying theopposite truth value
The order of literals does not matterInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 31
![Page 59: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/59.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
〈emptytree〉
Init
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 60: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/60.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
? ?
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 61: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/61.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
? ?Closed?
No Yes
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 62: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/62.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
unsatisfiable
? ?Closed?
No
STOP:
Yes
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 63: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/63.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
unsatisfiablebranch B
? ?
? ?
Closed?
STOP:
Yes
B
No
Select open
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 64: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/64.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
branch B unsatisfiable
B
? ?
? ?
No
Yes
Closed?
STOP:
No
Select open
Yes
IB?|= S
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 65: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/65.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
branch B unsatisfiable
satisfiable
? ?
? ?
No
Closed?
STOP:
No
Select open
Yes
IB?|= S
Yes
STOP:
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 66: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/66.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
branch B
satisfiable
unsatisfiableand split Bwith L and ¬L
L ¬L
? ?
STOP:
Yes
Closed?
STOP:
No
Select open
Yes
IB?|= S
Select literal L
No
? ?
Not here: FDPLL derivation rules for testing IB |= S and Splitting
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 67: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/67.jpg)
FDPLL Calculus - Main Loop
Input: a clause set SOutput: “unsatisfiable” or “satisfiable” (if it terminates)Note: Strategy much like in inner loop of propositional DPLL:
branch B unsatisfiableand split Bwith L and ¬L
satisfiable
L ¬L
? ?
Closed?
STOP:
No
Select open
YesSelect literal L
No
IB?|= S
Yes
STOP:
? ?
Not here: FDPLL derivation rules for testing IB |= S and SplittingInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 32
![Page 68: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/68.jpg)
FDPLL – Model Computation Example
(1) train(X,Y) ; flight(X,Y). %% train from X to Y or flight from X to Y.
(2) -flight(sb,X). %% no flight from sb to anywhere.
(3) flight(X,Y) :- flight(Y,X). %% flight is symmetric.
(4) connect(X,Y) :- flight(X,Y). %% a flight is a connection.
(5) connect(X,Y) :- train(X,Y). %% a train is a connection.
(6) connect(X,Z) :- connect(X,Y), %% connection is a transitive relation.
connect(Y,Z).
Computed Model (as output by Darwin implementation)
+ flight(X, Y)
- flight(sb, X)
- flight(X, sb)
+ train(sb, Y)
+ train(Y, sb)
+ connect(X, Y)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 33
![Page 69: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/69.jpg)
FDPLL – Model Computation Example
(1) train(X,Y) ; flight(X,Y). %% train from X to Y or flight from X to Y.
(2) -flight(sb,X). %% no flight from sb to anywhere.
(3) flight(X,Y) :- flight(Y,X). %% flight is symmetric.
(4) connect(X,Y) :- flight(X,Y). %% a flight is a connection.
(5) connect(X,Y) :- train(X,Y). %% a train is a connection.
(6) connect(X,Z) :- connect(X,Y), %% connection is a transitive relation.
connect(Y,Z).
Computed Model (as output by Darwin implementation)
+ flight(X, Y)
- flight(sb, X)
- flight(X, sb)
+ train(sb, Y)
+ train(Y, sb)
+ connect(X, Y)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 33
![Page 70: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/70.jpg)
FDPLL Model Computation Example - Derivation
•
Clause instance used in inference: train(x, y)∨flight(x, y)
Done.
Return “satisfiable with model {flight (x, y), . . . ,connect(x, y)}”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 71: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/71.jpg)
FDPLL Model Computation Example - Derivation
¬flight(x, y)flight(x, y)
Clause instance used in inference: ¬flight(sb, x)
Done. Return
“satisfiable with model {flight(x, y), . . . ,connect(x, y)}”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 72: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/72.jpg)
FDPLL Model Computation Example - Derivation
flight(x, y) ¬flight(x, y)
flight(sb, x)¬flight(sb, x)
Clause instance used in inference: train(sb, y)∨flight(sb, y)
Done. Return “satisfiable with model
{flight(x, y), . . . ,connect(x, y)}”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 73: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/73.jpg)
FDPLL Model Computation Example - Derivation
flight(x, y) ¬flight(x, y)
flight(sb, x)
¬train(sb, y)train(sb, y)
¬flight(sb, x)
Clause instance used in inference: flight(sb, y)∨¬flight(y, sb)
Done. Return “satisfiable with model
{flight(x, y), . . . ,connect(x, y)}”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 74: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/74.jpg)
FDPLL Model Computation Example - Derivation
flight(x, y)
¬flight(sb, x)
train(sb, y)
¬flight(x, y)
flight(sb, x)
¬train(sb, y)
flight(y, sb)¬flight(y, sb)
Clause instance used in inference: train(x, sb)∨flight(x, sb)
Done. Return “satisfiable with model
{flight(x, y), . . . ,connect(x, y)}”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 75: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/75.jpg)
FDPLL Model Computation Example - Derivation
¬flight(sb, x)
train(sb, y)
¬flight(y, sb)
train(x, sb)
¬flight(x, y)
flight(sb, x)
¬train(sb, y)
flight(y, sb)
¬train(x, sb)
flight(x, y)
Clause instance used in inference: connect(x, y)∨¬flight(x, y)
Done. Return “satisfiable with model
{flight(x, y), . . . ,connect(x, y)}”
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 76: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/76.jpg)
FDPLL Model Computation Example - Derivation
flight(x, y)
¬flight(sb, x)
train(sb, y)
¬flight(y, sb)
train(x, sb)
connect(x, y)
¬flight(x, y)
flight(sb, x)
¬train(sb, y)
flight(y, sb)
¬train(x, sb)
¬connect(x, y)
Done. Return “satisfiable with model
{flight(x, y), . . . ,connect(x, y)}”Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 34
![Page 77: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/77.jpg)
Model Evolution (ME) Calculus
Same motivation as for FDPLL: lift propositional DPLL to first-order
Loosely based on FDPLL, but wouldn’t call it “extension”
Extension of Tinelli’s sequent-style DPLL [Tinelli, 2002]
See [Baumgartner and Tinelli, 2003] for calculus,
[Baumgartner et al., 2005] for implementation “Darwin”
Difference to FDPLL
Systematic treatment of universal and schematic variables
Includes first-order versions of unit simplification rules
Presentation as a sequent-style calculus, to cope with dynamically
changing branches and clause sets due to simplification
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 35
![Page 78: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/78.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
• Branches and clause sets may shrink as the derivation proceeds
• Such dynamics is best modeled with a sequent style calculus:
Model Evolution Calculus – Data Structure
Context: A set of literals
(the „current branch“)
Current Clause Set
Λ � Φ
Derivation Rules
–Simplification rules
–Split
–Close
![Page 79: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/79.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
• Branches and clause sets may shrink as the derivation proceeds
• Such dynamics is best modeled with a sequent style calculus:
Model Evolution Calculus – Data Structure
Context: A set of literals
(the „current branch“)
Current Clause Set
Λ � Φ
¬v � Input clause set
Λ1 � Φ1
Λ2 � Φ2
Λn � Φn
closed
Derivation Rules
–Simplification rules
–Split
–Close
Derivations
![Page 80: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/80.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules - Split
SplitΛ, Lσ � Φ, C ∨ L Λ, Lσ � Φ, C ∨ L
Λ � Φ, C ∨ L
σ C ∨ L
Lσ LσΛ current context
Φ, C ∨ L current clause set
if
1. σ is a simultaneous mgu of C ∨ L against Λ,2. neither Lσ nor Lσ is contained in Λ, and3. Lσ contains no variables (schematic variables OK, for simplicity here)
![Page 81: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/81.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Split Example
SplitΛ, Lσ � Φ, C ∨ L Λ, Lσ � Φ, C ∨ L
Λ � Φ, C ∨ L
Λ: P (u, u) Q(v, b)
C ∨ L : ¬P (x, y) ∨ ¬Q(a, z)
if
1. σ is a simultaneous mgu of C ∨ L against Λ,2. neither Lσ nor Lσ is contained in Λ, and3. Lσ contains no variables (schematic variables OK, for simplicity here)
![Page 82: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/82.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Split Example
SplitΛ, Lσ � Φ, C ∨ L Λ, Lσ � Φ, C ∨ L
Λ � Φ, C ∨ L
Λ: P (u, u) Q(v, b)
C ∨ L : ¬P (x, y) ∨ ¬Q(a, z)
(C ∨ L)σ : ¬P (x, x) ∨ ¬Q(a, b)
σ = { x �→ u, y �→ u,
v �→ a, z �→ b }
if
1. σ is a simultaneous mgu of C ∨ L against Λ,2. neither Lσ nor Lσ is contained in Λ, and3. Lσ contains no variables (schematic variables OK, for simplicity here)
![Page 83: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/83.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Split Example
2. violated 2. satisfied
SplitΛ, Lσ � Φ, C ∨ L Λ, Lσ � Φ, C ∨ L
Λ � Φ, C ∨ L
Λ: P (u, u) Q(v, b)
C ∨ L : ¬P (x, y) ∨ ¬Q(a, z)
(C ∨ L)σ : ¬P (x, x) ∨ ¬Q(a, b)
σ = { x �→ u, y �→ u,
v �→ a, z �→ b }
Lσ = ¬Q(a, b) is admissible for Split
if
1. σ is a simultaneous mgu of C ∨ L against Λ,2. neither Lσ nor Lσ is contained in Λ, and3. Lσ contains no variables (schematic variables OK, for simplicity here)
![Page 84: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/84.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Close
Close
Λ current context
σ
Φ, C current clause set
C
Λ � Φ, C
Λ � ⊥
if
1. Φ = ∅ or C = ⊥, and2. there is a simultaneous mgu σ of C against Λ such thatΛ contains the complement of each literal of Cσ
⊥
![Page 85: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/85.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Close Example
CloseΛ � Φ, C
Λ � ⊥
if
1. Φ = ∅ or C = ⊥, and2. there is a simultaneous mgu σ of C against Λ such thatΛ contains the complement of each literal of Cσ
Λ: P (u, u) Q(a, b)
C : ¬P (x, y) ∨ ¬Q(a, z)
![Page 86: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/86.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Close Example
CloseΛ � Φ, C
Λ � ⊥
if
1. Φ = ∅ or C = ⊥, and2. there is a simultaneous mgu σ of C against Λ such thatΛ contains the complement of each literal of Cσ
Λ: P (u, u) Q(a, b)
C : ¬P (x, y) ∨ ¬Q(a, z)
Cσ : ¬P (x, x) ∨ ¬Q(a, b)
σ = { x �→ u, y �→ u, z �→ b }
![Page 87: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/87.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Close Example
2. satisfied 2. satisfied
Close is applicable
CloseΛ � Φ, C
Λ � ⊥
if
1. Φ = ∅ or C = ⊥, and2. there is a simultaneous mgu σ of C against Λ such thatΛ contains the complement of each literal of Cσ
Λ: P (u, u) Q(a, b)
C : ¬P (x, y) ∨ ¬Q(a, z)
Cσ : ¬P (x, x) ∨ ¬Q(a, b)
σ = { x �→ u, y �→ u, z �→ b }
![Page 88: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/88.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Simplification Rules (1)
Subsume
Propositional level:
First-order level ≈≈≈≈ unit subsumption:
- All variables in context literal L must be universally quantified
- Replace equality by matching
Λ, L � Φ, L ∨ C
Λ, L � Φ
![Page 89: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/89.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Simplification Rules (2)
Resolve
Propositional level:
First-order level ≈≈≈≈ restricted unit resolution
- All variables in context literal L must be universally quantified
- Replace equality by unification- The unifier must not modify C
Λ, L � Φ, L ∨ C
Λ, L � Φ, C
![Page 90: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/90.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivation Rules – Simplification Rules (3)
CompactΛ, K, L � Φ
Λ, K � Φ
if
1. all variables in K are universally quantified2. Kσ = L, for some substitution σ
![Page 91: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/91.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
![Page 92: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/92.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
Λ1 � Φ1
![Page 93: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/93.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
Λ1 � Φ1
closed
![Page 94: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/94.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
Λ1 � Φ1
Λ2 � Φ2
Λn � Φn
closed
![Page 95: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/95.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
Λ1 � Φ1
Λ2 � Φ2
Λn � Φn
Φ∞ :=⋃i≥0
⋂j≥i Φj
closed
![Page 96: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/96.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
Λ1 � Φ1
Λ2 � Φ2
Λn � Φn
Λ∞ :=⋃i≥0
⋂j≥i Λj
Φ∞ :=⋃i≥0
⋂j≥i Φj
closed
![Page 97: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/97.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Derivations and Completeness
¬v � Input clause set
Λ1 � Φ1
Λ2 � Φ2
Λn � Φn
Λ∞ :=⋃i≥0
⋂j≥i Λj
Φ∞ :=⋃i≥0
⋂j≥i Φj
closed
FairnessClosed tree or open limit tree,with some branch satisfying:
1. Close not applicable to any Λi2. For all C ∈ Φ∞ and subst. γ,
"if for some i, Λi |= Cγ
then there is j ≥ i
such that Λj |= Cγ
(Use Split to achieve this)
CompletenessSuppose a fair derivationof an open limit tree
Show that Λ∞ |= Φ∞
![Page 98: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/98.jpg)
Instance Based Methods - Tutorial at TABLEAUX 2005
Implementation: Darwin
• „Serious“ Implementation
Part of Master Thesis, continued in Ph.D. project (A. Fuchs)
• (Intended) Applications
• detecting dependent variables in CSP problems
• strong equivalence of logic programs
• Finite countermodels for program verification purposes
• Bernays-Schoenfinkel fragment of autoepistemic logic
• Currently extended:
• Lemma learning
• Equality inference rules [Baumgartner and Tinelli, 2005]
• Written in OCaml, 14K LOC
• User manual, proof tree output (GraphViz)
• Download at http://goedel.cs.uiowa.edu/Darwin/
![Page 99: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/99.jpg)
FDPLL/ME vs. OSHL
Recall OSHL:
Stepwisely modify I0Modified interpretation represented as I0(L1, . . . , Lm)Find next ground instance Cγ by unifying subclause of C against(L1, . . . , Lm) and guess Herbrand-instantiation of rest clause, sothat I0(L1, . . . , Lm) 6|= Cγ
FDPLL/ME
Initial interpretation I0 is a trival one (e.g. “false everywhere”)
But (L1, . . . , Lm) is a set of first-order literals now
Find next (possibly) non-ground instance Cσ by unifying C against(L1, . . . , Lm) so that (L1, . . . , Lm) 6|= Cσ
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 44
![Page 100: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/100.jpg)
FDPLL/ME vs. Inst-Gen
FDPLL/ME and Inst-Gen temporarily switch to propositional reasoning.But:
Inst-Gen (and other two-level calculi)
Use the⊥-version S⊥ of the current clause set S⇒ Works globally, on clause sets
Flexible: may switch focus all the time – but memory problem (?)
FDPLL/ME (and other one-level calculi)
Use the $-version of the current branch
⇒ Works locally in context of current branch
Not so flexible – but don’t expect memory problems:FDPLL/ME need not keep any clause instanceDCTP needs to keep clause instances only along current branch
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 45
![Page 101: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/101.jpg)
Applicability/Non-Applicability of IMs
Comparison: Resolution vs. Tableaux vs. IMs
Conclusions from that
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 46
![Page 102: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/102.jpg)
Resolution vs. Tableaux vs. IMs
Consider a transitivity clause P(x, z)←P(x, y)∧P(y, z)
Resolution
Resolution may generate clauses of unbounded length:
P(x, z′) ← P(x, y)∧P(y, z)∧P(z, z′)
P(x, z′′) ← P(x, y)∧P(y, z)∧P(z, z′)∧P(z′, z′′)
- Does not decide function-free clause sets
- Complicated to extract model
+ (Ordered) Resolution very good on some classes, Equality
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 47
![Page 103: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/103.jpg)
Resolution vs. Tableaux vs. IMs
Consider a transitivity clause P(x, z)←P(x, y)∧P(y, z)
Rigid Variables Approaches (Tableaux, Connection Methods)
Have to use unbounded number of variants per clause:
P(x′, z′) ← P(x′, y′)∧P(y′, z′)
P(x′′, z′′) ← P(x′′, y′′)∧P(y′′, z′′)
- Weak redundancy criteria
- Difficult to exploit proof confluence
Usual calculi backtrack more than theoretically necessary
But see [Giese, 2001], [Baumgartner et al., 1999], [Beckert, 2003]
Model Elimination: goal-orientedness compensates drawbackInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 48
![Page 104: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/104.jpg)
Difficulty with Rigid Variable Methods
Rigid variable methods “destructively” modify data structure
S: ∀x(P(x)∨Q(x))
¬P(a)
¬P(b)
¬Q(b)
(1) P(X)∨Q(X) (2) P(X)∨Q(X)
¬P(a)
(3) P(a)∨Q(a)
¬P(a)
(5) P(a)∨Q(a)
¬P(a)
P(X ′)∨Q(X ′)
¬P(b)
(7) P(a)∨Q(a)
¬P(a)
P(b)∨Q(b)
¬P(b)
¬Q(b)
Connection method (and tableaux) are proof confluent: no deadends
Difficulty to find fairness criterion due to “destructive” nature
All IMs are non-destructive – no problem hereInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 49
![Page 105: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/105.jpg)
Resolution vs. Tableaux vs. IMs
Consider a transitivity clause P(x, z)←P(x, y)∧P(y, z)
Instance Based Methods
May need to generate and keep proper instances of clauses:
P(x, z) ← P(x, y)∧P(y, z)
P(a, z) ← P(a, y)∧P(y, b)
- Cannot use subsumption: weaker than Resolution
- Clauses do not grow in length, no recombination of clauses:
better than Resolution, same as in rigid variables approaches
+ Need not keep variants: better than rigid variables approaches
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 50
![Page 106: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/106.jpg)
Applicability/Non-Applicability of IMs: Conclusions
Suggested applicability for IMs:
Near propositional clause sets
Clause sets without function symbols (except constants)
E.g. Translation from basic modal logics, Datalog
Model computation (sometimes)
Other methods (currently?) better at:
Goal orientation
Equality, theory reasoning
Many decidable fragments (Guarded fragment, two-variable
fragment)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 51
![Page 107: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/107.jpg)
Open Research Problem
ARM (atomic representation of models) [Gottlob and Pichler, 1998]
ARM: set of atoms. Set of all ground instances is an interpretation
Contexts are stronger than ARMs. E.g., for Λ = {P(u,v),¬P(u,u)}
and ΣF = {a/0, f/1} there is no equivalent ARM
Contexts are equivalent to DIGs (Disjunctions of Implicit
Generalizations) [Fermüller and Pichler, 2005]
Contexts cannot represent certain infinite interpretations, e.g.
minimal models of the clause set
P(x)∨P( f (x)), ¬P(x)∨¬P( f (x))
Instance Based Method based on more powerful model representation?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 52
![Page 108: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/108.jpg)
Open Research Problem
ARM (atomic representation of models) [Gottlob and Pichler, 1998]
ARM: set of atoms. Set of all ground instances is an interpretation
Contexts are stronger than ARMs. E.g., for Λ = {P(u,v),¬P(u,u)}
and ΣF = {a/0, f/1} there is no equivalent ARM
Contexts are equivalent to DIGs (Disjunctions of Implicit
Generalizations) [Fermüller and Pichler, 2005]
Contexts cannot represent certain infinite interpretations, e.g.
minimal models of the clause set
P(x)∨P( f (x)), ¬P(x)∨¬P( f (x))
Instance Based Method based on more powerful model representation?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 52
![Page 109: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/109.jpg)
Part II: A Closer LookDisconnection calculus
Theory Reasoning and Equality
Implementations and Techniques
Available Implementations
Proof Procedures
Exploiting SAT techniques
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 53
![Page 110: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/110.jpg)
Disconnection Tableaux
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 54
![Page 111: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/111.jpg)
The Disconnection Calculus(I)
Analytic tableau calculus for first order clause logic
Introduced by J.-P. Billon (1996)
Special characteristics of calculus:
No rigid variables
No variants in tableau
Proof confluence: One proof tree only, no backtracking in search
Saturated branches as indicator of satisfiability
Decision procedure for certain classes of formulae
Related methods: hyper linking, hyper tableaux, first order
Davis-Putnam . . .
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 55
![Page 112: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/112.jpg)
The Disconnection Calculus (II)
Singular inference rule: Linking
Q(x) P(x,b)
R(u, y) ¬P(a, y) S(u,w)
R(x, z)C
D
potentially complementaryliterals on path
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b) S(u′,w′)
R(a, z′)
S(u,w)
R(x, z)C
D
Cσ
Dσ
Concept of ∀-closure of branches
closure by simultaneous instantiation of all variables by the same
constant: path with P(x, y) and ¬P(z, z) is closed
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 56
![Page 113: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/113.jpg)
The Disconnection Calculus (II)
Singular inference rule: Linking
Q(x) P(x,b)
R(u, y) ¬P(a, y) S(u,w)
R(x, z)C
D
unifier for literals:{x/a, y/b}
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b) S(u′,w′)
R(a, z′)
S(u,w)
R(x, z)C
D
Cσ
Dσ
Concept of ∀-closure of branches
closure by simultaneous instantiation of all variables by the same
constant: path with P(x, y) and ¬P(z, z) is closed
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 56
![Page 114: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/114.jpg)
The Disconnection Calculus (II)
Singular inference rule: Linking
Q(x) P(x,b)
R(u, y) ¬P(a, y) S(u,w)
R(x, z)C
D
append instances withsubstitution {x/a, y/b} to path
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b) S(u′,w′)
R(a, z′)
S(u,w)
R(x, z)C
D
Cσ
Dσ
Concept of ∀-closure of branches
closure by simultaneous instantiation of all variables by the same
constant: path with P(x, y) and ¬P(z, z) is closed
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 56
![Page 115: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/115.jpg)
The Disconnection Calculus (II)
Singular inference rule: Linking
Q(x) P(x,b)
R(u, y) ¬P(a, y) S(u,w)
R(x, z)C
D
original path closednew open paths added
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b)∗
S(u′,w′)
R(a, z′)
S(u,w)
R(x, z)C
D
Cσ
Dσ
Concept of ∀-closure of branches
closure by simultaneous instantiation of all variables by the same
constant: path with P(x, y) and ¬P(z, z) is closedInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 56
![Page 116: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/116.jpg)
Proof Search in the Disconnection Calculus
Proof process in two phases:
An initial active path through the formula is don’t-care
nondeterministically selected
Using the links contained in the active path, instances of linked
clauses are used to build a tableau
An open tableau path may be selected don’t-care
nondeterministically, it becomes the next active path
Each link can be used only once on a path (explains the name
"disconnection")
Absence of usable links (saturation of a path) indicates satisfiability
of the formula
Only requirement for (strong) completeness: fairness of link selectionInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 57
![Page 117: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/117.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 118: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/118.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 119: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/119.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y) ¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 120: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/120.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y) ¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 121: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/121.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c) ¬P(a, b)
P(a, b)∗
¬P(b, c)
¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 122: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/122.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c) ¬P(a, b)
P(a, b)∗
¬P(b, c)
¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 123: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/123.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 124: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/124.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 125: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/125.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 126: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/126.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 127: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/127.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
P(a, c) ¬P(a, b) ¬P(b, c)
P(b, c)∗
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 128: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/128.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
P(a, c) ¬P(a, b) ¬P(b, c)
P(b, c)∗
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 129: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/129.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
P(a, c)
¬P(a, c)∗
¬P(a, b) ¬P(b, c)
P(b, c)∗
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 130: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/130.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
P(a, c)
¬P(a, c)∗
¬P(a, b) ¬P(b, c)
P(b, c)∗
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 131: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/131.jpg)
An Example Proof
P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
P(a, c)
¬P(a, c)∗
¬P(a, y)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
¬P(y, c)
P(a, c)
¬P(a, c)∗
¬P(a, b)
P(a, b)∗
¬P(b, c)
P(b, c)∗
∨¬P(x, y)∨¬P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 58
![Page 132: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/132.jpg)
Variant Freeness
Two clauses are variants if they can be obtained from each other by
variable renaming
A tableau is variant-free if no branch contains literals l and k where
the clauses of l and k are variants
All disconnection tableaux are required to be variant-free
Variant-freeness provides essential pruning (weak form of
subsumption)
Vital for model generation
Implies the idea of branch saturation:
A branch is saturated if it cannot be extended in a variant-free manner
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 59
![Page 133: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/133.jpg)
Failed Proof Attempts
Proof attempts may fail - what happens then?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 60
![Page 134: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/134.jpg)
Failed Proof Attempts
Proof attempts may fail - what happens then?
In order to show this, we will change one clause in the previous
example: the signs are inverted
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 60
![Page 135: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/135.jpg)
Failed Proof Attempts
Proof attempts may fail - what happens then?
In order to show this, we will change one clause in the previous
example: the signs are inverted
¬P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
∨P(x, y)∨P(y, z)
Input
Clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 60
![Page 136: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/136.jpg)
Failed Proof Attempts
Proof attempts may fail - what happens then?
In order to show this, we will change one clause in the previous
example: the signs are inverted
¬P(x, z)
P(b, c)
P(a, b)
¬P(a, c)
∨P(x, y)∨P(y, z)
Input
Clauses
Again, we attempt to find a proof
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 60
![Page 137: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/137.jpg)
A Saturated Open Tableau
¬P(x, z)
¬P(c, b)
¬P(a, b)
P(a, c)
¬P(a, c)∗
P(a, y)
¬P(a, c)∗
P(a, b)∗
P(b, c)
¬P(b, c)∗
P(b, y)
¬P(b, z)∗
P(b, y)
¬P(a, z)∗
P(a, y)
¬P(a, z)∗
P(a, b)∗
P(b, z)
P(y, z)
P(y, z)
P(y, c)
P(y, c)
∨P(x, y)∨P(y, z)
Input
Clauses
This open tableau cannot be
closed
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 61
![Page 138: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/138.jpg)
A Saturated Open Tableau
¬P(x, z)
¬P(c, b)
¬P(a, b)
P(a, c)
¬P(a, c)∗
P(a, y)
¬P(a, c)∗
P(a, b)∗
P(b, c)
¬P(b, c)∗
P(b, y)
¬P(b, z)∗
P(b, y)
¬P(a, z)∗
P(a, y)
¬P(a, z)∗
P(a, b)∗
P(b, z)saturated branch
P(y, z)
P(y, z)
P(y, c)
P(y, c)
∨P(x, y)∨P(y, z)
Input
Clauses
This open tableau cannot be
closed
Indicated branch is saturated
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 61
![Page 139: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/139.jpg)
A Saturated Open Tableau
¬P(x, z)
¬P(c, b)
¬P(a, b)
P(a, c)
¬P(a, c)∗
P(a, y)
¬P(a, c)∗
P(a, b)∗
P(b, c)
¬P(b, c)∗
P(b, y)
¬P(b, z)∗
P(b, y)
¬P(a, z)∗
P(a, y)
¬P(a, z)∗
P(a, b)∗
P(b, z)saturated branch
P(y, z)
P(y, z)
P(y, c)
P(y, c)
∨P(x, y)∨P(y, z)
Input
Clauses
This open tableau cannot be
closed
Indicated branch is saturated
Saturated open branch
provides model
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 61
![Page 140: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/140.jpg)
A Saturated Open Tableau
¬P(x, z)
¬P(c, b)
¬P(a, b)
P(a, c)
¬P(a, c)∗
P(a, y)
¬P(a, c)∗
P(a, b)∗
P(b, c)
¬P(b, c)∗
P(b, y)
¬P(b, z)∗
P(b, y)
¬P(a, z)∗
P(a, y)
¬P(a, z)∗
P(a, b)∗
P(b, z)saturated branch
P(y, z)
P(y, z)
P(y, c)
P(y, c)
∨P(x, y)∨P(y, z)
Input
Clauses
This open tableau cannot be
closed
Indicated branch is saturated
Saturated open branch
provides model
How to extract model?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 61
![Page 141: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/141.jpg)
Instance Preserving Enumerations
Instance Preserving Enumerations: lists of literal occurrences on a
path
Path literals are partially ordered in enumeration (not unique)
Each literal must occur before all more general instances of itself
Instance preserving enumeration of a saturated open branch implies
model
Example: For the open (sub-) branch
¬P(a)
P(x)
¬P(c)
With Herbrand universe {a, b, c,d, e} and enumera-
tion
[¬P(a) ¬P(c) P(x)]
the model implied is {¬P(a),P(b),¬P(c),P(d),P(e)}
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 62
![Page 142: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/142.jpg)
Model Extraction
We extract an instance preserving enumeration for the open branch of
the preceding tableau:
¬P(c, b)
¬P(a, b)
P(a, c)
¬P(a, c)∨P(a, b)∨ P(b, c)
¬P(a, z)∨P(a, b)∨ P(b, z)
¬P(a, c)∨ P(a, y) ∨P(y, c)
¬P(b, c)∨ P(b, y) ∨P(y, c)
¬P(b, z)∨ P(b, y) ∨P(y, z)
¬P(a, z)∨ P(a, y) ∨P(y, z)
¬P(x, z) ∨P(x, y)∨P(y, z)
From which we get the finite Herbrand
model:
{ ¬P(c, b),¬P(a,b),P(a, c),
P(b, c),P(b,a),P(b,b),
P(a,a),¬P(c,a),¬P(c, c) }
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 63
![Page 143: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/143.jpg)
Model Extraction
We extract an instance preserving enumeration for the open branch of
the preceding tableau:
¬P(c, b)
¬P(a, b)
P(a, c)
¬P(a, c)∨P(a, b)∨ P(b, c)
¬P(a, z)∨P(a, b)∨ P(b, z)
¬P(a, c)∨ P(a, y) ∨P(y, c)
¬P(b, c)∨ P(b, y) ∨P(y, c)
¬P(b, z)∨ P(b, y) ∨P(y, z)
¬P(a, z)∨ P(a, y) ∨P(y, z)
¬P(x, z) ∨P(x, y)∨P(y, z)
From which we get the finite Herbrand
model:
{ ¬P(c, b),¬P(a, b),P(a, c),
P(b, c),P(b,a),P(b, b),
P(a,a),¬P(c,a),¬P(c, c) }
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 63
![Page 144: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/144.jpg)
Infinite Herbrand Models
Model extraction also works for infinite Herbrand universes
Given a saturated tableau with open branch B:
P( f ( f (x)))
P(a)
¬P( f ( f ( f (a))))
1
P( f ( f (a)))
Saturation
state
P( f ( f ( f (a))))
¬P( f ( f ( f (a))))∗
¬P( f (a))
B
Saturation
state
∨¬P(x)P( f (x))∨
1
Input
clauses
S
The enumeration for B
¬P( f ( f ( f (a)))), ¬P( f (a)), P(a), P( f ( f (x)))
implies a finite representation of
an infinite Herbrand model:
{¬P( f ( f ( f (a)))),¬P( f (a)),P(a)},{P( f ( f (s)))}
with the constraint s 6= f (a),
where s ranges over the Her-
brand universe of S.
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 64
![Page 145: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/145.jpg)
Infinite Herbrand Models
Model extraction also works for infinite Herbrand universes
Given a saturated tableau with open branch B:
P( f ( f (x)))
P(a)
¬P( f ( f ( f (a))))
1
P( f ( f (a)))
Saturation
state
P( f ( f ( f (a))))
¬P( f ( f ( f (a))))∗
¬P( f (a))
B
Saturation
state
∨¬P(x)P( f (x))∨
1
Input
clauses
S
The enumeration for B
¬P( f ( f ( f (a)))), ¬P( f (a)), P(a), P( f ( f (x)))
implies a finite representation of
an infinite Herbrand model:
{¬P( f ( f ( f (a)))),¬P( f (a)),P(a)},{P( f ( f (s)))}
with the constraint s 6= f (a),
where s ranges over the Her-
brand universe of S.
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 64
![Page 146: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/146.jpg)
Infinite Herbrand Models
Model extraction also works for infinite Herbrand universes
Given a saturated tableau with open branch B:
P( f ( f (x)))
P(a)
¬P( f ( f ( f (a))))
1
P( f ( f (a)))
Saturation
state
P( f ( f ( f (a))))
¬P( f ( f ( f (a))))∗
¬P( f (a))
B
Saturation
state
∨¬P(x)P( f (x))∨
1
Input
clauses
S
The enumeration for B
¬P( f ( f ( f (a)))), ¬P( f (a)), P(a), P( f ( f (x)))
implies a finite representation of
an infinite Herbrand model:
{¬P( f ( f ( f (a)))),¬P( f (a)),P(a)},{P( f ( f (s)))}
with the constraint s 6= f (a),
where s ranges over the Her-
brand universe of S.
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 64
![Page 147: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/147.jpg)
Completeness
Basic concept: open saturated branch represents partial model
Non-equational case: branch determines path through Herbrand set
non-ground open branch (non-rigid) ground Herbrand set
← →
.
.
.
← →
.
.
.
.
.
.
.
.
.
← →
.
.
.
Closed ground path corresponds to applicable link
⇔ contradicts saturationInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 65
![Page 148: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/148.jpg)
The Saturation Property
Saturated open branch specifies a model (only such a branch)
Model characterised as exception-based representation (EBR)
P( f ( f (x)))
P(a)
¬P( f ( f ( f (a))))
1
P( f ( f (a)))
Saturation
state
P( f ( f ( f (a))))
¬P( f ( f ( f (a))))∗
¬P( f (a))
Saturation
state
∨¬P(x)P( f (x))∨
1Input
clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 66
![Page 149: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/149.jpg)
The Saturation Property
Saturated open branch specifies a model (only such a branch)
Model characterised as exception-based representation (EBR)
P( f ( f (x)))
P(a)
¬P( f ( f ( f (a))))
1
P( f ( f (a)))
Saturation
state
P( f ( f ( f (a))))
¬P( f ( f ( f (a))))∗
¬P( f (a))
Saturation
state
∨¬P(x)P( f (x))∨
1Input
clauses
Model: {¬P( f ( f ( f (a)))),¬P( f (a)),P(a)} ∪ {P( f ( f (s))) : s 6= f (a)}
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 66
![Page 150: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/150.jpg)
The Saturation Property
Saturated open branch specifies a model (only such a branch)
Model characterised as exception-based representation (EBR)
P( f ( f (x)))
P(a)
¬P( f ( f ( f (a))))
1
P( f ( f (a)))
Saturation
state
P( f ( f ( f (a))))
¬P( f ( f ( f (a))))∗
¬P( f (a))
Saturation
state
∨¬P(x)P( f (x))∨
1Input
clauses
EBR for model: {P(a),¬P( f (a)),P( f ( f (x))),¬P( f ( f ( f (a))))}
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 66
![Page 151: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/151.jpg)
An Example for Non-Termination
¬SP(x)¬P(x)Q(x)¬Q(a)
P(x)
¬P(x)∗
¬S
Q(a)∗
¬Q( f (a))
Q( f (a))∗
¬Q( f ( f (a)))...
P( f ( f (a)))
P( f (a))
S∗
∨ S∨¬S∨¬Q( f (x))∨P( f (x))
Input
clauses
The above problem is obviously satisfiable (P true, S and Q false)
However, in general, the disconnection calculus does not terminate
Termination fragile, depends on branch selection function
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 67
![Page 152: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/152.jpg)
The Problem
Here, the model is approximated, but not finitely represented
{P(x),¬S,¬Q(a),¬Q( f (a)),¬Q( f ( f (a))),¬Q( f ( f ( f (a)))) . . .}
Observation: linking instances are subsumed by path literal P(x)
But: general subsumption does not work
What can we do?
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 68
![Page 153: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/153.jpg)
Link Blocking
Original idea of model characterisation:
Currently considered branch is seen as an interpretation I
If a literal L is on branch, all instances of L are considered true in I
if a conflict occurs (a link is on the branch), the link is applied and I
is modified
Consequence: Ignore clauses subsumed by I
Concept of temporary link blocking
Path subgoal L will disable all links producing literals K = Lσ
Unblocking of links occurs when a conflict involving L is resolved,
i.e. the interpretation I is changed
Similar to productivity restriction in ME
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 69
![Page 154: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/154.jpg)
Link Blocking
Original idea of model characterisation:
Currently considered branch is seen as an interpretation I
If a literal L is on branch, all instances of L are considered true in I
if a conflict occurs (a link is on the branch), the link is applied and I
is modified
Consequence: Ignore clauses subsumed by I
Concept of temporary link blocking
Path subgoal L will disable all links producing literals K = Lσ
Unblocking of links occurs when a conflict involving L is resolved,
i.e. the interpretation I is changed
Similar to productivity restriction in ME
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 69
![Page 155: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/155.jpg)
Link Blocking
Original idea of model characterisation:
Currently considered branch is seen as an interpretation I
If a literal L is on branch, all instances of L are considered true in I
if a conflict occurs (a link is on the branch), the link is applied and I
is modified
Consequence: Ignore clauses subsumed by I
Concept of temporary link blocking
Path subgoal L will disable all links producing literals K = Lσ
Unblocking of links occurs when a conflict involving L is resolved,
i.e. the interpretation I is changed
Similar to productivity restriction in ME
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 69
![Page 156: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/156.jpg)
Candidate Models
Precise criteria needed to find out whether a literal is blocking
EBRs are lists of branch literals partially sorted according to
respective specialisation
Candidate model (CM): EBR enhanced by link blockings
Blockings require a modified ordering on CMs, not necessarily based
on instantiation
Interpretation of a literal L given by CM-matcher:
the rightmost literal in CM subsuming L or∼ L
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 70
![Page 157: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/157.jpg)
Link Blocking Example
The non-termination example revisited
¬SP(x)¬P(x)Q(x)¬Q(a)
∨ S∨¬S∨¬Q( f (x))∨P( f (x))
Input
clauses
Use of link blocking allows termination
Largely independent of selection functions
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 71
![Page 158: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/158.jpg)
Link Blocking Example
The non-termination example revisited
¬SP(x)¬P(x)Q(x)¬Q(a)
P(x)
¬P(x)∗
¬S
S∗
∨ S∨¬S∨¬Q( f (x))∨P( f (x))
Input
clauses
Use of link blocking allows termination
Largely independent of selection functions
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 71
![Page 159: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/159.jpg)
Link Blocking Example
The non-termination example revisited
¬SP(x)¬P(x)Q(x)¬Q(a)
P(x)
¬P(x)∗
¬S
P(x) blocked S∗
∨ S∨¬S∨¬Q( f (x))∨P( f (x))
Input
clauses
Use of link blocking allows termination
Largely independent of selection functions
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 71
![Page 160: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/160.jpg)
Link Blocking Example
The non-termination example revisited
¬SP(x)¬P(x)Q(x)¬Q(a)
P(x)
¬P(x)∗
¬S
P(x) blocked
Q(a) ¬Q( f (a)) P( f (a))
S∗
∨ S∨¬S∨¬Q( f (x))∨P( f (x))
Input
clauses
Blocked
linking
instance
Use of link blocking allows termination
Largely independent of selection functions
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 71
![Page 161: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/161.jpg)
Link Blocking Example
The non-termination example revisited
¬SP(x)¬P(x)Q(x)¬Q(a)
P(x)
¬P(x)∗
¬S
P(x) blocked
Saturation state
S∗
∨ S∨¬S∨¬Q( f (x))∨P( f (x))
Input
clauses
Use of link blocking allows termination
Largely independent of selection functions
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 71
![Page 162: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/162.jpg)
Cyclic Link Blocking
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
For the above clause set, using blockings no refutation can be found
Reason: The blocking relation for the clause set is cyclic
To preserve completeness, blocking cycles must be avoided
Well-founded ordering imposed on link blockings based on branch
position
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 72
![Page 163: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/163.jpg)
Cyclic Link Blocking
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
A
B
two links
For the above clause set, using blockings no refutation can be found
Reason: The blocking relation for the clause set is cyclic
To preserve completeness, blocking cycles must be avoided
Well-founded ordering imposed on link blockings based on branch
position
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 72
![Page 164: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/164.jpg)
Cyclic Link Blocking
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
A
B
blocked
blocked
For the above clause set, using blockings no refutation can be found
Reason: The blocking relation for the clause set is cyclic
To preserve completeness, blocking cycles must be avoided
Well-founded ordering imposed on link blockings based on branch
position
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 72
![Page 165: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/165.jpg)
Cyclic Link Blocking
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
no link
applicable
A
B
blocked
blocked
For the above clause set, using blockings no refutation can be found
Reason: The blocking relation for the clause set is cyclic
To preserve completeness, blocking cycles must be avoided
Well-founded ordering imposed on link blockings based on branch
positionInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 72
![Page 166: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/166.jpg)
Cyclic Link Blocking Resolved
We try again, this time with a blocking ordering
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
A
B
Allowing link A to be applied, we initiate a series of blockings and
unblockings that allow to refute the formula
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 73
![Page 167: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/167.jpg)
Cyclic Link Blocking Resolved
We try again, this time with a blocking ordering
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
A
B
not blocked
blocked
Allowing link A to be applied, we initiate a series of blockings and
unblockings that allow to refute the formula
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 73
![Page 168: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/168.jpg)
Cyclic Link Blocking Resolved
We try again, this time with a blocking ordering
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
Q(a, b)
¬Q(a, b)∗
P(a, b)
¬Q(a,b) unblocked
¬P(a, b)¬P(a,b) unblocked
∗¬Q(a, b)∗
¬P(a, b)
Q(a,b) unblocked
P(a, b)∗
Q(a, b)
P(a,b) unblocked
¬Q(a, b)¬Q(a,b) unblocked
∗P(a, b)∗
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
A
B
not blocked
blocked
Allowing link A to be applied, we initiate a series of blockings and
unblockings that allow to refute the formula
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 73
![Page 169: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/169.jpg)
Cyclic Link Blocking Resolved
We try again, this time with a blocking ordering
Q(a, y)
¬Q(x, b)
P(a, y)
¬P(x, b)
Q(a, b)
¬Q(a, b)∗
P(a, b)
¬Q(a,b) unblocked
¬P(a, b)¬P(a,b) unblocked
∗¬Q(a, b)∗
¬P(a, b)
Q(a,b) unblocked
P(a, b)∗
Q(a, b)
P(a,b) unblocked
¬Q(a, b)¬Q(a,b) unblocked
∗P(a, b)∗
∨¬P(a, y)
∨P(x, b)
∨Q(a, y)
∨¬Q(x, b)
Unsatisfiable
clause set
A
B
not blocked
blocked
Allowing link A to be applied, we initiate a series of blockings and
unblockings that allow to refute the formula Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 73
![Page 170: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/170.jpg)
The Basic Idea behind Completeness
Completeness approach as in classical disconnection calculus:
saturated open tableau branch B+
=⇒
consistent path P∗ through Herbrand set
P∗ path literal in each ground clause is determined by CM-matcher
Tricky part: There exists a matched literal in each ground clause
Partial order of CM dynamically evolving with the branch
Acyclicity of blocking relation ensures that partial order exists
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 74
![Page 171: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/171.jpg)
FDPLL/ME vs. DCTP - Conceptual Difference
FDPLL/ME and DCTP use propositional version of current branch to determinebranch closure. But:
DCTP
Branch is closed if it contains both L⊥ and L⊥ (two clauses involved)
Inference rule guided syntactically: find connection among branch literals
n-way branching on literals of clause instance L1∨ · · · ∨ Ln
Can simulate FDPLL/ME binary branching to some degree (folding up)
Need to keep clause instances along current branch
FDPLL/ME
Branch is closed if $-version falsifies some single clause
Inference rule guided semantically: find falsified clause instance
Binary branching on literals L - L taken from falsified clause instanceCan simulate n-way branching clause literals in ground case
Need not keep any clause instance, but better cache certain subclauses(remainders) to support heuristics
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 75
![Page 172: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/172.jpg)
Theory Reasoning and Equality
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 76
![Page 173: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/173.jpg)
Theory Reasoning (I)
Problem: Given a theory T and a clause set S. Is S T-unsatisfiable?
Verification applications: T is usually a combination of theories
(arithmetic, arrays, records, . . . )
Example: Precondition: x > 0Program: y := x + 1Postcondition: y > 1
T is linear integer arithmetic. Show T-validity of
∀x, y ((x > 0)∧ (y = x + 1)→ (y > 0))
More generally, have to show T-validity of a formula ∀x φ(x)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 77
![Page 174: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/174.jpg)
Theory Reasoning (II)
Popular approch to prove T-validity of ∀x φ(x)
Treat φ(x) as propositional formula
Use DPLL (BDD, Tableaux, . . . ) to get model {L1, . . . , Ln} of φ(x)
Verify that ∀(L1∧ · · · ∧Ln) is T-valid (i.e. Li’s are interpreted again)
The latter can be done for many useful theories (arrays, restricted
arithmetic, integers, lists) and also combinations
Bag of techniques to make this approach efficient
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 78
![Page 175: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/175.jpg)
Theory Reasoning (III)
Notation: ∀x φ(x) is T-valid: |=T ∀x φ(x)
General problem: show T-validity under assumptions Γ:
Γ |=T ∀x φ(x) (Γ could be ∀x ψ(x))
Example (T theory of equality, variables universally quantified):
{ f (h(x))≈ c, h(x)≈ x} |=T f (a) 6≈ c
Propositional reasoning is not enough:
{ f (h(⊥))≈ c, h(⊥)≈⊥} 6|=T f (a) 6≈ c
How to discover required instances f (h(a))≈ c and h(a)≈ a ?Propositional reasoning doesn’t provide guidance!
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 79
![Page 176: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/176.jpg)
Theory Reasoning (III)
Notation: ∀x φ(x) is T-valid: |=T ∀x φ(x)
General problem: show T-validity under assumptions Γ:
Γ |=T ∀x φ(x) (Γ could be ∀x ψ(x))
Example (T theory of equality, variables universally quantified):
{ f (h(x))≈ c, h(x)≈ x} |=T f (a) 6≈ c
Propositional reasoning is not enough:
{ f (h(⊥))≈ c, h(⊥)≈⊥} 6|=T f (a) 6≈ c
How to discover required instances f (h(a))≈ c and h(a)≈ a ?Propositional reasoning doesn’t provide guidance!
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 79
![Page 177: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/177.jpg)
Theory Reasoning (IV)
Dilemma:
Could enumerate ground instances or make heuristic choice
(current practice in verification tools, e.g. CVC Lite)
- Inefficient, incomplete
+ Can use existing decision procedures for T
Use theory reasoner to compute T-unifiers
+ Possibly complete and efficient, depending from T
(see below for Inst-Gen with equality)
- Does not exploit existing decision procedures for T,
have to design new theory reasoner
Perhaps the most pressing research problem!
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 80
![Page 178: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/178.jpg)
Theory Reasoning (IV)
Dilemma:
Could enumerate ground instances or make heuristic choice
(current practice in verification tools, e.g. CVC Lite)
- Inefficient, incomplete
+ Can use existing decision procedures for T
Use theory reasoner to compute T-unifiers
+ Possibly complete and efficient, depending from T
(see below for Inst-Gen with equality)
- Does not exploit existing decision procedures for T,
have to design new theory reasoner
Perhaps the most pressing research problem!Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 80
![Page 179: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/179.jpg)
Theory Reasoning for Equality
Equality is by far the most important and mostly used theory
Unlike other theories handled on the first-order level
Different ways of integrating equality into instance based methods
The easiest form: axiomatic equality handling
Other methods all based on paramodulation:
Superposition-like [Bachmair and Ganzinger, 1994] eq-linking
(disconnection calculus)
Disagreement linking (disconnection calculus)
Unit paramodulation and non-proper demodulation (Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 81
![Page 180: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/180.jpg)
Theory Reasoning for Equality
Equality is by far the most important and mostly used theory
Unlike other theories handled on the first-order level
Different ways of integrating equality into instance based methods
The easiest form: axiomatic equality handling
Other methods all based on paramodulation:
Superposition-like [Bachmair and Ganzinger, 1994] eq-linking
(disconnection calculus)
Disagreement linking (disconnection calculus)
Unit paramodulation and non-proper demodulation (Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 81
![Page 181: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/181.jpg)
Theory Reasoning for Equality
Equality is by far the most important and mostly used theory
Unlike other theories handled on the first-order level
Different ways of integrating equality into instance based methods
The easiest form: axiomatic equality handling
Other methods all based on paramodulation:
Superposition-like [Bachmair and Ganzinger, 1994] eq-linking
(disconnection calculus)
Disagreement linking (disconnection calculus)
Unit paramodulation and non-proper demodulation (Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 81
![Page 182: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/182.jpg)
Theory Reasoning for Equality
Equality is by far the most important and mostly used theory
Unlike other theories handled on the first-order level
Different ways of integrating equality into instance based methods
The easiest form: axiomatic equality handling
Other methods all based on paramodulation:
Superposition-like [Bachmair and Ganzinger, 1994] eq-linking
(disconnection calculus)
Disagreement linking (disconnection calculus)
Unit paramodulation and non-proper demodulation (Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 81
![Page 183: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/183.jpg)
Theory Reasoning for Equality
Equality is by far the most important and mostly used theory
Unlike other theories handled on the first-order level
Different ways of integrating equality into instance based methods
The easiest form: axiomatic equality handling
Other methods all based on paramodulation:
Superposition-like [Bachmair and Ganzinger, 1994] eq-linking
(disconnection calculus)
Disagreement linking (disconnection calculus)
Unit paramodulation and non-proper demodulation (Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 81
![Page 184: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/184.jpg)
Theory Reasoning for Equality
Equality is by far the most important and mostly used theory
Unlike other theories handled on the first-order level
Different ways of integrating equality into instance based methods
The easiest form: axiomatic equality handling
Other methods all based on paramodulation:
Superposition-like [Bachmair and Ganzinger, 1994] eq-linking
(disconnection calculus)
Disagreement linking (disconnection calculus)
Unit paramodulation and non-proper demodulation (Inst-Gen)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 81
![Page 185: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/185.jpg)
Axiomatic Equality Handling
Simplest form of treating equational problems
No special inference rules or adaption of calculus/prover required
Equality axioms added to input clause set
Axioms for reflexivity, transitivity and symmetry
Substitution axioms for all functors and predicate symbols. For
example:
x≈ y→ f (. . . , x, . . .)≈ f (. . . , y, . . .)
for every argument position of every functor f
Inefficient due to redundancy and incompatibility with orderings
“Disconnects” altered terms from their clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 82
![Page 186: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/186.jpg)
Eq-Linking
Additional inference rule: tableau equivalent of paramodulation
. . . s≈ t
. . . L|p(s′) . . .
. . .c
d
=⇒. . . s≈ t
. . . L|p(s′)
. . . (s≈ t)σ
(s 6≈ t)σ∗
. . . L|p(t)σ . . .
. . .
. . .
. . .c
d
cσ
d′σ
Negation of applied equation added to modified clause: e-instance
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 83
![Page 187: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/187.jpg)
Eq-Linking
Additional inference rule: tableau equivalent of paramodulation
. . . s≈ t
. . . L|p(s′) . . .
. . .c
d
=⇒. . . s≈ t
. . . L|p(s′)
. . . (s≈ t)σ
(s 6≈ t)σ∗
. . . L|p(t)σ . . .
. . .
. . .
. . .c
d
cσ
d′σ
eq-link on path: one side s of equationand subterm s′ unifiable with unifier σ
Negation of applied equation added to modified clause: e-instance
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 83
![Page 188: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/188.jpg)
Eq-Linking
Additional inference rule: tableau equivalent of paramodulation
. . . s≈ t
. . . L|p(s′) . . .
. . .c
d
=⇒. . . s≈ t
. . . L|p(s′)
. . . (s≈ t)σ
(s 6≈ t)σ∗
. . . L|p(t)σ . . .
. . .
. . .
. . .c
d
cσ
d′σ
append instance of equationand e-instance of overlapped clause
Negation of applied equation added to modified clause: e-instance
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 83
![Page 189: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/189.jpg)
Eq-Linking
Additional inference rule: tableau equivalent of paramodulation
. . . s≈ t
. . . L|p(s′) . . .
. . .c
d
=⇒. . . s≈ t
. . . L|p(s′)
. . . (s≈ t)σ
(s 6≈ t)σ∗
. . . L|p(t)σ . . .
. . .
. . .
. . .c
d
cσ
d′σ
expansion literal
Negation of applied equation added to modified clause: e-instance
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 83
![Page 190: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/190.jpg)
Eq-Linking (II)
Overlapping equation and overlapped literal form eq-link
Expansion literals not necessary when eq-linking with unit equations
Reflexivity linking rule required for completeness:
C∨ s 6≈ t
Cσwhere σ is the most general unifier of s and t
Unrestricted application of eq-linking introduces large amount of
redundancy
But: eq-linking also compatible with term orderings
Ordered eq-linking allows destructive rewriting of subgoals
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 84
![Page 191: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/191.jpg)
An Example Proof with Eq-Linking
h(a) 6≈ c
h(e)≈ d
h( f )≈ h(b)
a≈ b
c≈ d
e≈ f
Input
clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 85
![Page 192: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/192.jpg)
An Example Proof with Eq-Linking
h(a) 6≈ c
h(e)≈ d
h( f )≈ h(b)
a≈ b
c≈ d
e≈ f
h(b) 6≈ c
Input
clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 85
![Page 193: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/193.jpg)
An Example Proof with Eq-Linking
h(a) 6≈ c
h(e)≈ d
h( f )≈ h(b)
a≈ b
c≈ d
e≈ f
h(b) 6≈ c
h( f )≈ d
Input
clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 85
![Page 194: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/194.jpg)
An Example Proof with Eq-Linking
h(a) 6≈ c
h(e)≈ d
h( f )≈ h(b)
a≈ b
c≈ d
e≈ f
h(b) 6≈ c
h( f )≈ d
h( f ) 6≈ c
Input
clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 85
![Page 195: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/195.jpg)
An Example Proof with Eq-Linking
h(a) 6≈ c
h(e)≈ d
h( f )≈ h(b)
a≈ b
c≈ d
e≈ f
h(b) 6≈ c
h( f )≈ d
h( f ) 6≈ c
c 6≈ d∗
Input
clauses
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 85
![Page 196: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/196.jpg)
Completeness and Equality (I)
Basic concept: open saturated branch represents partial model
Non-equational case: branch determines path through Herbrand set
non-ground open branch (non-rigid) ground Herbrand set
← →
.
.
.
← →
.
.
.
.
.
.
.
.
.
← →
.
.
.
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 86
![Page 197: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/197.jpg)
Completeness and Equality (I)
Basic concept: open saturated branch represents partial model
Non-equational case: branch determines path through Herbrand set
non-ground open branch (non-rigid) ground Herbrand set
← →
.
.
.
← →
.
.
.
.
.
.
.
.
.
← →
.
.
.
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 86
![Page 198: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/198.jpg)
Completeness and Equality (I)
Basic concept: open saturated branch represents partial model
Non-equational case: branch determines path through Herbrand set
non-ground open branch (non-rigid) ground Herbrand set
← →
.
.
.
← →
.
.
.
.
.
.
.
.
.
← →
.
.
.
1 : nRelationship
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 86
![Page 199: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/199.jpg)
Completeness and Equality (II)
Now: one ground clause may correspond to many branch e-variants
non-ground open branch (non-rigid) ground Herbrand set↖← →↙
.
.
.
↖← →↙
.
.
.
.
.
.
.
.
.
↖← →↙
.
.
.
Branch may pass through different literals in each of these e-variants
One representative for each set of e-variants needs to be selected
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 87
![Page 200: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/200.jpg)
Completeness and Equality (II)
Now: one ground clause may correspond to many branch e-variants
non-ground open branch (non-rigid) ground Herbrand set↖← →↙
.
.
.
↖← →↙
.
.
.
.
.
.
.
.
.
↖← →↙
.
.
.
m : nRelationship
Branch may pass through different literals in each of these e-variants
One representative for each set of e-variants needs to be selected
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 87
![Page 201: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/201.jpg)
Completeness and Equality (II)
Now: one ground clause may correspond to many branch e-variants
non-ground open branch (non-rigid) ground Herbrand set↖← →↙
.
.
.
↖← →↙
.
.
.
.
.
.
.
.
.
↖← →↙
.
.
.
m : nRelationship
Branch may pass through different literals in each of these e-variants
One representative for each set of e-variants needs to be selected
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 87
![Page 202: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/202.jpg)
Completeness and Equality (II)
Now: one ground clause may correspond to many branch e-variants
non-ground open branch (non-rigid) ground Herbrand set↖← →↙
.
.
.
↖← →↙
.
.
.
.
.
.
.
.
.
↖← →↙
.
.
.
m : nRelationship
Branch may pass through different literals in each of these e-variants
One representative for each set of e-variants needs to be selectedInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 87
![Page 203: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/203.jpg)
Eager Variable Elimination
Given: clause c with literal l = x 6≈ t (x does not occur in t)
l is a condition for the rest of the clause: x≈ t→ c \ {l}
Eager variable elimination as a deterministic inference rule:
x 6≈ t∨k1∨ . . . ∨kn
k1∨ . . . ∨kn{x/t}Helps keeping clause sizes down
Care must be taken when eq-linking with unit equations
Preservation of completeness is still an open problem
[Gallier and Snyder, 1989]
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 88
![Page 204: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/204.jpg)
Disagreement Linking
Inspired by RUE-resolution [Digricoli and Harrison, 1986] and lazy
paramodulation [Gallier and Snyder, 1989]
Similar in behaviour to Brand- and STE-modification on the fly
Based on the concept of disagreement sets:
L(s1, . . . , sn) and L(t1, . . . , tn), n≥ 0 terms or literals
Disagreement set: {s1 6≈ t1, . . . , sn 6≈ tn}
Top-level unification of variable terms: disagreement substitution
Eager variable elimination performed on disagreement set
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 89
![Page 205: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/205.jpg)
Disagreement Linking (II)
Inference rule:
. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn) . . .
. . .c
d
=⇒. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn)
. . . K(s1, . . . , sn)σ . . .
. . .
. . .c
d
cσ
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 90
![Page 206: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/206.jpg)
Disagreement Linking (II)
Inference rule:
. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn) . . .
. . .c
d
=⇒. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn)
. . . K(s1, . . . , sn)σ . . .
. . .
. . .c
d
cσ
L and K share thesame predicate symbol buthave complementary signs
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 90
![Page 207: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/207.jpg)
Disagreement Linking (II)
Inference rule:
. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn) . . .
. . .c
d
=⇒. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn)
. . . K(s1, . . . , sn)σ . . .
. . .
. . .c
d
cσ
Some of the si and t j are variablesforming the
disagreement substitution σ
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 90
![Page 208: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/208.jpg)
Disagreement Linking (II)
Inference rule:
. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn) . . .
. . .c
d
=⇒. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn)
. . . K(s1, . . . , sn)σ . . .
. . .
. . .c
d
cσ
Expand tableau firstby disagreement instance cσ
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 90
![Page 209: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/209.jpg)
Disagreement Linking (II)
Inference rule:
. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn) . . .
. . .c
d
=⇒. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn)
. . . K(s1, . . . , sn)σ
. . . L(s1, . . . , sn)σ∗
. . . . . . (si 6≈ ti)σ . . .
. . .
. . .
. . .c
d
cσ
d′σ
Then add altereddisagreement instance d′σ replacing
the terms of L by those of Kσ
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 90
![Page 210: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/210.jpg)
Disagreement Linking (II)
Inference rule:
. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn) . . .
. . .c
d
=⇒. . . K(s1, . . . , sn)
. . . L(t1, . . . , tn)
. . . K(s1, . . . , sn)σ
. . . L(s1, . . . , sn)σ∗
. . . . . . (si 6≈ ti)σ . . .
. . .
. . .
. . .c
d
cσ
d′σ
Also, d′σ is augmentedby the disagreement set
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 90
![Page 211: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/211.jpg)
Disagreement Linking (III)
Decomposition rule required for completeness:
f (s1, . . . , sn) 6≈ f (t1, . . . , tn)
s1 6≈ t1∨ . . . ∨ sn 6≈ tn
Also, Imitation rule for disequations of the form x 6= f (x)
Incompatible with term orderings
Disagreement linking cannot simulate full unification
Additional standard linking necessary for instantiating terms
Explicit symmetry handling required
Sometimes improved recognition of e-satisfiability
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 91
![Page 212: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/212.jpg)
Inst-Gen and Equational Reasoning
Recently developed equational reasoning for Inst-Gen
[Ganzinger and Korovin, 2004]
New method maintains separation of instance generation and ground
satisfiability checking
Instance generation not by linking, but by paramodulation rules
Paramodulation performed on selected units
Sound and complete
Various techniques of redundancy elimination available
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 92
![Page 213: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/213.jpg)
Inst-Gen and Equational Reasoning (II)
f.o. clauses
S
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 93
![Page 214: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/214.jpg)
Inst-Gen and Equational Reasoning (II)
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 93
![Page 215: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/215.jpg)
Inst-Gen and Equational Reasoning (II)
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥ theorem
proved
S⊥ UnSAT
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 93
![Page 216: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/216.jpg)
Inst-Gen and Equational Reasoning (II)
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥ theorem
proved
S⊥ UnSAT
Semantic selection
of literals I⊥ |= L⊥
S⊥ SAT
I⊥ |= S⊥
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 93
![Page 217: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/217.jpg)
Inst-Gen and Equational Reasoning (II)
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥ theorem
proved
S⊥ UnSAT
Semantic selection
of literals I⊥ |= L⊥
S⊥ SAT
I⊥ |= S⊥
theorem
unprovable
L 6 ` �
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 93
![Page 218: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/218.jpg)
Inst-Gen and Equational Reasoning (II)
f.o. clauses
S
ground clauses
S⊥
⊥ : x̄→⊥ theorem
proved
S⊥ UnSAT
Semantic selection
of literals I⊥ |= L⊥
S⊥ SAT
I⊥ |= S⊥
theorem
unprovable
L 6 ` �
Instance generation
from paramodulation proofs L ` �
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 93
![Page 219: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/219.jpg)
Assessment of Equality Handling Methods
Axiomatic Equality Handling
+ Can be used without modification of prover- Incompatible with orderings, hopelessly inefficient
Eq-Linking
+ Proven standard technique, compatible with orderings- Slightly increases clause lengths
Disagreement Linking
+ Due to basicness can sometimes detect satisfiability more easily- Incompatible with orderings, creates long clauses
Inst-Gen Equational Instance Generation [Ganzinger and Korovin, 2004]
+ Maintains separation of first-order and SAT part+ Good redundancy elimination, clauses do not grow in length- Not implemented
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 94
![Page 220: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/220.jpg)
Assessment of Equality Handling Methods
Axiomatic Equality Handling
+ Can be used without modification of prover- Incompatible with orderings, hopelessly inefficient
Eq-Linking
+ Proven standard technique, compatible with orderings- Slightly increases clause lengths
Disagreement Linking
+ Due to basicness can sometimes detect satisfiability more easily- Incompatible with orderings, creates long clauses
Inst-Gen Equational Instance Generation [Ganzinger and Korovin, 2004]
+ Maintains separation of first-order and SAT part+ Good redundancy elimination, clauses do not grow in length- Not implemented
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 94
![Page 221: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/221.jpg)
Assessment of Equality Handling Methods
Axiomatic Equality Handling
+ Can be used without modification of prover- Incompatible with orderings, hopelessly inefficient
Eq-Linking
+ Proven standard technique, compatible with orderings- Slightly increases clause lengths
Disagreement Linking
+ Due to basicness can sometimes detect satisfiability more easily- Incompatible with orderings, creates long clauses
Inst-Gen Equational Instance Generation [Ganzinger and Korovin, 2004]
+ Maintains separation of first-order and SAT part+ Good redundancy elimination, clauses do not grow in length- Not implemented
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 94
![Page 222: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/222.jpg)
Assessment of Equality Handling Methods
Axiomatic Equality Handling
+ Can be used without modification of prover- Incompatible with orderings, hopelessly inefficient
Eq-Linking
+ Proven standard technique, compatible with orderings- Slightly increases clause lengths
Disagreement Linking
+ Due to basicness can sometimes detect satisfiability more easily- Incompatible with orderings, creates long clauses
Inst-Gen Equational Instance Generation [Ganzinger and Korovin, 2004]
+ Maintains separation of first-order and SAT part+ Good redundancy elimination, clauses do not grow in length- Not implemented
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 94
![Page 223: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/223.jpg)
Implementations and Techniques
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 95
![Page 224: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/224.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 225: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/225.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 226: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/226.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 227: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/227.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 228: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/228.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 229: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/229.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 230: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/230.jpg)
Available Implementations
Some implementations of instantiation based methods have been
realised
CLIN-S: ancient implementation of Hyperlinking
LINUS: hyperlinking with unit support (obsolete)
PPI: to our knowledge prototypical implementation
OHSL-U: Ordered Semantic Hyperlinking by Plaisted et al.
DARWIN: Model Evolution prover written in OCaml
DCTP: disconnection calculus tableau prover written in Scheme
Of the implementations named above, DARWIN and DCTP
participated in CASC-J2 (and CASC-20).
Unfortunately, no implementation is available yet for Inst-Gen
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 96
![Page 231: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/231.jpg)
Model Evolution - Darwin’s Proof Procedure (I)
1 function darwin S2 // input: a clause set S3 // output: either "unsatisfiable"
4 // or a set of literals encoding a model of S5 let Context = ∅ // set of literals
6 let L = ¬v // (pseudo) literal
7 //Context∪{L} is the current context
8 let Candidates = set of assert literals consisting of the
9 unit clauses in S10 try me(S,Context,L,Candidates)
11 catch CLOSED -> "unsatisfiable"
Candidates: the literals eligible for application of assert or of split
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 97
![Page 232: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/232.jpg)
Model Evolution - Darwin’s Proof Procedure (II)
1 function me(S,Context,K,Candidates)
2 let Candidates ′ =
3 add_new_candidates(S,Context,K,Candidates)
4 let S′ = S simplified by Subsume and Resolve
5 let Context ′ = Context ∪ {K} simplified by Compact
6 if Candidates ′ = ∅ then Context ′ // Got a model of S′
7 else
8 let L = select_best(Candidates ′,Context ′)
9 if L is an assert literal then
10 me(S′,Context ′,L,Candidates ′ \ {L}) // assert L11 else
12 try
13 me(S′,Context ′,L,Candidates ′ \ {L}) // left split on L14 catch CLOSED ->
15 me(S′,Context ′,L sko,Candidates ′ \ {L}) // right split on L
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 98
![Page 233: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/233.jpg)
Model Evolution - Darwin’s Proof Procedure (III)
1 function add_new_candidates(S,Context,L,Candidates)
2 adds to Candidates all assert literals from context unifiers involving L3 and one split literal from each remainder of a context unifier involving L4 raises the exception CLOSED if it finds a closing context unifier
Similar to semi-naïve evaluation of database rules (delta-iteration).
1 function select_best(Candidates,Context)
2 returns the best assert or split literal in Candidates
To make select_best good and efficient, all theoretically requiredremainders are kept in store. See next slide.
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 99
![Page 234: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/234.jpg)
Computing Remainders and Candidates [Baumgartner et al., 2004]
θ1
L
L1
Ln
S1
Sn
Remainder
⊆ Cσ
······
···
θn
C
K′· · · · · ·K
K Kθ = Lθ
③ σ = θθ1 · · ·θn④⑤
② θ②
K′
θ
①
Candidates
Partial context unifiers
Partial context unifier: mgu of clause literal and context literal① add literal K to context – ② compute all partial context unifiers θ of K andclause literals, and store with clause literals – ③ compute all context unifiersinvolving θ – ④ determine all remainders – ⑤ select K′ from remainder andadd to candidates (don’t care nondeterminism)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 100
![Page 235: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/235.jpg)
Selection Heuristics for New Candidates
In decreasing preferrence:
1. Universality (x - universally quantified; u - schematic variable)
P(x) is better than P(u)
2. Remainder Size
P(a) is better than P(b)∨Q(b)
3. Term Weight
P(a) is better than P( f (a))
4. Generation
Prefer literals from remainders derived from elder context literals
Rationale: prefer literals close to the original clause set
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 101
![Page 236: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/236.jpg)
The Main Loop of DCTP
procedure disconnect( clauses )select_initial_path;create_links( initial_path ); start_sg := last( initial_path );solve_subgoal( start_sg, links, initial_path );print( “Proof”);
procedure solve_subgoal( sg, links, path )if ( ¬ forall_closed( sg ) ) then
create_new_links( sg );if ( apply_linking_step( links ) ) then
foreach new_sg ∈ ( new_subgoals )solve_subgoal( new_sg, links, initial_path ∪ sg );
endelse
print( “Saturation state reached” ); stop;endif;
endif;
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 102
![Page 237: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/237.jpg)
The Main Loop of DCTP
procedure disconnect( clauses )select_initial_path;create_links( initial_path ); start_sg := last( initial_path );solve_subgoal( start_sg, links, initial_path );print( “Proof”);
procedure solve_subgoal( sg, links, path )if ( ¬ forall_closed( sg ) ) then
create_new_links( sg );if ( apply_linking_step( links ) ) then
foreach new_sg ∈ ( new_subgoals )solve_subgoal( new_sg, links, initial_path ∪ sg );
endelse
print( “Saturation state reached” ); stop;endif;
endif;Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 102
![Page 238: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/238.jpg)
Picking Up SAT Techniques
Merely a summary of what has been said before
Universal Variables and Unit Propagation
Picked up in OSHL, DCTP and ME with varying realization
Lemma Generation (Learning in SAT)
Local unit lemmas in DCTP
Global lemma possible in ME (work in progress)In DPLL: lemma clause determined from resolution derivationassociated to closed subtree – idea lifts to ME
Other
Dependency directed backtracking (backjumping, tableau pruning):a must for any serious prover. . .
DPLL splitting heuristics, randomized restarts – unexplored
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 103
![Page 239: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/239.jpg)
Unit Propagation in SAT
Unit propagation is a fundamental technique for efficient SAT proving
Main technical motivation for Model Evolution calculus (see Part I)
P
¬Q Q
¬P
The current open branchis indicated in red
Input clauses...
¬P∨Q∨¬R...
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 104
![Page 240: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/240.jpg)
Unit Propagation in SAT
Unit propagation is a fundamental technique for efficient SAT proving
Main technical motivation for Model Evolution calculus (see Part I)
P
¬Q
?
Q
¬P
It must be decided over whichvariable to branch next
Input clauses...
¬P∨Q∨¬R...
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 104
![Page 241: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/241.jpg)
Unit Propagation in SAT
Unit propagation is a fundamental technique for efficient SAT proving
Main technical motivation for Model Evolution calculus (see Part I)
P
¬Q
?
Q
¬P
The path context is usedto count down the length of input clauses
Input clauses...
¬P∨Q∨¬R...
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 104
![Page 242: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/242.jpg)
Unit Propagation in SAT
Unit propagation is a fundamental technique for efficient SAT proving
Main technical motivation for Model Evolution calculus (see Part I)
P
¬Q
R ¬R
Q
¬P
In one input clauseonly one unmatched literal remains
This literal is used for the next branching
Input clauses...
¬P∨Q∨¬R...
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 104
![Page 243: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/243.jpg)
Unit Propagation in SAT
Unit propagation is a fundamental technique for efficient SAT proving
Main technical motivation for Model Evolution calculus (see Part I)
P
¬Q
R∗
¬P∨Q∨¬R
¬R
Q
¬P
One of the new branches can immediately be closedThe proof search continues effectively
without branching and with an extended path context
Input clauses...
¬P∨Q∨¬R...
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 104
![Page 244: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/244.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b)
C
D
Cσ
Dσ
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategy
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 245: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/245.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D
Link: potentially complementaryliterals on path
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b)
C
D
Cσ
Dσ
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategy
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 246: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/246.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D
application of link creates linking instances
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b)
C
D
Cσ
Dσ
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategy
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 247: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/247.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D
new open paths are created
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b) ¬P(a,b)∗
C
D
Cσ
Dσ
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategy
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 248: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/248.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D
path context is usedto count down open paths created by link
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b)∗
¬P(a,b)∗
C
D
Cσ
Dσ
¬R(v,b)
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategy
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 249: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/249.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D
only one new path remains openproof search continues effectively without
branching and with an extended path context
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b)∗
¬P(a,b)∗
C
D
Cσ
Dσ
¬R(v,b)
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategy
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 250: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/250.jpg)
Unit Propagation in Disconnection Tableaux
Concept not fully applicable to DC: instantiation influences closure
Alternative: count down links instead of clauses [Stenz, 2005]
Q(x) P(x,b)
R(u, y) ¬P(a, y)
C
D
only one new path remains openproof search continues effectively without
branching and with an extended path context
⇒
Q(x) P(x,b)
R(u, y) ¬P(a, y)
Q(a) P(a,b)
R(u′,b)∗
¬P(a,b)∗
C
D
Cσ
Dσ
¬R(v,b)
Method need not terminate due to new links by new instances
Selection heuristic instead of deciding strategyInstance Based Methods – Tutorial at TABLEAUX 2005 – p. 105
![Page 251: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/251.jpg)
Conclusions
Instance Based Methods provide a new angle to tackle problems
Two-level methods able to capitalise on successful SAT technology
Single-level methods successful in their own right
Some SAT techniques are liftable to first-order
Possible topics for future research
Incorporating theory decision procedures
Deciding interesting classes of first-order logic
Comparing calculi (e.g. stepwise simulation or wrt. instance sets)
Improving implementations (more SAT techniques, heuristics, data
structures)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 106
![Page 252: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/252.jpg)
Conclusions
Instance Based Methods provide a new angle to tackle problems
Two-level methods able to capitalise on successful SAT technology
Single-level methods successful in their own right
Some SAT techniques are liftable to first-order
Possible topics for future research
Incorporating theory decision procedures
Deciding interesting classes of first-order logic
Comparing calculi (e.g. stepwise simulation or wrt. instance sets)
Improving implementations (more SAT techniques, heuristics, data
structures)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 106
![Page 253: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/253.jpg)
Conclusions
Instance Based Methods provide a new angle to tackle problems
Two-level methods able to capitalise on successful SAT technology
Single-level methods successful in their own right
Some SAT techniques are liftable to first-order
Possible topics for future research
Incorporating theory decision procedures
Deciding interesting classes of first-order logic
Comparing calculi (e.g. stepwise simulation or wrt. instance sets)
Improving implementations (more SAT techniques, heuristics, data
structures)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 106
![Page 254: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/254.jpg)
Conclusions
Instance Based Methods provide a new angle to tackle problems
Two-level methods able to capitalise on successful SAT technology
Single-level methods successful in their own right
Some SAT techniques are liftable to first-order
Possible topics for future research
Incorporating theory decision procedures
Deciding interesting classes of first-order logic
Comparing calculi (e.g. stepwise simulation or wrt. instance sets)
Improving implementations (more SAT techniques, heuristics, data
structures)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 106
![Page 255: Methods - ANU College of Engineering & Computer Scienceusers.rsise.anu.edu.au/baumgart/public_html/slides/... · 2005-08-26 · Methods T ABLEA UX 2005 T utorial (K ob lenz, September](https://reader033.vdocuments.us/reader033/viewer/2022042316/5f0574797e708231d4130c1d/html5/thumbnails/255.jpg)
Conclusions
Instance Based Methods provide a new angle to tackle problems
Two-level methods able to capitalise on successful SAT technology
Single-level methods successful in their own right
Some SAT techniques are liftable to first-order
Possible topics for future research
Incorporating theory decision procedures
Deciding interesting classes of first-order logic
Comparing calculi (e.g. stepwise simulation or wrt. instance sets)
Improving implementations (more SAT techniques, heuristics, data
structures)
Instance Based Methods – Tutorial at TABLEAUX 2005 – p. 106