Plan wykładu Szukamy modelu Model Herbranda Twierdzenia Logika obliczeniowa Instytut Informatyki Plan wykładu Szukamy modelu 1 Szukamy modelu Problemy 2 Model Herbranda Uniwersum Herbranda Interpretacja Herbranda Model Herbranda 3 Twierdzenia Herbranda Semantyczne Składniowe Model Herbranda Twierdzenia
Jak znaleźć model formuły? A = X ( Y ((p(x ) q(y, X )) r(x, Y ))) A = X ( Y ((matka(x ) dziecko(y, X )) kocha(x, Y ))) gdyby dziedzina była skończona... matka(anna) jestdzieckiem(alicja, anna) Adam Anna Alicja Model A = X ( Y ((matka(x ) dziecko(y, X )) kocha(x, Y ))) D = {anna, adam, alicja} p(x) = matka(x) = {anna} q(y,x) = jestdzieckiem(y,x) = {(alicja, anna)} interpretacja predykatu r(x,y) r(x,y) = kocha(x,y) = {(anna, adam)(adam, anna)(adam, alicja)(anna, alicja)}
Wady trudno przenieść wnioski na inną interpretację - są nieporównywalne, można odwzorować jedną dziedzinę na drugą, ale to może być trudne (zbiory nieskończone) czy można znaleźć uniwersalną (kanoniczną) dziedzinę i odwzorowanie? Jak zbudować model uniwersalny? Czy można zbudować w sposób systematyczny (nie zgadując) model formuły w rachunku predykatów? S = x w( p(x) q(w)) Niech a będzie stałą: A = {a} Zbiór wszystkich termów ustalonych występujących w S: H S = {a} Zbiór wszystkich predykatów ustalonych: B S = {p(a), q(a)} Zbiór wszystkich interpretacji: v(p(a)) = 1, v(q(a)) = 1 v(p(a)) = 1, v(q(a)) = 0 v(p(a)) = 0, v(q(a)) = 1 v(p(a)) = 0, v(q(a)) = 0 Czy jest wśród nich model S?
Jak zbudować model uniwersalny? S = x w( p(f (x)) q(w)) Niech a będzie stałą: A = {a} Zbiór wszystkich termów ustalonych występujących w S: H S = {a, f (a), f (f (a)),..., f (f (... (a)...)),...} Zbiór wszystkich predykatów ustalonych: B S = {p(f (a)), q(a), p(f (f (a)),...} Zbiór wszystkich interpretacji:??? Uniwersum Herbranda Definicja Niech: S będzie zbiorem klauzul, A będzie zbiorem symboli stałych występujących w S, F będzie zbiorem symboli funkcyjnych z S. Uniwersum Herbranda H S zbioru S definiujemy indukcyjnie: a i H S dla a i A, f i (t 1,..., t n ) H S dla f i F, t j H S. Jeżeli w zbiorze S nie występuje żadna stała, indukcyjna definicja H S jest inicjowana wprowadzeniem dowolnej stałej a.
Najpierw termy S = { p(x, f (y)), p(w, g(w))} A = {a} H S = {a, f (a), g(a), f (f (a)), g(f (a)), f (g(a)), g(g(a)),...} Uniwersum Herbranda Uniwersum Herbranda jest zbiorem wszystkich termów ustalonych utworzonych z symboli występujących w S. Jeżeli w zbiorze S występuje symbol funkcyjny, to oczywiście uniwersum Herbranda jest nieskończone, gdyż zawiera termy postaci f (f (... (a)...)).
Potem atomy S = { p(x, f (y)), p(w, g(w))} A = {a} H S = {a, f (a), g(a), f (f (a)), g(f (a)), f (g(a)), g(g(a)),...} B S = {p(a, f (a)), p(f (a), f (a)), p(f (f (a)), f (a)),..., p(g(a), f (a)), p(g(a), f (g(a)))..., p(a, g(a)), p(f (a), g(f (a))), p(g(a), g(g(a))),...} Baza Herbranda Definicja Niech H S będzie uniwersum Herbranda zbioru klauzul S. Bazą Herbranda B S nazywamy zbiór atomów ustalonych, utworzonych z symboli predykatywnych występujących w S oraz z termów należących do H S.
Interpretacja Herbranda Definicja Interpretacją Herbranda dla zbioru klauzul S nazywamy interpretację, której dziedziną jest uniwersum Herbranda zbioru S, a stałym i symbolom funkcyjnym są przyporządkowane te same symbole: v(a) = a v(f (t 1,..., t n )) = f (v(t 1 ),..., v(t n )) Interpretację Herbranda można utożsamić z podzbiorem bazy Herbranda, zawierającym atomy, dla których v(p(t 1,..., t n )) = 1. Nie nakłada się żadnych ograniczeń na przyporządkowanie symbolom predykatywnym relacji określonych nad uniwersum Herbranda. Model Herbranda Definicja Modelem Herbranda zbioru klauzul S nazywamy interpretację Herbranda spelniającą S. S = { p(x, f (y)), p(w, g(w))} B S = {p(a, f (a)), p(f (a), f (a)),..., p(g(a), f (a)),..., p(a, g(a)), p(f (a), g(f (a))),...} Interpretacja I = {p(a, g(a))} B S jest modelem S v(p(a, g(a))) = 1 bo p(a, g(a)) B S v(p(a, f (a))) = 0 bo p(a, f (a)) B S
Jacques Herbrand Jacques Herbrand (ur. 12 lutego 1908 - zm. 27 lipca 1931) - francuski matematyk, znany głównie ze swojego wkładu do logiki matematycznej, w mniejszym stopniu też do algebry. Zginął w wypadku podczas wspinaczki w Alpach. Istnienie modelu Herbranda Twierdzenie Niech S będzie zbiorem klauzul. Zbiór S ma model wtedy i tylko wtedy, gdy ma model Herbranda. Powyższe twierdzenie nie zachodzi dla dowolnych formuł, czyli formuł, które nie są zbiorami klauzul.
Kiedy model Herbranda nie istnieje? S = {p(a), x p(x)} Uniwersum Herbranda: {a} Baza Herbranda: B S = {p(a)} Interpretacje Herbranda: I 1 = {{a}, {{p(a)}}, {}, {a}} I 2 = {{a}, {{}}, {}, {a}} Żadna z interpretacji Herbranda nie jest modelem. Jednak model istnieje: I 3 = {{0, 1}, {{0}}, {}, {0}} v(p(0)) = 1 v(p(1)) = 0 Twierdzenia semantyczne Herbranda Twierdzenie 1 Zbiór klauzul S jest niespełnialny wtedy i tylko wtedy, gdy skończony zbiór ustalonych instancji klauzul z S jest niespełnialny.
Twierdzenia semantyczne Herbranda Twierdzenie 1 Zbiór klauzul S jest niespełnialny wtedy i tylko wtedy, gdy skończony zbiór ustalonych instancji klauzul z S jest niespełnialny. Twierdzenie składniowe Herbranda Twierdzenie Dowód formuły A rachunku predykatów istnieje wtedy i tylko wtedy, gdy dla formuły utworzonej ze skończonego zbioru ustalonych instancji podformuł formuły A istnieje dowód, w którym używa się jedynie aksjomatów oraz reguł dowodzenia dla rachunku zdań.
( x(p(x) q(x)) ( xp(x) xq(x))) Postać klauzulowa: { p(x) q(x), p(y), q(z)} { p(a) q(a), p(a), q(a)} { p(a), p(a), q(a)} lub {q(a), p(a), q(a)} Wnioski z twierdzenia Herbranda Twierdzenie składniowe Herbranda dostarcza narzędzia do zdefiniowania wydajnej semi-decyzyjnej procedury rozwiązującej problem prawdziwości formuł rachunku predykatów: zaneguj formułę, przekształć ją do postaci klauzulowej, utwórz skończony zbiór klauzul ustalonych, sprawdź, czy zbiór klauzul ustalonych jest niespełnialny. Niestety, nie jest znana sprawna metoda generowania zbioru klauzul ustalonych, który mógłby być niespełnialny.