SLD-resolution - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

SLD-resolution

Description:

SLD-resolution Introduction Most general unifiers SLD-resolution Soundness Completeness Proof of A = refutation of A : true (any valid formula) : false (any ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 33
Provided by: TimoKn5
Category:
Tags: sld | resolution

less

Transcript and Presenter's Notes

Title: SLD-resolution


1
SLD-resolution
  • Introduction
  • Most general unifiers
  • SLD-resolution
  • Soundness
  • Completeness

2
Proof of A refutation of ?A
  • ? true (any valid formula)
  • ? false (any unsatisfiable formula)
  • Fact 1
  • P A iff P ? ? A ?
  • Fact 2
  • if P ? ? A - ? then P ? ? A ?
  • supposing the inference rules are sound
  • if and only if if they are sound and complete
  • ? idea of proof by refutation
  • start from P and ?A
  • apply inference rules until ? is produced
  • if so, we know that P A

3
Refutation proofs with clauses
  • Definite clauses
  • F can be read as F ? ?
  • ? G1, ..., Gm ? ? ? G1, ..., Gm
  • empty clause ? ? ? ? ? ?
  • Refutation proofs
  • start from P and ? ? G1,...,Gm
  • try to derive the empty clause ?
  • example pp. 34-35 a sort of generalized Modus
    Ponens

4
How to automate refutations?
  • G ? G1, ...,Gm
  • select some Gi p(t1, ..., tn)
  • look for clauses defining p/n
  • H ? B1, ..., Bk (we may have several such)
  • make Gi and H syntactically identical
  • reason Modus Ponens requires it
  • ? find substitution (unifier) ? such that H?
    Gi?
  • if such ? exists, apply it to (B1,...,Bk) and the
    rest of G
  • new goal (? G1, ..., B1, ..., Bk, ... Gm)?
  • continue until G is empty (if possible)

5
What did we just compute?
  • G (? ?(G1 ? ... ? Gm)) ? ?(? G1 ? ... ? Gm)
  • if G lead to contradiction
  • then we have the conclusion that ? G1 ? ... ? Gm
    holds
  • Derivation any chain of inference steps
  • Refutation of G finite derivation of falsity
    starting from G
  • consists of k inferences with k unifications ?i
    (1 ? i ? k)
  • ? ((? G1 ? ... ? Gm) ?1... ?k) was shown to be
    unsatisfiable
  • fact p(X) is unsatisfiable iff some instance of
    p(X) is
  • Thus P (G1 ? ... ? Gm) ?1 ... ?k
  • ?1 ... ?k is the counter-example or the answer to
    our question
  • if some variables are left unbound we may assume
    the universal closure

6
Troubles in the computation
  • Selections deterministic or not?
  • goal literals
  • program clauses
  • unifiers
  • Computationssuccess/fail/infinite?
  • dead ends (no matching clauses)
  • infinite number of solutions (several unifiers)
  • loops (p ? p)

7
Most general unifiers
  • Algorithmic solution to the matching problem
  • deterministic efficient
  • Vocabulary
  • predicate symbols functors constructors
  • atoms, terms structures
  • principal symbol, direct substructures
  • size of a structure ( of symbols)

8
Unifier (definition)
  • Let s1, s2 be structures and ? a substitution
  • if s1? s2? then ? is a unifier of s1 and s2
  • Notes
  • if s contains X then X and s have no unifier
  • proof size(s) gt size(X) ? size(s?) gt size(X?)
    whatever ? is
  • unifier ? may leave (some) variables free
  • composition of ? with any substitution ? yields
    another unifier
  • each of them is more specific than ?

9
Generality of unifiers
  • let ? and ? be unifiers of s and t
  • ? ?? ? is more general than ?
  • any s? is an instance of s?
  • Note generality is not antisymmetric
  • but the following holds
  • if ? is more general than ? and vice versa then
  • s? and s? are identical up to the renaming of
    variables

10
Most general unifier(s), mgu
  • substitution ? is a mgu of s t if
  • ? is a unifier of s t
  • ? is more general than any other unifier of s t
  • Thm mgus are unique up to renaming!
  • mgus are the substitutions we are looking for in
    the matching
  • problem how to find them effectively

11
(yet) Some (more) terminology
  • Set of equations X1t1,,Xntn
  • is in solved form iff
  • X1,,Xn are distinct variables, and
  • none of X1,,Xn appear in t1,,tn
  • Proposition
  • If E X1t1,,Xntn is in solved form
  • then ? X1/t1,,Xn/tn is a mgu of E
  • Definition E1 and E2 are equivalent
  • both have the same set of unifiers
  • consequently same solutions in Herbr.
    interpretations

12
Unification algorithm
  • Several implementations exist
  • simple O(min(size(s), size(t))) presented
  • with occurs check quadratic time
  • Basic ideas
  • if s is a variable, bind it to t (and vice versa)
  • if both are structures (or constants)
  • principal symbols must be the same
  • direct substructures must unify (use recursion)
  • note bindings may spread elsewhere in terms
  • same variable may have several occurrences

13
Our algorithm (p. 40)
  • To unify s t
  • try to transform s t into an equivalent one
    in solved form
  • if this succeeds, the result gives also a mgu of
    s t
  • if this fails, no unifier exists
  • note constants are treated as 0-ary functors
  • Theorem Algorithm returns
  • the equivalent solved form of s t
  • or failure if no such exists

14
Resolution rule
  • Inference rule for definite clauses goals
  • From
  • (?? (G1,...,Gi,...,Gm)) and
  • (? H ? B1,...,Bk)
  • such that
  • Gi and H have a mgu ?
  • derive
  • (?? (G1,...,B1,...,Bk,...,Gm)?)

15
Procedural view
  • FROM
  • query G and clause C
  • SUCH THAT
  • subgoal Gi of G and the head H of C unify
  • DERIVE
  • a new query G with
  • Gi replaced with body of C and
  • mgu of H and Gi applied to the result

16
Resolution technicalities (i)
  • Both premises universally closed
  • scopes of the quantifiers are disjoint
  • Conclusion is universally closed
  • variables in the premises must be disjoint
  • What to do?
  • rename variables in clauses before inference
  • e.g. attach the of the inference step to all
    variables
  • allows multiple uses of the same clause
  • essential with recursive clauses

17
Resolution technicalities (ii)
  • Selection of subgoals
  • abstraction assume some selection function ?
  • a.k.a. computation rule
  • SLD-resolution
  • Linear resolution for Definite clauses with
    Selection function
  • linear resolution
  • P1 is always the query created in the previous
    step
  • P2 is always a program clause

18
Using SLD-resolution
  • G0 ? A1,...,Am
  • ?(G0) Ai
  • apply resolution to
  • Ai and
  • a (renamed copy of a) program clause C
  • construct new goal G1, then G2, ...
  • computations end (at some goal Gi) when
  • ?(Gi) does not unify with any clause head or
  • Gi false (empty goal)
  • infinite computations possible, too

19
Formalizing resolution proofs
  • SLD-derivation
  • From Gi (a copy of) Ci, determine G(i1)
  • Note Gi, ? Ci determine ?(i1)
  • reason mgus are unique (up to var. names)
  • ? no need to state ? separately in derivations
  • including ?s improves the readability, though
  • G(i1) is said to be derived from Gi Ci
  • Gi Ci resolve into G(i1)
  • special notation (jagged arrow, p. 44)
  • Each derivation G0,...,Gn yields a computed
    substitution ?1?n

20
Successful derivations
  • Finite and end to the empty goal
  • SLD-refutation of G
  • answer substitution computed substitution of a
    refutation
  • Theorem (independence of the computation rule)
  • If G has a SLD-refutation with some rule ?1 then
  • G has one with the same answer with any other
    rule ?2, and
  • the refutation ?2 is obtained by permuting the
    clauses used in the refutation ?1 proof
  • intuitive reason
  • all subgoals are selected sooner or later
  • same clauses are used to refute each of them

21
Classifying derivations
  • Successful
  • lead to false
  • Failed
  • lead to some goal Gi such that
  • ?(Gi) does no unify with any clause head
  • note it doesnt matter if there are some other
    subgoals than the selected one which unify with
    some clause head, we are stuck with the selected
    one anyway
  • Infinite
  • Complete derivation any of the above
  • taken to the extreme, continued as long as
    possible

22
SLD-trees...
  • Consider alternative clauses for a selected
    subgoal
  • ?(Gi) may unify with several clauses
  • ? Gi may have several (and different) complete
    derivations with rule ?
  • SLD-trees formalize the set of all such
    derivations
  • nodes goals (G0 at the root)
  • edges are labeled with the clause used in
    inference
  • descendant the resulting new goal
  • Each path represents some derivation
  • some may fail, some succeed, some may be infinite
  • Definition 3.18.

23
...SLD-trees
  • SLD-trees are (usually) distinct for different
    selection functions
  • Finite tree with ?1 infinite with ?2 possible!
  • Independence of computation rule tells that
  • refutations in tree T1 (using ?1)
  • are also found in T2 (using ?2)
  • and are permutations of the paths in T1
  • Note
  • there may exist other failing or infinite paths
    for which the above does not hold
  • but they dont interest us that much anyway
  • it is enough that the successful derivations are
    found

24
Soundness of SLD-resolution
  • Final conclusion for a give goal G
  • try to find a refutation of ? G
  • if found, apply the answer substitution to G
  • this step is actually an additional inference
    rule
  • ? SLD-resolution gives answers
  • ? p(X), , empty goal, ? X/tom,
  • reasoning is sound, if P p(tom)
  • Answer computed substitution restricted on
    query variables
  • negative answer is possible, too
  • Soundness (or correctness)
  • Shown w.r.t. computed answer substitutions
  • Reason user is not (usually) interested in
    individual resolution steps, but the final answer

25
Soundness theorem (Clark -79)
  • Let
  • P be a definite program
  • ? a selection function
  • ? a ?-computed answer for goal ? A1,,Am
  • Then
  • P (? (A1 ? ? Am) ?)
  • Note
  • Requires occurs-check in unification
  • see example 3.21

26
Completeness theorem...
  • Does SLD-resolution compute all logical
    consequences?
  • strictly speaking NOT, but practically YES, since
  • every correct answer is an instance of some
    computed answer
  • Let
  • P, ? A1,,Am, and ? be as before
  • If
  • P ? (A1 ? ? Am)?
  • Then
  • there exists a refutation of ? A1,,Am with
    answer ?
  • such that
  • (A1 ? ? Am)? is an instance of (A1 ? ? Am)?
  • See Example 3.23

27
...Completeness theorem
  • Most general unifiers are used in inference steps
  • ? refutations give the most general answers
  • necessity for completeness theorem to hold
  • Thm. confirms only the existence of a refutation
  • does not tell how to find one
  • in practice, we have to systematically search in
    the SLD-tree for the successful derivations

28
Search in SLD-trees
  • Prolog systems
  • Textual ordering of clauses ? ordering of edges
  • Depth-first search in this order
  • Backtrack from leaf nodes
  • Solutions are reported at empty leaves
  • Property the above is complete for finite
    SLD-trees
  • Infinite trees ? infinite paths ? infinite search
  • Breadth-first?
  • theoretically better
  • makes implementation (memory management) much
    more complicated
  • too slow for practical applications

29
Proof trees
  • Structural representations for SLD-derivations
  • like derivation trees in CF grammars
  • each clause represents an elementary tree
  • derivation tree combination of elementary trees
  • joint nodes labeled with
  • equations for clause head corresponding body
    atom above
  • proof tree
  • a complete derivation tree, i.e. all leaf nodes
    are constants true

30
Proof trees
  • Alternative view
  • proof tree collection of equations (joint
    nodes)
  • consistent tree equation set has a solved form
  • not all derivation trees are consistent
  • Note works also in other interpretations
  • i.e. no matter what the equality stands for
  • Extension use (atomic) goals as the root
  • solved form an answer for the goal
  • Simplification of proof trees
  • apply the substitution induced by the solved form
    to the tree
  • collapse identical equations into one node
  • simplified tree shows (clearly) the consistence

31
Searching for a consistent proof tree
  • Two (possibly) interleaved processes
  • combination of elementary trees
  • given this subgoal, try out this clause
  • simplification of nodes
  • not necessary to simplify the whole tree at once
  • In which order to simplify?
  • construct the whole tree check then
  • check while building
  • check the whole set of equations when new ones
    are added
  • simplify the tree as new equations are introduced
  • Prolog approach
  • build tree in depth-first manner
  • simplify immediately

32
Derivations and proof trees
  • Many derivations may map to the same proof tree
  • Clear due to the independence of computation rule
  • computation rule tells the order in which
    equations are solved
  • the final result stays the same
Write a Comment
User Comments (0)
About PowerShow.com