Beweis mit Resolution
2005-07-07 03:00
Lazy
Ich habe folgende Aussage:
Wenn x>=4, dann 2^x>=x^2
Diese Aussage stimmt wie sich leicht erkennen lässt nun will ich sie aber beweisen, und zwar nicht mit Induktion sondern zur Übung mit der Prädikatenlogischen Resolution:
Dazu zunächst einige Definitionen:
G(x,y) := x>=y
e(x,y) := x^y
V := der Allquantor
E := Existenzquantor
- := Negation
= := Äquivalenz
v := Disjunktion
^ := Konjunktion
Nun habe ich die Aussage nach diesen Definitionen in Prädikatenlogik umgeschrieben:
Vx( G(x,4) -> G( e(2,x), e(x,2)))
Um diese Aussage zu beweisen, muss ich die Allgemeingültigkeit dieser Formel zeigen, oder die Unerfüllbarkeit der Negation:
-Vx( G(x,4) -> G( e(2,x), e(x,2)))
= Ex-( G(x,4) -> G( e(2,x), e(x,2)))
= Ex-( -G(x,4) v G( e(2,x), e(x,2)))
= Ex( G(x,4) ^ -G( e(2,x), e(x,2)))
erfüll.Äq. (G(a,4) ^ -G( e(2,a), e(a,2))) Skolemkonstante a
= { {G(a,4)} {-G( e(2,a), e(a,2))} }
Hier kann ich ja nun nicht resolvieren, da ich keine Variablen mehr habe so dass Unifikation möglich wäre. D.h. ich kann keine leere Klausel resolvieren und damit wäre die ursprüngliche Aussage nicht gültig. Wo liegt der Fehler?
Wenn x>=4, dann 2^x>=x^2
Diese Aussage stimmt wie sich leicht erkennen lässt nun will ich sie aber beweisen, und zwar nicht mit Induktion sondern zur Übung mit der Prädikatenlogischen Resolution:
Dazu zunächst einige Definitionen:
G(x,y) := x>=y
e(x,y) := x^y
V := der Allquantor
E := Existenzquantor
- := Negation
= := Äquivalenz
v := Disjunktion
^ := Konjunktion
Nun habe ich die Aussage nach diesen Definitionen in Prädikatenlogik umgeschrieben:
Vx( G(x,4) -> G( e(2,x), e(x,2)))
Um diese Aussage zu beweisen, muss ich die Allgemeingültigkeit dieser Formel zeigen, oder die Unerfüllbarkeit der Negation:
-Vx( G(x,4) -> G( e(2,x), e(x,2)))
= Ex-( G(x,4) -> G( e(2,x), e(x,2)))
= Ex-( -G(x,4) v G( e(2,x), e(x,2)))
= Ex( G(x,4) ^ -G( e(2,x), e(x,2)))
erfüll.Äq. (G(a,4) ^ -G( e(2,a), e(a,2))) Skolemkonstante a
= { {G(a,4)} {-G( e(2,a), e(a,2))} }
Hier kann ich ja nun nicht resolvieren, da ich keine Variablen mehr habe so dass Unifikation möglich wäre. D.h. ich kann keine leere Klausel resolvieren und damit wäre die ursprüngliche Aussage nicht gültig. Wo liegt der Fehler?