Modely Herbrandovské interpretace

Podobné dokumenty
Logické programy Deklarativní interpretace

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

SLD-derivace. Petr Štěpánek. S využitím materiálu Krysztofa R. Apta

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Částečná korektnost. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1

PŘEDNÁŠKA 7 Kongruence svazů

Výroková a predikátová logika - II

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

Doporučené příklady k Teorii množin, LS 2018/2019

Occur-check (Test konfliktu proměnných)

Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Matematická logika. Miroslav Kolařík

Aplikace: Znalostní báze

Matematická logika. Miroslav Kolařík

Výroková a predikátová logika - VII

Výroková a predikátová logika - X

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Riemannův určitý integrál

Výroková a predikátová logika - VIII

Zastavování výpočtů (Terminace)

Základy teorie množin

Výroková a predikátová logika - VIII

Výroková a predikátová logika - IV

Výroková a predikátová logika - V

4.2 Syntaxe predikátové logiky

Výroková a predikátová logika - VII

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Matematická analýza 1

Výroková a predikátová logika - IX

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Systém přirozené dedukce výrokové logiky

Základy logiky a teorie množin

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Výroková a predikátová logika - XII

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

Základy matematické analýzy

Množiny, relace, zobrazení

Výroková a predikátová logika - IX

Lineární algebra : Lineární prostor

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Výroková a predikátová logika - II

Rezoluční kalkulus pro logiku prvního řádu

Programování v čistém Prologu

Výroková a predikátová logika - VI

Vrcholová barevnost grafu

Representace znalostí s použitím klasické negace

Základy teorie množin

Výroková a predikátová logika - II

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Úvod do informatiky. Miroslav Kolařík

TEORIE MÍRY V některých předchozích kapitolách jste se setkali s měřením velikostí množin a víte, jaké byly těžkosti s měřením množin i na reálné ose.

0. ÚVOD - matematické symboly, značení,

Báze a dimenze vektorových prostorů

Matematická logika. Rostislav Horčík. horcik

Výroková a predikátová logika - X

Zobecněný Riemannův integrál

FREDHOLMOVA ALTERNATIVA

1 Báze a dimenze vektorového prostoru 1

1 Lineární prostory a podprostory

Projekty - Úvod do funkcionální analýzy

Lineární algebra : Báze a dimenze

2.2 Sémantika predikátové logiky

Základy matematické logiky

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

1 Základní pojmy. 1.1 Množiny

Predikátová logika. Z minula: 1. jazyk logiky 1. řádu. 2. term a formule. 3. interpretace jazyka (relační struktura) 4. Tarského definice pravdy

Logika. 6. Axiomatický systém výrokové logiky

Logika a logické programování

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková a predikátová logika - XI

PŘEDNÁŠKA 2 POSLOUPNOSTI

1 Množiny, výroky a číselné obory

Pravděpodobnost a statistika

Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení.

Lineární algebra : Lineární zobrazení

Výroková a predikátová logika - IX

Logické programování

6 Lineární geometrie. 6.1 Lineární variety

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Přednáška 6, 6. listopadu 2013

3. přednáška 15. října 2007

verze 29/9/09 textu o logice, aritmetice a M. Bizzarrimu.

Výroková a predikátová logika - III

1 Linearní prostory nad komplexními čísly

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

4. Topologické vlastnosti množiny reálných

Sémantika predikátové logiky

Okruh č.3: Sémantický výklad predikátové logiky

1 Pravdivost formulí v interpretaci a daném ohodnocení

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Formální systém výrokové logiky

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

Transkript:

Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší termový model C(P) pro daný program P. Nyní se budeme zabývat jinými (a častěji studovanými) interpretacemi, které se nazývají Herbrandovské. Nejprve se budeme zabývat algebrami, které dávají termům jejich sémantický význam. Potom rozšíříme algebry do interpretací, které dovolují přiřadit sémantický význam programům, rezultantám a dotazům. Ke konstrukci speciálních interpretací a modelů se používají operátory na úplných, částečně uspořádaných strukturách. Proto je užitečné zabývat se operátory a jejich pevnými body v obecném smyslu. Logické programování 8 2

Předpokládejme, že (A, < ) je částečně uspořádaná množina. Připomeneme některé definice. Je-li a A a X A, říkáme, že a je nejmenší prvek X, jestliže a X a pro každý prvek x X platí a < x. Říkáme, že a je supremem množiny X, jestliže a X pro každé x X platí x < a a a je nejmenší prvek s touto vlastností. V obecném případě nemusí existovat ani nejmenší prvek množiny X ani její supremum. Z antisymetrie částečného uspořádání však plyne, že pokud nejmenší prvek a supremum X existuje, je určen jednoznačně. Částečně uspořádaná množina (A, < ) je úplná jestliže obsahuje nejmenší prvek a pro každou neklesající posloupnost prvků z A a 0 < a 1 < a 2 <... a n < a n+1 <... existuje její supremum. Logické programování 8 3 V dalším budeme uvažovat jen úplné částečně uspořádané množiny A, které jsou nějakou podmnožinou nějaké specifické domény. Nejmenší prvek A bude prázdná množina, relace < bude definována jako inkluze a supremum X A bude totožné se sjednocením X. Uvažujme nyní nějakou pevně zvolenou úplnou částečně uspořádanou množinu A, její prvky budeme značit I, J... Zobrazení množiny A do A budeme nazývat operátory na množině A. Je-li I 0 I 1 I 2... I n I n+1... (1) supremum { I n n N} exi- neklesající posloupnost prvků z A stuje. Logické programování 8 4

Říkáme, že operátor T je monotonní, jestliže I J implikuje T( I ) T( J ), T je finitární, jestliže pro libovolnou neklesající posloupnost (1) platí T ( { I n n N}) { T ( I n ) n N}. Je-li T současně monotonní a finitární, říkáme, že je spojité. Snadno se nahlédne, že v takovém případě pro každou posloupnost (1) platí T ( { I n n N}) = { T ( I n ) n N}. Tato rovnost se častěji používá jako definice spojitého operátoru. Říkáme, že I je prefixním bodem operátoru T, je-li T ( I ) I. I je pevným (fixním) bodem operátoru T, je-li T ( I ) = I. ž Logické programování 8 5 K výpočtu nejmenšího pevného bodu operátoru T se používají jeho iterace (mocniny). Pro libovolný operátor T na A, libovolný prvek I z A a přirozené číslo n definujeme T 0(I) = I. T (n +1)(I) = T (T ( n )(I)). T ω(i) = { T ( n )(I) n N}. Nejužitečnější jsou iterace, kde I =, které použijeme k výpočtu nejmenšího pevného bodu. Pro jednoduchost je budeme značit T α( ) krátce jako T α pro každé přiřirozené číslo α a pro ω. Logické programování 8 6

Volněřečeno T ( n )(I) je n-tá iterace T počínající prvkem I, tedy T n je n-tá iterace T počínající nejmenším prvkem. Z definice úplné částečně uspořádáné množiny pak plyne, že pokud je posloupnost T ( n )(I) monotonní pro n > 0, potom T ω existuje. (To není ve všech případech zaručeno.) Příklad. Nejjednodušší úplnou uspořádanou množinu získáme z množiny přiroznených čísel N, ke které přidáme jako největší prvek ω. Operátor T definovaný předpisem T (n) = n+1 pro přirozené n a. T (ω) = ω je monotonní protože pro m, n N, m < n platí T (m) < T (n) a n < ω implikuje n + 1 < ω. Logické programování 8 7 Operátor T je také spojitý, protože každá neklesající posloupnost přirozených čísel n 0 n 1 n 2... n j n j+1... (2) je buď omezená přirozeným číslem a má největší prvek n j, odkud {n i i N} = n j a {T (n i ) i N} = n j+1 = T (n j ) = T ( {n i i N}) nebo posloupnost (2) není omezená přirozeným číslem a potom {n i i N} = ω {T (n i ) i N} = ω = T (ω )= T ( {n i i N}) odkud Logické programování 8 8

Věta o pevném bodu (Knaster, Tarski) Je-li T spojitý operátor na úplné částečně uspořádané množině, potom T ω existuje a je nejmenším prefixním bodem a nejmenším pevným (fixním) bodem T. Důkaz. Existence T ω bude zaručena z úplnosti uspořádání, pokud ukážeme, že posloupnost prvků T n je neklesající. Postupujeme indukcí: T 0 = T 1 a T n T (n+1) plyne z monotonnosti T. Navíc T ω je pevný bod T protože z monotonnosti T n spojitosti T dostáváme T (T ω) = T ( {T n i i N}) = {T (T n i ) i N}) tedy T (T ω) = {T (n i ) 1 < i N}) = {T (n i )) i N}) = T ω. a Logické programování 8 9 To znamená, že T ω je také prefixní bod. Abychom dokázali, že T ω je nejmenší prefixní bod, předpokládejme, že J je libovolný prefixní bod. Indukcí podle n dokážeme, že pro každé n > 0 je T n J. Pro n = 0 je T 0 = J a pro n > 0, je-li T n J, potom z monotonnosti plyne T (n+1) = T (T (n+1)) T(J) = J. Tedy T ω je prefixní bod a také pevný bod T. Herbrandovské interpretace jsou přijatelnější alternativou k obecným termovým interpretacím, jsou to také termové interpretace založené na termových algebrách, ale na algebrách sestávajících z uzavřených termů. Mají podobné vlastnosti jako obecné termové interpretace, ale jejich analýza pro specifické modely je jednodušší. Logické programování 8 10

Předpokládejme, že množina konstant jazyka L je neprázdná. Herbrandovým univerzem HU L pro jazyk L nazveme množinu všech základních termů jazyka L. Množinu HB L všech základních atomických formulí jazyka L nazveme Herbrandovou bází. Herbrandova algebra pro L je definována následovně: univerzem algebry je Herbrandovo univerzum HU L, připomeňme, že v této množině nejsou žádné proměnné a tedy sestává jen ze složených základních termů. Jejich interpretace je dána kanonickým způsobem. Je-li fn-ární funkční symbol L, jeho interpretace je dána zobrazením, které libovolné n - tici základních termů t 1, t 2,..., t n přiřazuje základní term. f (t 1, t 2,..., t n ). Herbrandova algebra je tímto způsobem jednoznačně určena. Logické programování 8 11 Říkáme, že I je Herbrandova interpretace pro jazyk L, jestliže je to interpretace nad Herbrandovou bází a každému n - árnímu predikátovému symbolu p přiřazuje množinu p I n - tic základních termů. Existuje tedy jedna Herbrandova algebra, ale nad ní mohou být různé Herbrandovy interpretace. Mezi Herbrandovými interpretacemi a podmnožinami Herbrandovy báze je přirozená, jednoznačná korespondence. Pro každý predikátový symbol p definujeme množinu {p (t 1, t 2,..., t n ) p je n -ární predikát a (t 1, t 2,..., t n ) p I } interpretaci I ztotožníme se sjednocením všech takových množin. Potom Herbrandovy interpretace pro L, jsou totožné s podmnožinami Herbrandovy báze HB L. Jednou z interpretací je také prázdná podmnožina. Logické programování 8 12

Povšimněme si některých specifických vlastností Herbrandových interpretací. Pro každé ohodnocení proměnných σ a konečnou množinu proměnných X je σ X substituce. Lemma. (Herbrandova interpretace) Je-li I Herbrandova interpretace, potom platí (i) pro libovolný atom A a ohodnocení proměnných σ I = σ A, právě když A(σ V ar(a)) I (ii) pro libovolný atom A I = A, právě když ground (A) I Logické programování 8 13 (iii) pro libovolnou klauzuli c I = c právě když pro všechny instance A <- B 1, B 2,..., B n z. ground(c). {B 1, B 2,..., B n } I implikuje A I. Důkaz. (i) Indukcí podle složitosti libovolného termu t a konečné množiny proměnných X, Var(t) X se ukáže, σ(t) = t (σ X). Tedy hodnota přiřazená termu t ohodnocením proměnných σ je výsledkem použití substituce σ X na t. Pro atom A = p(t 1, t 2,..., t n ) dostáváme I = σ p(t 1, t 2,..., t n ) právě když (t 1 θ, t 2 θ,..., t n θ ) p I právě když Aθ I, kde θ = σ Var (p (t 1, t 2,..., t n ). Tvrzení (i) je dokázáno. Logické programování 8 14

(ii) plyne z (i) (iii) podle (i) I = σ A <- B 1, B 2,..., B n právě když {B 1 θ,..., B n θ} implikuje Aθ I kde θ = σ Var(A <- B 1, B 2,..., B n ). Odtud plyne (iii). Speciálně pro základní atom A dostáváme I = A právě když A I. Herbrandovu interpretaci tedy můžeme ztotožnit s množinou všech základních atomů, které jsou v ní pravdivé. Příklad. (suma numerálů) I = { sum(s m (0), s n (0), s n+m (0)) m, n > 0 } je Herbrandova interpretace pro program SUMA. Logické programování 8 15 Navíc I je model programu SUMA protože pro libovolné m, n > 0 platí sum(s m (0), 0, s m (0)) I sum(s m (0), s n (0), s n+m (0)) I implikuje sum(s m (0), s n+1 (0), s n+m+1 (0)) I I je tedy model programu SUMA podle (iii) z předchozího lemmatu. Poznámka. (Základní implikační stromy) (i) Základní implikační strom vzhledem k programu P, je konečný strom, jehož uzly jsou základní atomy. Pro každý uzel A a jeho bezprostřední následníky B 1,..., B n patříklauzule A B 1,..., B n do ground(p). (ii) Říkáme, že atom A má základní implikační strom vzhledem k P, je-li A kořenem nějakého základního implikačního stromu vzhledem k P. a Logické programování 8 16

Definice. ( Herbrandova interpretace M (P) ) M (P) je Herbrandova interpretace pro program P definovaná následovně:. M (P) = { A atom A má základní implikační strom pro P } Lemma. M (P) je Herbrandův model programu P. Důkaz. Je-li atom A prvkem M (P), podle předpokladu má základní implikační strom, tedy v ground (P) existuje klauzule A <- B 1, B 2,..., B n, n > 0 (3) Stačí ukázat, že klauzule (3) je pravdivá v interpretaci M (P). Podle (iii) z lemmatu o Herbrandovských interpretacích to platí, jestliže {B 1, B 2,..., B n } M (P) implikuje A M (P), a to je v základním implikačním stromu zaručeno. Logické programování 8 17 Věta. (Nejmenší Herbrandův model). M (P) je nejmenší Herbrandův model programu P. Důkaz. Nechť I je Herbrandův model P. Potom I je také model ground (P). Dokážeme, že A M (P) implikuje I = A indukcí podle počtu uzlů v daném implikačním stromě pro A vzhledem k P. Základ indukce: i = 1, potom jednotková klauzule A <- je prvkem ground (P), tedy I = A. Indukční krok: předpokládejme, že A je kořenem implikačního stromu pro P s i > 1 uzly a že tvrzení již platí pro implikační stromy s menším počtem uzlů. Potom A musí být hlavou nějaké klauzule A <- B 1, B 2,..., B n, n > 1 z ground(p). Logické programování 8 18

Přitom každý atom B j 1 < j < n má implikační strom s k j < n uzly. Podle indukčního předpokladu I = B j pro všechny atomy B j. Ale I = A <- B 1, B 2,..., B n, tedy I = A. M (P) je pro základní atomy sémanticky ekvivalentní s deklarativní interpretací programu P. Jinými slovy, pravdivost základního atomu A ve všech modelech programu P stačí testovat v jediném modelu M (P). Věta. (Základní ekvivalence) Pro libovolný základní atom A a program P platí P = A právě když M (P) = A. Nejprve pozorování. Je-li základní atom A pravdivý ve všech Herbrandových modelech programu P, potom je pravdivý ve všech modelech P. Logické programování 8 19 Důkaz pozorování. Mějme I libovolný model programu P. Pro libovolnou klauzuli A <- B 1, B 2,..., B n z ground(p) platí {B 1, B 2,..., B n } I implikuje A I (4) Je to důsledek tvrzení (iii) lemmatu o Herbrandovských interpretacích. Sestrojme Herbrandovskou interpretaci I H, která je otiskem modelu I do Herbrandovy báze. I H = {C C je základní atom a I = C } Podle (4) a tvrzení (iii) citovaného lemmatu, je I H také modelem P. Podle tvrzení (ii) téhož lemmatu jsou stejné základní atomy pravdivé v I a I H. Tím je pozorování dokázáno. Důkaz věty. Mějme libovolný základní atom A. Víme, že M (P) je model programu P, je-li P = A, potom také M (P) = A. K důkazu opačné implikace použijeme fakt, M (P) je Herbrandovská Logické programování 8 20

interpretace. Podle tvrzení (ii) pro Herbrandovské interpretace a speciálně pro model M (P) platí M (P) = A právě když A M (P). Podle věty o nejmenším Herbrandově modelu pak A M (P) implikuje, že A je pravdivý ve všech Herbrandových modelech. Podle pozorování je atom A pravdivý ve všech modelech programu P, tedy P = A. Operátor bezprostředního důsledku. Nejmenší Herbrandův model má významné postavení mezi všemi modelydaného programu P. Ukážeme, že je nejmenším prefixním bodem operátoru T P, který zobrazuje Herbrandovy interpretace P na Herbrandovy interpretace P. Logické programování 8 21 Definice. ( T P - operátor bezprostředního důsledku) Mějme libovolný program P. Operátor bezprostředního důsledku pro P definujeme následovně: Pro libovolnou Herbrandovskou interpretaci I T P ( I ) = { A B ( A <- B ground (P), I = B } Operátor T P přiřazuje Herbrandovským interpretacím Herbrandovské interpretace. Speciálně, je-li A <- jednotková klauzule z P, potom každá základní instance A je prvkem T P ( I ) pro každé I. Lemma. (Charakterizace T P ) Mějme libovolný program P a Herbrandovskou interpretaci I, platí I = P právě když T P ( I ) I. Logické programování 8 22

Důkaz. I = P {(iii) lemma pro Herbrandovské interpretace} pro každou klauzuli A B ground (P), I = B implikuje A I T P ( I ) I {definice T P } Studium Herbrandovských modelů programu P je tedy ekvivalentní se studiem prefixních bodů operátorů T P. Ukážeme, že se T P pro tento účel hodí. Lemma. (spojitost T P ) (i) T P je monotonní, (ii) T P je finitární. Důkaz. (i) plyne z definice operátoru, Logické programování 8 23 (ii) mějme nekonečnou posloupnost I 0 I 1 I 2... I n I n+1... Herbrandových interpretací. Předpokládejme, že A T P ( { I n n N}), potom pro nějaké B je klauzule A B ground (P) a { I n n N}) = B. Protože B je konečná množina základních atomů pro nějaké n platí B I n, a I n = B. Tedy A T P ( I n ). Věta. (Charakterizace M (P) ) Herbrandova interpretace M (P) má následující vlastnosti: (i) M (P) je nejmenší Herbrandův model P, (ii) M (P) je nejmenší prefixní bod T P, (iii) M (P) je nejmenší pevný bod T P, (iv) M (P) = T P ω, (v) M (P) = { A A je základní atom, P = A }. Logické programování 8 24

Důkaz. (i) je Věta o nejmenším Herbrandové modelu. (i) (ii) plyne z (i) a Charakterizace T P, (ii) (iv) plyne z (ii) a spojitosti T P, (iv) (iii) plyne z Věty o pevném bodě. (v) plyne z Věty o základní ekvivalenci. Příklad výpočtu M (P). Abychom se rychle dopočítali, vezmeme nejjednodušší program SUMMER. Ukážeme, že je nejmenší Herbrandův model. I = {summer,warm,happy} T SUMMER 0=, T SUMMER 1= {summer}, T SUMMER 2= {summer,warm}, T SUMMER 3= {summer,warm,happy}, T SUMMER 4= {summer,warm,happy}. Logické programování 8 25 Odtud T SUMMER 4 = T SUMMER ω, a z tvrzení (iv) Věty o charakterizaci M (P), I je opravdu nejmenší Herbrandův model programu SUMMER. Stejným způsobem, ale pracněji se vypočítá nejmenší Herbrandův model programu SUMA. Tvrzení (v) Věty o charakterizaci M (P) dává popis sémantická relace důsledku P = A pomocí základních implikačních stromů. Jinou charakterizaci modelu M (P) získáme pomocí procedurální interpretace logických programů. Definice. (Množina úspěšných atomů) Množina úspěšných atomů programu P sestává ze všech základních atomů, pro které má P { A} úspěšnou SLD-derivaci. Logické programování 8 26

Věta. (Úspěch) Pro libovolný program P a základní atom A jsou následující tvrzení ekvivalentní. (i) M (P) = A, (ii) P = A, (iii) každý SLD-strom pro P { A} je úspěšný, (iv) A je prvkem množiny úspěšných atomů P. Důkaz. (i) (ii) plyne z Věty o základní ekvivalenci, (ii) (iii) plyne ze silné Věty o úplnosti, (iii) (iv) tvrzení (iv) plyne z (iii), (iv) (i) plyne z Věty o korektnosti a z faktu, že M (P) je model P. Logické programování 8 27