AR: clausale logica
description
Transcript of AR: clausale logica
AR: clausale logicaAR: clausale logica
De stap naar: De stap naar: resolutieresolutie
2
Clausale vormClausale vorm
Veralgemeende vorm van de formules:Veralgemeende vorm van de formules:
x1 … xk A1 A2 … Am B1 B2 … Bn
Horn clauses is het bijzonder geval met Horn clauses is het bijzonder geval met m = 1m = 1
We veronderstellen dat We veronderstellen dat S = T S = T {~F} {~F} alleen alleen bestaat uit clausale formules. bestaat uit clausale formules.
DoelDoel:: bewijs dat bewijs dat SS inconsistent is. inconsistent is.
3
Voorbeeld: Moore’s probleemVoorbeeld: Moore’s probleem
BlauwBlauw ofof RoodRood
Gegeven 3 blokken:Gegeven 3 blokken:
Bewijs dat er een Bewijs dat er een blauwblauw blok naast een blok naast een roodrood blok staat!blok staat!
4
Moore’s probleem (2):Moore’s probleem (2):
Dit zou een geval-analyse vereisen!Dit zou een geval-analyse vereisen!
In clausale vorm:In clausale vorm:
blauw(Blok1)blauw(Blok1)rood(Blok3)rood(Blok3)blauw(Blok2) blauw(Blok2) rood(Blok2) rood(Blok2)
naast(Blok1,Blok2)naast(Blok1,Blok2)naast(Blok2,Blok1)naast(Blok2,Blok1)naast(Blok2,Blok3)naast(Blok2,Blok3)naast(Blok3,Blok2)naast(Blok3,Blok2)
BewijsBewijs:: ofof false false naast(b1,b2) naast(b1,b2) blauw(b1) blauw(b1) rood(b2) rood(b2)
is inconsistent.is inconsistent.
b1 b1 b2 naast(b1,b2) b2 naast(b1,b2) blauw(b1) blauw(b1) rood(b2) rood(b2)
PROBLEEMPROBLEEM:: Modus ponens is niet geschikt voor Modus ponens is niet geschikt voor blauw(Blok2) blauw(Blok2) rood(Blok2) rood(Blok2)
5
hoog_gequalificeerd(x) hoog_gequalificeerd(x) phd(x) phd(x)vroeg_verdienen(x) vroeg_verdienen(x) ~phd(x) ~phd(x)rijk(x) rijk(x) hoog_gequalificeerd(x) hoog_gequalificeerd(x)rijk(x) rijk(x) vroeg_verdienen(x) vroeg_verdienen(x)
(1)(1)(2)(2)(3)(3)(4)(4)
Introductie van negatie in bodies Introductie van negatie in bodies is equivalent:is equivalent:
Voorbeeld:Voorbeeld:
Bewijs: Bewijs: rijk(Ik)rijk(Ik)
Waarom equivalent? Waarom equivalent? (2)(2) is equivalent met is equivalent met verdienen(x) verdienen(x) phd(x) phd(x) vanwegevanwege A A ~B ~B A A B B
6
Disjunctie versus negatie Disjunctie versus negatie in het algemeen:in het algemeen:
x1 … xk A1 A2 … Am B1 B2 … Bn
is equivalent aan:is equivalent aan:
x1 … xk A1 B1 B2 … Bn ~A2 … ~Am
of ook aan:of ook aan:
x1 … xk Ai B1 B2 … Bn ~A1 .. .. ~Am
BewijsBewijs: : A A ~B ~B A A B B en basis relaties tussen en basis relaties tussen , , and ~ and ~
A ~B A B
7
Het resolutie principeHet resolutie principe
A1 A1 A2 A2 … … Am Am B1 B1 … … BB … … Bn BnC1 C1 ... ... BB … … Ck Ck D1 D1 D2 D2 … … Dl Dl
A1 A1 A2 A2 … … Am Am C1 C1 .. .. .. .. Ck Ck B1 B1 .. .. .. .. Bn Bn D1 D1 D2 D2 … … Dl Dl
Propositie geval:Propositie geval:
CorrectheidCorrectheid: duidelijk want:: duidelijk want: maak van alle andere disjuncten genegeerde maak van alle andere disjuncten genegeerde
body-body- atomen,atomen, pas dan veralgemeende modus ponens toe,pas dan veralgemeende modus ponens toe, breng al die genegeerde body-atomen terug als breng al die genegeerde body-atomen terug als
disjuncten in het hoofd.disjuncten in het hoofd.
8
Resolutie: predicaten logicaResolutie: predicaten logica
waarbij waarbij = = mgu(mgu(BB,,B’B’))..
Correctheid: Correctheid: door correctheid van het gegronde geval, door correctheid van het gegronde geval,
toegepast op alle instantiaties van deze regeltoegepast op alle instantiaties van deze regel
A1 A1 A2 A2 … … Am Am B1 B1 … … BB … … Bn BnC1 C1 ... ... B’B’ … … Ck Ck D1 D1 D2 D2 … … Dl Dl
(A1 (A1 A2 A2 … … Am Am C1 C1 .. .. .. .. Ck) Ck) (B1 (B1 .. .. .. .. Bn Bn D1 D1 D2 D2 … … Dl) Dl)
9
Kan ook in andere vormen:Kan ook in andere vormen: In In conjunctieve normaal vormconjunctieve normaal vorm::
met met = = mgu(mgu(BB,,B’B’))..
A1 A1 A2 A2 … … Am Am ~B1 ~B1 … … ~~BB … … ~Bn ~BnC1 C1 ... ... B’B’ … … Ck Ck ~D1 ~D1 ~D2 ~D2 … … ~Dl ~Dl
(A1 (A1 A2 A2 … … Am Am C1 C1 .. .. .. .. Ck) Ck) (~B1 (~B1 .. .. .. .. ~Bn ~Bn ~D1 ~D1 ~D2 ~D2 … … ~Dl) ~Dl)
10
Opnieuw Moore’s voorbeeldOpnieuw Moore’s voorbeeld
blauw(Blok2)blauw(Blok2) rood(Blok2) rood(Blok2)
rood(Blok2) rood(Blok2) naast( naast(Blok2Blok2,b2) ,b2) rood(b2)rood(b2)
blauw(Blok1)blauw(Blok1)rood(Blok3)rood(Blok3)blauw(Blok2) blauw(Blok2) rood(Blok2) rood(Blok2)
naast(Blok1,Blok2)naast(Blok1,Blok2)naast(Blok2,Blok1)naast(Blok2,Blok1)naast(Blok2,Blok3)naast(Blok2,Blok3)naast(Blok3,Blok2)naast(Blok3,Blok2)
rood(Blok2) rood(Blok2) naast(Blok2,naast(Blok2,Blok3Blok3))
rood(Blok3)rood(Blok3)
rood(Blok2)rood(Blok2)
naast(Blok2,Blok3)naast(Blok2,Blok3)
false false naast(b1, naast(b1,Blok2Blok2) ) blauw(b1)blauw(b1)
false false naast(b1,b2) naast(b1,b2) blauw(b1) blauw(b1) rood(b2)rood(b2)
false false naast(naast(Blok1Blok1,Blok2),Blok2)
blauw(Blok1)blauw(Blok1)
false false
naast(Blok1,Blok2)naast(Blok1,Blok2)
false false naast(b1,b2) naast(b1,b2) blauw(b1blauw(b1)) rood(b2) rood(b2)
11
Phd voorbeeldPhd voorbeeld
rijk(x)rijk(x) false false rijk(Ik)rijk(Ik)
false false
factoringfactoring
vroeg_verdienen(x) vroeg_verdienen(x) hoog_gequal(hoog_gequal(xx)) rijk(y) rijk(y) hoog_gequal(y)hoog_gequal(y)
rijk(rijk(xx) ) rijk(x) rijk(x)
vroeg_verdienen(x)vroeg_verdienen(x) rijk( rijk(xx) ) rijk(y) rijk(y) vroeg_verdienen(y)vroeg_verdienen(y)
hoog_gequal(y) hoog_gequal(y) phd(y)phd(y)vroeg_verdienen(x) vroeg_verdienen(x) phd(x)phd(x)
hoog_gequal(x) hoog_gequal(x) phd(x) phd(x)vroeg_verdienen(x) vroeg_verdienen(x) phd(x) phd(x)rijk(x) rijk(x) hoog_gequal(x) hoog_gequal(x)rijk(x) rijk(x) vroeg_verdienen(x) vroeg_verdienen(x)
(1)(1)(2)(2)(3)(3)(4)(4)
false false rijk(Ik) rijk(Ik)
12
Factoring: algemeenFactoring: algemeen
Zowel:Zowel:
met: met: is is mgu(mgu(BB,,B’B’))
A1 A1 A2 A2 … … Am Am B1 B1 … … BB … … B’B’ … … Bn Bn
(A1 (A1 A2 A2 … … Am Am B1 B1 … … BB … … … … Bn) Bn)
als:als:
met: met: is is mgu(mgu(AA,,A’A’) ) . .
A1 A1 … … A A … … A’A’ … … Am Am B1 B1 … … BnBn
(A1 (A1 … … A A … … … … Am Am B1 B1 … … Bn) Bn)
13
De nood aan factoringDe nood aan factoring
p p q q p p q q false false p p q qq q p p
(p (p q) q) (p (p ~q) ~q) (~p (~p q) q) (~p (~p ~q) ~q)
Zonder factoring is resolutie niet volledig !Zonder factoring is resolutie niet volledig ! VoorbeeldVoorbeeld: : bewijsbewijs {(p {(p ~p) ~p) (q (q ~q)} ~q)} inconsistentinconsistent
Normalizatie:Normalizatie:
Clausale vorm:Clausale vorm:
p p p p q q q q
p p q q q q p p
Je kan nooitJe kan nooit false false krijgen !!!!krijgen !!!!
14
Reden?Reden? De lengte van een formule = het aantal atomen De lengte van een formule = het aantal atomen
(false niet meegerekend):(false niet meegerekend):
A1 A1 A2 A2 … … Am Am B1 B1 … … BB … … Bn BnC1 C1 ... ... B’B’ … … Ck Ck D1 D1 D2 D2 … … Dl Dl
(A1 (A1 A2 A2 … … Am Am C1 C1 .. .. .. .. Ck) Ck) (B1 (B1 .. .. .. .. Bn Bn D1 D1 D2 D2 … … Dl) Dl)
LengteLengte
NNMM
N + M - 2N + M - 2
In het vorige voorbeeld hadden alle formules In het vorige voorbeeld hadden alle formules lengte 2lengte 2
Je kan NOOIT Je kan NOOIT false false ( (lengte 0lengte 0) krijgen !) krijgen !
15
De resolutie procedureDe resolutie procedureS:=:= initial theory (inconsistent te bewijzen);initial theory (inconsistent te bewijzen);ConsistentConsistent:= false;:= false;InconsistentInconsistent:= false;:= false;
WhileWhile not(not(ConsistentConsistent) and not() and not(InconsistentInconsistent) do) doIfIf false false SS ThenThen Inconsistent Inconsistent := true:= trueElseElse
IfIf SS contains no paircontains no pair ((FF,,GG)) resolvable and notresolvable and not yet resolvedyet resolved
ThenThen ConsistentConsistent:= true:= trueElseElse SELECT SELECT a pair (a pair (FF,,GG) from ) from SS, resolvable, resolvable
and not yet resolved;and not yet resolved; HH:= factor( resolvent (:= factor( resolvent (FF,,GG) );) ); S:= S S:= S HHEnd-whileEnd-while
16
Gedrag onder Gedrag onder Horn Horn clauseclause resolutie : resolutie :
false false ... ... … … ... ...
false false
false false ... ... … … ... ...
false false ... ... … … ... ...
......
Lineaire resolutie !Lineaire resolutie !
17
Gedrag onderGedrag onder AlgemeneAlgemene resolutie : resolutie :
Algemene resolutie !Algemene resolutie !
… … ... ... … … ... ...
… … ... ...
… … ... ... … … ... ...
… … ... ... … … ... ...
… … ... ...
false false
18
Lineaire resolutie:Lineaire resolutie: De belangrijkste verschillen met Horn clauses:De belangrijkste verschillen met Horn clauses:
Bij Bij Horn clausesHorn clauses waren de bewijzen altijd LINEAIR waren de bewijzen altijd LINEAIR !! we starten met de “goal”we starten met de “goal” dan gebruiken we een Horn clause om een dan gebruiken we een Horn clause om een
nieuwe nieuwe goal te berekenengoal te berekenen enz.enz.
Clausale resolutie is NIET lineairClausale resolutie is NIET lineair Ook: Ook: factoringfactoring is soms nodig is soms nodig
Lineair resolutie Lineair resolutie (een bewijs is een lineaire (een bewijs is een lineaire opeenvolging van resolutie stappen, startend opeenvolging van resolutie stappen, startend van de goal)van de goal) is één van de belangrijkste is één van de belangrijkste strategieen om resolutie efficient te maken.strategieen om resolutie efficient te maken.
19
Non-determinisme in de Non-determinisme in de resolutie procedureresolutie procedure
SELECT SELECT a paira pair ((FF,,GG)) : maakt het een : maakt het een ERGERG non- non-deterministische procedure.deterministische procedure.
Het controle probleem voor resolutie is Het controle probleem voor resolutie is bijzonder moeilijk.bijzonder moeilijk.Een bewijs is niet meer 1 (lineaire) tak in een boom, Een bewijs is niet meer 1 (lineaire) tak in een boom,
maar een subgraaf van de graaf van alle resoluties.maar een subgraaf van de graaf van alle resoluties.
Is het correct? Is het volledig? ?Is het correct? Is het volledig? ?
Bestaat er een strategie die volledig is??? Bestaat er een strategie die volledig is???
20
Correctheid / Volledigheid ?Correctheid / Volledigheid ?
Volledigheid:Volledigheid: Er bestaat een volledige strategie Er bestaat een volledige strategie (standaard vb: de Herbrand stellingenbewijzer).(standaard vb: de Herbrand stellingenbewijzer).
Correctheid:Correctheid:Als de procedure Als de procedure InconsistentInconsistent teruggeeft teruggeeft::
Dan is Dan is false false toegevoegd toegevoegd Dan is Dan is false false een logisch gevolg van een logisch gevolg van SS
((want de resolutie stap is correct).want de resolutie stap is correct). Dus in alle modellen van Dus in alle modellen van SS is ook is ook false false waarwaar Dus Dus SS heeft geen modellen heeft geen modellen
21
… … ...... … … ......… … ......
… … ......… … ......
Correctheid / Volledigheid (2) ?Correctheid / Volledigheid (2) ?Als de procedure Als de procedure ConsistentConsistent teruggeeft teruggeeft::
Dan zijn ALLE MOGELIJKE resolutie stappen Dan zijn ALLE MOGELIJKE resolutie stappen uitgevoerd, zonder uitgevoerd, zonder false false te bereiken. te bereiken.
Stel toch inconsistent.Stel toch inconsistent. Er bestaat een Er bestaat een VOLLEDIGE strategieVOLLEDIGE strategie: die levert : die levert na eindige tijd wél na eindige tijd wél false false
Maar die doet (een deel van) dezelfde resolutie Maar die doet (een deel van) dezelfde resolutie stappen !!stappen !! Oorspronkelijke gaf ook Oorspronkelijke gaf ook false
… … ...... … … ......… … ......
… … ......
… … ...... … … ......
… … … … false false
AR voor volledige AR voor volledige predicaten logicapredicaten logica
Normalizatie naar clausale formNormalizatie naar clausale form
23
Wat is er meer nodig voor Wat is er meer nodig voor volledige predicaten logica?volledige predicaten logica?
NIETS!NIETS!
Clausale logica is Clausale logica is equivalentequivalent aan volledige aan volledige predicaten logica:predicaten logica: elke theorie elke theorie TT in FOL (first order predicate in FOL (first order predicate
logic) kan automatisch omgezet worden in logic) kan automatisch omgezet worden in een clausale theorie een clausale theorie T’T’, zo dat:, zo dat:
T is inconsistent asa T’ is inconsistent
24
Propositioneel: via conjunctieve Propositioneel: via conjunctieve normal form:normal form:
Elke formule is equivalent aan een formule van Elke formule is equivalent aan een formule van de vorm:de vorm:(A1 (A1 ... ... An) An) (B1 (B1 … … Bm) Bm) … … (C1 (C1 … … Ck) Ck)
waarin alle waarin alle AiAi, , BiBi, …, , …, CiCi ofwel ofwel atomairatomair of of ~atomair~atomair.. Idee:Idee:
p p q q p p q q breng alle ~ zo ver mogelijk naar binnenbreng alle ~ zo ver mogelijk naar binnengebruik de distributiviteit van gebruik de distributiviteit van en en
p p q q q q p pq q ~p ~p
Uiteindelijk:Uiteindelijk:
p1 p1 … … pn pn ~q1 ~q1 … ~qm … ~qm p1 p1 … … pn pn q1 q1 … … qm qm
25
Predicaten geval: hoofd-stappenPredicaten geval: hoofd-stappen
Dit vereist soms nieuwe namen voor variabelen.Dit vereist soms nieuwe namen voor variabelen.Vb.:Vb.: x p(x) x p(x) x q(x) x q(x) x x z p(x) z p(x) q(z)q(z) Merk:Merk: x bewolkt(x) x bewolkt(x) x zonnig(x)x zonnig(x) is is niet niet equivalentequivalent metmet x bewolkt(x) x bewolkt(x) zonnig(x) zonnig(x)
Prenix normaal vormPrenix normaal vorm
(Q1 x) (Q2 y) …(Qn z) F(Q1 x) (Q2 y) …(Qn z) F
or or heeft geen quantoren!
Conjunctieve normaal vorm:Conjunctieve normaal vorm:
(Q1 x) (Q2 y) …(Qn z) ( .. (Q1 x) (Q2 y) …(Qn z) ( .. .. ) .. ) ( .. ( .. .. ) .. ) .. .. ( .. ( .. .. ) .. )
Die 2 stappen worden vermengd.Die 2 stappen worden vermengd.
26
Predicaten geval: vervolgPredicaten geval: vervolg
Skolem functiesSkolem functies: zoveel argumenten als omsluitende : zoveel argumenten als omsluitende -variabelen-variabelen
Skolem normaal vorm:Skolem normaal vorm: transformeer naar: transformeer naar:
(( x) ( x) ( y) …( y) …( z) ( .. z) ( .. .. ) .. ) ( .. ( .. .. ) .. ) .. .. ( .. ( .. .. ) .. )
x rich(x)x rich(x) wordt wordt rich(rich(SkSk)) , met , met SkSk een nieuwe een nieuwe constante (‘skolem constante’) die nog niet in constante (‘skolem constante’) die nog niet in het alphabet voorkomt.het alphabet voorkomt.
MoeilijkerMoeilijker: indien : indien genest voorkomt binnen genest voorkomt binnen :: ‘‘Everyone has a heart’Everyone has a heart’
x person(x) x person(x) y heart(y) y heart(y) has(x,y) has(x,y)
Niet correct:Niet correct: x person(x) x person(x) heart( heart(HH) ) has(x, has(x,HH)) Correct:Correct: x person(x) x person(x) heart( heart(H(x)H(x)) ) has(x, has(x,H(x)H(x)))
27
Predicaten geval: vervolgPredicaten geval: vervolg
Clausale vorm:Clausale vorm:
x x y y z z (p(x) (p(x) ~q(y) ~q(y) ~r(y)) ~r(y)) (r(A) (r(A) q(z)) q(z)) ~s(x,y) ~s(x,y)
S = {S = {x x y (p(x) y (p(x) ~q(y) ~q(y) ~r(y)) ~r(y)) , , z (r(A) z (r(A) q(z)) q(z)) , , x x y ~s(x,y) y ~s(x,y) } }
S = {S = {p(x) p(x) q(y) q(y) r(y) r(y) , , r(A) r(A) q(z)) q(z)) , , false false s(x,y) s(x,y) } }
Disjuncties:Disjuncties:
28
Expliciete Procedure:Expliciete Procedure:1.1. Elimineer Elimineer en en . .
2.2. Breng de negaties naar binnen: Breng de negaties naar binnen:~(~p) ~(~p) p p,, ~(p ~(p q) q) ~p ~p ~q ~q,, (analoog voor(analoog voor ))~~x x x ~ x ~ ,, ~ ~x x x ~x ~
3.3. Standardizeer variabele namen (maak verschillend). Standardizeer variabele namen (maak verschillend).
PRENEX NORMAAL VORMPRENEX NORMAAL VORM44.. Breng quantoren naar voor. Breng quantoren naar voor.
SKOLEMS INTRODUCERENSKOLEMS INTRODUCEREN5.5. Elimineer Elimineer . .
CONJUNCTIEVE VORMCONJUNCTIEVE VORM6.6. Disjuncties naar binnen. Disjuncties naar binnen.
VERZAMELING DISJUNC.VERZAMELING DISJUNC.77.. Laat Laat weg. weg.8.8. Laat Laat weg. weg.
CLAUSALE VORMCLAUSALE VORM9.9. ~atomen naar andere kant. ~atomen naar andere kant.
29
Marcus voorbeeld:Marcus voorbeeld:
xxyy ~(~(man(x)man(x) heerser(y)heerser(y) probeerverm(x,y)probeerverm(x,y))) ~loyaalaan(x,y)~loyaalaan(x,y)xxyy ~~man(x)man(x) ~~heerser(y)heerser(y) ~~probeerverm(x,y)probeerverm(x,y) ~loyaalaan(x,y)~loyaalaan(x,y)false false man(x)man(x) heerser(y)heerser(y) probeerverm(x,y)probeerverm(x,y) loyaalaan(x,y)loyaalaan(x,y)
x loyaalaan(x,f(x))x loyaalaan(x,f(x))loyaalaan(x,f(x))loyaalaan(x,f(x))
Feiten Feiten 1.1. , , 2.2. , , 4.4. en en 8.8. waren al o.k.: waren al o.k.: ex.:ex.: heerser(Cesar)heerser(Cesar)
3.3. x Pompeier(x)x Pompeier(x) Romein(x) : o.k. ! Romein(x) : o.k. ! 6.6. xx yy loyaalaan(x,y)loyaalaan(x,y)
7.7. xxy man(x)y man(x) heerser(y)heerser(y) probeerverm(x,y)probeerverm(x,y) ~loyaalaan(x,y)~loyaalaan(x,y)
30
Axioma’s in Normaal vorm:Axioma’s in Normaal vorm: 1.1. man(Marcus) man(Marcus) 2.2. Pompeier(Marcus) Pompeier(Marcus) 3.3. Romein(x) Romein(x) Pompeier(x) Pompeier(x) 4.4. heerser(Cesar) heerser(Cesar) 5.5. loyaalaan(x,Cesar) loyaalaan(x,Cesar) haat(x,Cesar)haat(x,Cesar) Romein(x) Romein(x) 6.6. loyaalaan(x,f(x)) loyaalaan(x,f(x)) 7.7. false false man(x) man(x) heerser(y)heerser(y) probeerverm(x,y)probeerverm(x,y)
loyaalaan(x,y)loyaalaan(x,y) 8.8. probeerverm(Marcus,Cesar) probeerverm(Marcus,Cesar)
Te bewijzen: Te bewijzen: haat(Marcus,Cesar)haat(Marcus,Cesar)Negatie: Negatie: ~haat(Marcus,Cesar)~haat(Marcus,Cesar)Normaal Vorm: Normaal Vorm: false false haat(Marcus,Cesar)haat(Marcus,Cesar)
31
Resolutie bewijs (1):Resolutie bewijs (1):false false haat(Marcus,Cesar)haat(Marcus,Cesar)
loyaalaan(x,Cesar) loyaalaan(x,Cesar) haat(x,Cesar)haat(x,Cesar) Romein(x) Romein(x)
loyaalaan(loyaalaan(MarcusMarcus,Cesar) ,Cesar) Romein(Romein(MarcusMarcus))
{x/Marcus}{x/Marcus}
5.5.
Romein(x)Romein(x) Pompeier(x) Pompeier(x)
loyaalaan(Marcus,Cesar) loyaalaan(Marcus,Cesar) Pompeier(Pompeier(MarcusMarcus))
{x/Marcus}{x/Marcus}
3.3.
Pompeier(Marcus)Pompeier(Marcus)
loyaalaan(Marcus,Cesar)loyaalaan(Marcus,Cesar)
{}{}2.2.
32
Resolutie bewijs (2)Resolutie bewijs (2)loyaalaan(Marcus,Cesar)loyaalaan(Marcus,Cesar)
false false man(x) man(x) heerser(y)heerser(y) probeerverm(x,y)probeerverm(x,y) loyaalaan(x,y)loyaalaan(x,y)
false false man(man(MarcusMarcus)) heerser(heerser(CesarCesar)) probeerverm(probeerverm(MarcusMarcus,,CesarCesar))
7.7.
{x/Marcus,y/Cesar}{x/Marcus,y/Cesar}
man(Marcus)man(Marcus)
false false heerser(Cesar)heerser(Cesar) probeerverm(Marcus,Cesar)probeerverm(Marcus,Cesar)
1.1.{}{}
heerser(Cesar)heerser(Cesar)
false false probeerverm(Marcus,Cesar)probeerverm(Marcus,Cesar)
4.4.
{}{}
probeerverm(Marcus,Cesar)probeerverm(Marcus,Cesar)
false false
8.8.
{}{}
33
Een voorbeeld uit Een voorbeeld uit groepentheorie:groepentheorie:
Stel: Stel: een groepsoperatie. een groepsoperatie. Noteer prefix: Noteer prefix: p(x,y,z)p(x,y,z) xx y = zy = z Definitie van een Definitie van een monoide, met linker-neutraal en linker-invers elementmonoide, met linker-neutraal en linker-invers element::
is overal gedefinieerd:is overal gedefinieerd:
xxyyz p(x,y,z)z p(x,y,z)
is associatief:is associatief: (x (x y) y) z = x z = x (y (y z) z)
uu vvxxyyzzuuvvww(p(x,y,(p(x,y,uu) ) p(y,z, p(y,z,vv)) )) (p( (p(uu,z,,z,ww) ) p(x, p(x,vv,,ww))))
(1)(1)
(2)(2)
34
Een voorbeeld uit Een voorbeeld uit groepentheorie (2):groepentheorie (2):
heeft een heeft een linker-neutraallinker-neutraal en en linker-inverslinker-invers element element::
xx ((y p(y p(xx,y,y) ,y,y) yyzz p( p(zz,y,,y,xx))
De stellingDe stelling: er bestaat ook een : er bestaat ook een rechter-inversrechter-invers ! !
(3)(3)
xx ((y p(y p(xx,y,y) ,y,y) yyzz p(y, p(y,zz,,xx)) (4)(4)
Automatisch te bewijzen met resolutie.Automatisch te bewijzen met resolutie.
35
Normalisatie:Normalisatie:
(1) (1) xxyyz p(x,y,z)z p(x,y,z)
StappenStappen: 1,2,3,4: o.k.: 1,2,3,4: o.k. Stap 5Stap 5: skolemisatie:: skolemisatie:
xxy p(x,y,m(x,y))y p(x,y,m(x,y))
StappenStappen: 6,7: o.k.: 6,7: o.k. Stap 8Stap 8: clausale vorm:: clausale vorm:
p(x,y,m(x,y))p(x,y,m(x,y))
36
Normalisatie (vervolg):Normalisatie (vervolg):
(2)(2) xxyyzzuuvvw w (p(x,y,u) (p(x,y,u) p(y,z,v)) p(y,z,v)) (p(u,z,w) (p(u,z,w) p(x,v,w)) p(x,v,w))
Stap 1Stap 1: elimineer : elimineer enen ::
xxyyzzuuvvw w (p(x,y,u) (p(x,y,u) p(y,z,v)) p(y,z,v)) ((((p(u,z,w) p(u,z,w) p(x,v,w) p(x,v,w)) ) ((p(x,v,w) p(x,v,w) p(u,z,w)p(u,z,w)))))
xxyyzzuuvvw w (p(x,y,u) (p(x,y,u) p(y,z,v)) p(y,z,v)) ((((~~p(u,z,w) p(u,z,w) p(x,v,w)) p(x,v,w)) ((~~p(x,v,w) p(x,v,w) p(u,z,w)))p(u,z,w)))xxyyzzuuvvw w ~~(p(x,y,u) (p(x,y,u) p(y,z,v)) p(y,z,v)) ((~p(u,z,w) ((~p(u,z,w) p(x,v,w)) p(x,v,w)) (~p(x,v,w) (~p(x,v,w) p(u,z,w)))p(u,z,w)))
37
Normalisatie (vervolg):Normalisatie (vervolg):xxyyzzuuvvw w ~(p(x,y,u) ~(p(x,y,u) p(y,z,v)) p(y,z,v)) ((~p(u,z,w) ((~p(u,z,w) p(x,v,w)) p(x,v,w)) (~p(x,v,w) (~p(x,v,w) p(u,z,w)))p(u,z,w)))
xxyyzzuuvvw w ( (~~p(x,y,u) p(x,y,u) ~~p(y,z,v)) p(y,z,v)) ((~p(u,z,w) ((~p(u,z,w) p(x,v,w)) p(x,v,w)) (~p(x,v,w) (~p(x,v,w) p(u,z,w)))p(u,z,w)))
Stap 2Stap 2: breng negaties naar binnen: breng negaties naar binnen::
StappenStappen:: 3,4,5 o.k.3,4,5 o.k. Stap 6Stap 6: breng disjuncties naar binnen:: breng disjuncties naar binnen:
xxyyzzuuvvw w (((~p(x,y,u) (~p(x,y,u) ~p(y,z,v)) ~p(y,z,v)) (~p(u,z,w) (~p(u,z,w) p(x,v,w)) p(x,v,w))) ) (((~p(x,y,u) (~p(x,y,u) ~p(y,z,v)) ~p(y,z,v)) (~p(x,v,w) (~p(x,v,w) p(u,z,w)) p(u,z,w))))
A A
(B (B C) C)
A A (B (B C) = (A C) = (A B) B) (A (A C) C)
A A BB
A A CC
38
Normalisatie (vervolg):Normalisatie (vervolg):
xxyyzzuuvvw w ((~p(x,y,u) ((~p(x,y,u) ~p(y,z,v)) ~p(y,z,v)) (~p(u,z,w) (~p(u,z,w) p(x,v,w))) p(x,v,w))) ((~p(x,y,u) ((~p(x,y,u) ~p(y,z,v)) ~p(y,z,v)) (~p(x,v,w) (~p(x,v,w) p(u,z,w))) p(u,z,w)))
xxyyzzuuvvw w ((((~p(x,y,u) ~p(x,y,u) ~p(y,z,v) ~p(y,z,v))) ((~p(u,z,w) ~p(u,z,w) p(x,v,w) p(x,v,w)))) ) ((((~p(x,y,u) ~p(x,y,u) ~p(y,z,v) ~p(y,z,v))) ((~p(x,v,w) ~p(x,v,w) p(u,z,w) p(u,z,w))))) ++ verwijder redundante haakjes: verwijder redundante haakjes: ( )( )
xxyyzzuuvvw w (~p(x,y,u) (~p(x,y,u) ~p(y,z,v) ~p(y,z,v) ~p(u,z,w) ~p(u,z,w) p(x,v,w)) p(x,v,w)) (~p(x,y,u) (~p(x,y,u) ~p(y,z,v) ~p(y,z,v) ~p(x,v,w) ~p(x,v,w) p(u,z,w)) p(u,z,w))
Stappen 7,8Stappen 7,8: elimineer : elimineer en en ::
~p(x,y,u) ~p(x,y,u) ~p(y,z,v) ~p(y,z,v) ~p(x,v,w) ~p(x,v,w) p(u,z,w)p(u,z,w)
~p(x,y,u) ~p(x,y,u) ~p(y,z,v) ~p(y,z,v) ~p(u,z,w) ~p(u,z,w) p(x,v,w) p(x,v,w)