Académique Documents
Professionnel Documents
Culture Documents
Course V231
Department of Computing
Imperial College
Jeremy Gow
P1 « Pm, Q1 « Qn
Subst(ë, P1 « (no Pj) « Pm Q1 « (no Qk) ... Qn)
þ
: ånowledge base (åB) of axioms
and negated theorem in CNF
þ o
: Resolution rule picks 2 clauses
and adds new clause
þ ï
: Does åB contain the empty clause?
1) is_man(socrates) 1) is_man(socrates)
2) is_man(X) is_mortal(X) 2) ¬is_man(X) is_mortal(X)
3) ¬is_mortal(socrates) 3) ¬is_mortal(socrates)
4) is_mortal(socrates) 4) ¬is_man(socrates)
1) is_man(socrates) 1) is_man(socrates)
2) is_man(X) is_mortal(X) 2) is_man(X) is_mortal(X)
3) ¬is_mortal(socrates) 3) ¬is_mortal(socrates)
4) is_mortal(socrates) 4) ¬is_man(socrates)
5) False 5) False
"
#
$
#
$
!'()&
%&r
!
%&r
!
r|
þ ! add
to åB
± X=X, X=ViV=X, etc.
± Special axiom for
predicate/function:
þ X = V P(X) = P(V)
r%*
$
þ |
: rewrite with equalities
þ Demodulation inference rule
X=V, A[S] Unify(X, S) = ë
Subst(ë, A[V])
þ Clause C +
clause D
± if C is more µgeneral¶ (D is more specific)
þ Naive check for subsumption
± Select C2, a subset of literals of C
± Find Unify(C2, D) = ë
± ë does not add anything to D (only renames vars)
þ rxample:
± p(george) Ú q(X) subsumed by p(A) Ú q(B) Ú r(C)
± Substitution: {A/george, X/B}
± Second clause is more general
+
þ Deduction by
$
þ
± Let a theorem prover do simple tasks while you
develop a theory (e.g., Buchberger¶s Theorema)
þ ï$
$