Title: Automated reasoning and theorem proving
1Automated reasoning and theorem proving
Automated reasoning Resolution Unification
Normalization
2Introduction
Automated reasoning
Logic Syntax Model semantics Logica
l entailment
3The AI dream in the 60s
- Logic allows to express almost everything
formally.
- Logic also allows to prove theorems based on
the information given.
- Can we exploit this to build automated reasoning
systems ??
4Underlying premises
5Example
- The following knowledge is given
2. Marcus was a Pompeian. 3. All Pompeians were
Romans. 4. Caesar was a ruler. 5. All Romans were
either loyal to Caesar or hated him. 6. Everyone
is loyal to someone. 7. People only try to
assassinate rulers to whom they are not loyal. 8.
Marcus tried to assassinate Caesar.
- Can we automatically answer the following
questions?
6Conversion to the First Order Logic
1. Marcus was a man. man(Marcus)
2. Marcus was a Pompeian. Pompeian(Marcus)
4. Caesar was a ruler. ruler(Caesar)
8. Marcus tried to assassinate Caesar. try_assa
ssinate(Marcus, Caesar)
7Conversion tothe First Order Logic (2)
- General representation (representation of rules)
3. All Pompeians were Romans.
?x Pompeian(x) ? Roman(x)
5. All Romans were either loyal to Caesar or
hated him.
?x Roman(x) ? loyal_to(x,Caesar) ?
hates(x,Caesar)
6. Everyone is loyal to someone.
?x ?y loyal_to(x,y)
7. People only try to assassinate rulers to whom
they are not loyal.
?x?y person(x) ? ruler(y) ? try_assassinate(x,y)
? loyal_to(x,y)
8The theorem ?
Was Marcus loyal to Caesar?
loyal_to(Marcus,Caesar)
Did Marcus hate Caesar?
hates(Marcus,Caesar)
9A proof using backward-reasoning
problem-reduction
loyal_to(Marcus,Caesar)
Modus ponens
10Problems1) knowledge representation
- Natural language is imprecise / ambiguous
- see People only try
- Obvious information is easily forgotten.
- see man lt-gt person
- Some information is more difficult to represent
in logic. - Vb. perhaps , possibly, probably,
the chance of is 45,
- Logic is inconvenient from a software
engineering perspective. - too fine-grained (like an assembly language)
11Problems2) Problem solving
- All trade-offs that we had with search methods
based on states space representation - backward/forward, tree/graph, OR-tree/AND-OR, con
trol aspects, ...
- What deduction rules are needed in general?
- Example prove hates(Marcus,Caesar)
- How do we handle ?x and ?y ?
12Problems2) Problem solving (2)
- How to compute substitutions in the general case ?
- Which theorem do we try to prove?
- Ex. loyal_to(Marcus,Caesar) or
loyal_to(Marcus,Caesar)
- How to handle equality of objects?
- Problem combinatorial explosion of the derived
equalities (reflexivity, symmetry, transitivity,
)
- How to guarantee correctness/completeness?
13The formal model semantics of Logic
- The meaning of Logical entailment
14Semantics / Logical entailment
- Given a set of formulas S S is inconsistent
if S has no models.
Example S p(a), p(a)
15Marcus example
A
F ?
ruler
person
P
man
try_assassinate
Pompeian
Roman
loyal_to
hates
Intended interpretation
Is a model IF ALL FORMULAS ARE CORRECT
16Marcus example
I(man) I(person) I(Roman) natural number
I(try_assassinate) gt
I(Pompeian) even number
I(loyal_to) divides
I(ruler) prime number
I(hates) doesnt divide
17Model ??
YES !
1. Marcus was a man. 4 is a natural number
2. Marcus was Pompeian. 4 is an even number
4. Caesar was a ruler. 3 is a prime number
8. Marcus tried to assassinate Caesar. 4 gt 3
3. All Pompeians were Romans.
Even numbers are naturals.
5. All Romans were either loyal to Caesar or
hated him.
A number either divides 3 or doesnt divide 3.
6. Everybody is loyal to somebody.
Each number is a divisor of some number.
7. People try to assassinate only those rulers to
whom they are not loyal.
A natural number that is greater than a prime
number doesnt divide the prime number.
18Logic is all form, no content
Only the underlying structure of a set of logical
formulas is important for the conclusions! (up
to the names isomorphism)
But from the knowledge representation perspective
also the contents is important.