74
Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksn

Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Embed Size (px)

Citation preview

Page 1: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Automated reasoning with propositional and predicate logics

Spring 2007, Juris Vīksna

Page 2: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Propositional logic

Page 3: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Propositional logicA formal definition of propositional logic formulas:

[Adapted from M.Davis, E.Weyukerl]

Page 4: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Propositional logic - assignments

[Adapted from M.Davis, E.Weyukerl]

Page 5: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Propositional logicHow useful is propositional logic?

Page 6: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Satisfiability and tautologies

In Latvian:

satisfiable = nepretrunīgaunsatisfiable = pretrunīga

[Adapted from M.Davis, E.Weyukerl]

Page 7: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Some useful equivalences

[Adapted from M.Davis, E.Weyukerl]

Page 8: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Normal forms - DNF

Page 9: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Normal forms - CNF

Page 10: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Logical consequence

[Adapted from M.Davis, E.Weyukerl]

Page 11: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

How it looks for CNFs/DNFs?

[Adapted from M.Davis, E.Weyukerl]

Page 12: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Logical consequence

Deciding (1) is much simpler for DNFsDeciding (2) is much simpler for CNFs

Unfortunately:When applying case (1) it is easy to obtain CNF, not DNF...When applying case (2) it is easy to obtain DNF, not CNF...

(This also means that CNFDNF conversion in general requires an exponential time)

Largely by following the tradition we will use case (2)

[Adapted from M.Davis, E.Weyukerl]

Page 13: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Conversion of formula to CNF

(III) Use distributive laws to obtain CNF[Adapted from M.Davis, E.Weyukerl]

Page 14: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

CNF - some more simplifications

[Adapted from M.Davis, E.Weyukerl]

Page 15: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Thus, we currently have:

[Adapted from M.Davis, E.Weyukerl]

Page 16: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Some useful notation

[Adapted from M.Davis, E.Weyukerl]

Page 17: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Empty clauses and empty formulas

[Adapted from M.Davis, E.Weyukerl]

Page 18: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Yet more of notation

[Adapted from M.Davis, E.Weyukerl]

Page 19: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Davis-Putnam rules I

[Adapted from M.Davis, E.Weyukerl]

Page 20: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Davis-Putnam rules I

[Adapted from M.Davis, E.Weyukerl]

Page 21: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Davis-Putnam rules I

[Adapted from M.Davis, E.Weyukerl]

Page 22: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Davis-Putnam rules II and III

[Adapted from M.Davis, E.Weyukerl]

Page 23: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Davis-Putnam procedure

Use rules II, III and I (in this order of preference)[Adapted from M.Davis, E.Weyukerl]

Page 24: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Complexity of Davis-Putnam procedureEach step decreases the number of literals by 1 (thus for n literals there will be up to n steps)

Rules II and III do not increase the number of formulas to bechecked

Unfortunately, when only rule I applies, the number of formulasdoubles

In worst case the complexitymight be (2n)

Page 25: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Davis-Putnam procedure - some improvements

Page 26: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Resolvent

[Adapted from M.Davis, E.Weyukerl]

Page 27: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Notation again...

[Adapted from M.Davis, E.Weyukerl]

Page 28: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Resolution method

[Adapted from M.Davis, E.Weyukerl]

Page 29: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Resolution method

[Adapted from M.Davis, E.Weyukerl]

Page 30: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Ground Resolution Theorem

[Adapted from M.Davis, E.Weyukerl]

Page 31: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Ground Resolution Theorem

[Adapted from M.Davis, E.Weyukerl]

Page 32: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Finite satisfiabilityThis will be useful when we move up to predicate logic...

[Adapted from M.Davis, E.Weyukerl]

Page 33: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Enumeration principle

[Adapted from M.Davis, E.Weyukerl]

Page 34: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Finite satisfiability - some lemmas

[Adapted from M.Davis, E.Weyukerl]

Page 35: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Finite satisfiability - some lemmas

[Adapted from M.Davis, E.Weyukerl]

Page 36: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Finite satisfiability - some lemmas

Page 37: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Finite satisfiability - some lemmas

[Adapted from M.Davis, E.Weyukerl]

Page 38: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Compactness theorem

[Adapted from M.Davis, E.Weyukerl]

Page 39: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Predicate logicLets start with a formal definition:

[Adapted from M.Davis, E.Weyukerl]

Page 40: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Predicate logic - an alphabet

[Adapted from M.Davis, E.Weyukerl]

Page 41: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Predicate logic - terms

[Adapted from M.Davis, E.Weyukerl]

Page 42: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Predicate logic - formulas

[Adapted from M.Davis, E.Weyukerl]

Page 43: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Free and bound occurrences

[Adapted from M.Davis, E.Weyukerl]

Page 44: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Predicate logic - interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 45: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations - some notation

[Adapted from M.Davis, E.Weyukerl]

Page 46: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 47: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 48: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 49: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 50: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 51: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Interpretations

[Adapted from M.Davis, E.Weyukerl]

Page 52: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Models, valid and satisfiable formulas

An interpretation I is called a model of a sentence , if I=1

An interpretation I is a model for a set of sentences, if itis a model for each of the sentences from this set

A predicate logic formula is satisfiable, if it has a model

A predicate logic formula is valid, if every it's interpretation is it's model

Page 53: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Logical consequence

[Adapted from M.Davis, E.Weyukerl]

Page 54: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Logical consequence

Looks very similar to what we had for propositional logic

A problem: What to use here instead of DNFs/CNFs?

[Adapted from M.Davis, E.Weyukerl]

Page 55: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Simplification of formulas

[Adapted from M.Davis, E.Weyukerl]

Page 56: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Simplification of formulas

[Adapted from M.Davis, E.Weyukerl]

Page 57: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Skolemization

[Adapted from M.Davis, E.Weyukerl]

Page 58: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Skolemization

[Adapted from M.Davis, E.Weyukerl]

Page 59: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Skolemization

[Adapted from M.Davis, E.Weyukerl]

Page 60: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Simplification of formulas

[Adapted from M.Davis, E.Weyukerl]

Page 61: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Universal sentences

[Adapted from M.Davis, E.Weyukerl]

Page 62: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Herbrand universe

[Adapted from M.Davis, E.Weyukerl]

Page 63: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Checking for satisfiabilty

Thus, we have reduced the problem of satisfiabilty of apredicate logic formula to a problem of satisfiability for a (maybe infinite) set of propositional logic formulas

Recall that by compactness theorem if a set of propositional formulas is unsatisfiable, it is also finitely unsatisfiable

[Adapted from M.Davis, E.Weyukerl]

Page 64: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Checking for satisfiabilty

[Adapted from M.Davis, E.Weyukerl]

Page 65: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Again some lemmas

[Adapted from M.Davis, E.Weyukerl]

Page 66: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Returning to proof

[Adapted from M.Davis, E.Weyukerl]

Page 67: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Returning to proof

[Adapted from M.Davis, E.Weyukerl]

Page 68: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Lemmas again

[Adapted from M.Davis, E.Weyukerl]

Page 69: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Proof completed

[Adapted from M.Davis, E.Weyukerl]

Page 70: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Herbrands theorem

[Adapted from M.Davis, E.Weyukerl]

Page 71: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

The procedure for checking satisfiability

But - if the formula is unsatisfiable we eventually will be able toprove this )although we might not be able wait as long as willbe necessary)

If the formula is satisfiable the current procedure will terminatejust if the Herbrand universe will be finite... [Adapted from M.Davis, E.Weyukerl]

Page 72: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Satisfiability?

If the formula is unsatisfiable we eventually will be able toprove this )although we might not be able wait as long as willbe necessary)

If the formula is satisfiable the current procedure will terminatejust if the Herbrand universe will be finite...

It can be shown that in general the problem whether a givenpredicate logic formula is satisfiable is algorithmically unsolvable(the famous Gödel's Theorem)

Still, we can do a little better than with a current procedure...

Page 73: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Unification

[Adapted from M.Davis, E.Weyukerl]

Page 74: Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna

Robinson's theorem

This is the version of resolution method that is generally used

You may be able to show that a formula is satsifiable also in thecase when the unification procedure does not produce any newterms

[Adapted from M.Davis, E.Weyukerl]