Výroková a predikátová logika (WIP)
[Edit]Tento článek je stále nedokončený může obsahovat obsahuje spoustu chyb. Pokud naleznete
nějakou chybu, můžete jí opravit pomocí tlačítka edit.
- Výroková logika
- Rezoluční metoda.
- Predikátová logika
- Podstruktura.
- Tablo metoda v predikátové logice
- Axiomy rovnosti
- Kanonický model
- Skolemova varianta
Výroková logika
Definice
Prvovýrok / atomický výrok
Boolovská proměnná nebo boolovská konstanta.
Definice
Jazyk
Jazyk výrokové logiky je určený neprázdnou množinou výrokových prvovýroků a logické symboly (symboly pro logické spojky , , , , a závorky , ). Množina prvovýroků může být konečná nebo i nekonečná, obvykle ale bude spočetná (pokud neřekneme jinak), a bude mít dané uspořádání.
Definice
Výrok (výroková formule)
v jazyce P je prvek množiny definované následovně:
je nejmenší množina splňující:
- pro každý prvovýrok platí
- pro každý výrok je () také prvek
- pro každé jsou (), (), (), a () také prvky .
Definice
Vytvořůjící strom
je konečný uspořádanýstrom, jehož vrcholy jsou označeny výroky podle následujících pravidel:
- listy a pouze listy jsou prvovýroky
- je-li vrchol označen má jediného syna označeného
- je-li vrchol označen binárním , , nebo má dva syny, přičemž levý syn je označen a pravý je označen .
Tvrzení
Každý výrok má jednoznačně určený vytvořující strom.
Důkaz
Indukcí dle počtu vnoření závorek (odpovídající hloubce vytvořujícího stromu). Takovéto důkazy nazýváme důkazy indukcí dle struktury formule.
Definice
Booleovská funkce
Booleovská funkce je -ární funkce na , tj. .
Definice
Ohodnocení
Ohodnocení prvovýroků je funkce , tj. .
Definice
Sémantické pojmy
Výrok je v jazyce (v teorii ):
- pravdivý (tautologie, platí), pokud platí v každém modelu jazyka (teorie ), píšeme
- lživý (sporný), pokud nemá žádný model
- nezávislý, pokud platí v nějakém modelu a neplatí v nějakém jiném modelu
- splnitelný, pokud platí v nějakém modelu (tedy pokud není lživý)
Definice
Ekvivalence výroků (teorií), T-ekvivalence
- Výroky , jsou ekvivalentní (píšeme ), pokud mají stejné modely. Totéž pro teorie
- Výroky , jsou -ekvivalentní (píšeme ), pokud mají stejné modely v teorii .
Definice
Model jazyka
Model ve výrokové logice je libovolné ohodnocení , které výrokovým proměnným přiřadí hodnotu TRUE nebo FALSE.
Definice
Pravdivostní funkce výroku
Pravdivostní funkce výroku je funkce definovaná takto:
- je-li prvovýrok z , pak
- je-li , potom
- je-li kde , potom
Definice
Univerzálnost spojek
Množina spojek je univerzální, pokud lze každou Booleovskou funkci reprezentovat nějaký z nich (dobře) vytvořeným výrokem.
Definice
Literál
Literál je prvovýrok nebo jeho negace. Je-li prvovýrok, označíme literál a literál . Je-li literál, označíme literál opačný k .
Definice
Klauzule
Klauzule je disjunkce literálů. Prázdnou klauzulí rozumíme .
Definice
CNF
Výrok je v konjunktivně normálním tvaru (Conjunctive Noarmal Form), je-li konjunkcí klauzulí. Prázdným výrokem v CNF rozumíme .
Převody do normálových forem
- implikace
do CNF: - ekvivalence
do CNF:
do DNF: - negace
do DNF:
do CNF:
- konjunkce
do DNF:
do DNF: - disjunkce
do CNF:
do CNF:
Definice
Elementární konjunkce
Elementární konjunkce je konjunkce literálů, prázdnou konjunkcí je .
Definice
DNF
Výrok je v disjunktivně normálním tvaru (Disjuctive Normal Form), je-li disjunkcí elementárních konjunkcí. Prázdným výrokem v DNF rozumíme .
Definice
k-CNF
Výrok je v k-CNF, je-li v CNF a každá jeho klauzule má nejvýše literálů.
Tvrzení
Mějme konečný jazyk a libovolnou množinu modelů . Potom existuje výrok v DNF a výrok v CNF takový, že .
Definice
k-SAT
-SAT je pro pevné problém hledání, zda je výrok -CNF splnitelný.
Definice
Implikační graf
Implikační graf výroku v 2-CNF je orientovaný graf , v němž
- vrcholy jsou proměnné výroku nebo jejich negace,
- klauzuli výroku reprezentujeme dvojicí hran ,
- klauzuli výroku reprezentujeme hranou .
Definice
Jednotková klauzule
Jednotková klauzule je klauzule obsahující jediný literál.
Definice
Hornova klauzule
Hornova klauzule je klauzule obsahující nejvýše jeden pozitivní literál.
Hornův výrok
Hornův výrok je konjunkcí Hornových klauzulí.
Horn-SAT
Horn-SAT je problém splnitelnosti daného Hornova výroku.
Definice
Teorie
Výroková teorie nad jazykem je libovolná množina výroků z . Výrokům z říkáme axiomy teorie . Je-li teorie konečná, lze ji nahradit konjunkcí jejích axiomů.
Definice
Model teorie
Model teorie nad je ohodnocení (tj. model jazyka), ve kterém platí všechny axiomy z , značíme .
Definice
Třída modelů
Třída modelů je pro každé .
Definice
Sémantika vzhledem k teorii
Nechť je teorie nad . Výrok nad je
- pravdivý v ( platí ), pokud platí v každém modelu , značíme . Ríkáme, že je (sémantickým) důsledkem teorie .
- lživý v (sporný v ), pokud neplatí v žádném modelu teorie .
- nezávislý v , pokud platí v nějakém modelu .
- splnitelný v (konzistentní s T), pokud platí v nějakém modelu .
Výroky a jsou ekvivalentní v ( T-ekvivalentní), pokud každý model teorie je modelem právě když je modelem .
Důsledek teorie
Důsledek teorie je , tj. množina všech výroků pravdivých v .
Vlastnosti teorií
Nechť je teorie nad . Je-li dokazatelná z , řekneme, že je věta (teorém) teorie . Množinu vět teorie označme
Výroková teorie nad je
- sporná, jestliže v ní platí (je v T dokazatelný) (spor), jinak je bezesporná (splnitelná),
- kompletní, jestliže není sporná a každý výrok (formule) je v ní pravdivý (dokazatelná) či lživý (zamítnutelná), tj. žádný výrok není nezávislý (tj. neboT ),
- extenze teorie nad , jestliže a , o extenzi teorie řekneme, že je jednoduchá, pokud , a konzervativní, pokud ,
- ekvivalentní s teorií , jestliže je extenzí a je extenzí .
- úplná, pokud nemá žádné volné výroky. V takovém případě ma jen jeden model.
Jinými slovy je teorie splnitelná (bezesporná), když má model, kompletní, právě když má jediný model, extenze , právě když modely jsou podmnožinou modelů , ekvivalentní s , pokud mají stejné modely.
Analýza teorií nad konečně prvovýroky
Nechť je bezesporná teorie nad , kde a . Pak
- navzájem neekvivalentních výroků (příp. teorií) nad je ,
- navzájem neekvivalentních výroků nad pravdivých (lživých) v je ,
- navzájem neekvivalentních výroků nad nezávislých v je ,
- navzájem neekvivalentních jednoduchých extenzí teorie je , z toho sporná 1 ,
- navzájem neekvivalentních kompletních jednoduchých extenzí teorie je ,
- navzájem -neekvivalentních výroků nad je ,
- navzájem -neekvivalentních výroků nad pravdivých (lživých) (v ) je 1 ,
- -neekvivalentních výroků nad nezávislých (v je .
Formální dokazovací systémy
Ve standardních formálních dokazovacích systémech
- je důkaz konečný objekt, může vycházet z axiomů dané teorie,
- značí, že je dokazatelná z ,
- pokud důkaz dané formule existuje, lze ho algoritmicky najít.
Od formálního dokazovacího systému čekáme, že je
- korektní, tj. každá formule dokazatelná z je pravdivá,
- úplný, tj. každá formule pravdivá v je z dokazatelná.
Definice
Tablo metoda
Předpokládáme pevný a spočetný jazyk (množina prvovýroků je spočetná). Pak každá teorie nad je spočetná.
Hlavní rysy tablo metody
- tablo pro danou formuli je binární značkovaný strom reprezentující vyhledávání protipříkladu , tj. modelu teorie, ve kterém neplatí,
- formule má důkaz, pokud každá větev příslušného tabla selže, tj. nebyl nalezen protipříklad, v tom případě bude tablo konečné,
- pokud protipříklad existuje, v tablu bude větev, která ho poskytuje, tato větev může být nekonečná.
Vrcholy tabla jsou označeny položkami. Položka je formule s příznakem , který reprezentuje předpoklad, že formule v nějakém modelu platí/neplatí.
Definice
Tablo
Konečné tablo je binární, položkami značkovaný strom daný předpisem
- každé atomické tablo je konečné tablo (atomická tabla jsou konkrétní příklady rozvinutí formulí se základními spojkami),
- je-li položka na větvi konečného tabla a vznikne z připojením atomického tabla pro na konec větve , je rovněž konečné tablo,
- každé konečné tablo vznikne konečným užitím předchozích pravidel.
Tablo je posloupnost konečných tabel takových, že další tablo vznikne z předchozího pomocí pravidla číslo
Tablo důkaz
Nechť je položka na větvi tabla . Řekneme, že
- položka je redukovaná na , pokud se na vyskytuje jako kořen atomického tabla, tedy došlo k jejímu rozvoji na ,
- větev je sporná, pokud obsahuje položky a pro nějakou formuli , jinak je bezesporná. Větev je dokončená, je-li sporná nebo je každá její položka redukovaná na ,
- tablo je dokončené, pokud je každá jeho větev dokončená, a je sporné, pokud je každá jeho větev sporná.
Tablo důkaz výrokové formule je sporné tablo s položkou kořeni. Formule je (tablo) dokazatelná, píšeme , má-li tablo důkaz.
Zamítnutí formule tablem je sporné tablo s položkou kořeni. Formule je (tablo) zamítnutelná, má-li zamítnutí tablem, tj. .
Tablo z teorie
Konečné tablo z teorie je binární, položkami značkovaný strom daný předpisem
- každé atomické tablo je konečné tablo,
- je-li položka na větvi konečného tabla a vznikne z připojením atomického tabla pro na konec větve , je rovněž konečné tablo,
- je-li větev konečného tabla (z ) a , pak připojením na konec vznikne rovněž konečné tablo z ,
- každé konečné tablo vznikne konečným užitím předchozích pravidel.
Tablo z teorie je posloupnost konečných tabel z takových, že další tablo vznikne z předchozího pomocí pravidla číslo 2 nebo 3.
Tablo důkaz z teorie
Nechť je položka na větvi tabla z teorie . Řekneme, že
- položka je redukovaná na , pokud se na vyskytuje jako kořen atomického tabla, tedy došlo k jejímu rozvoji na ,
- větev je sporná, pokud obsahuje položky a pro nějakou formuli , jinak je bezesporná. Větev je dokončená, je-li sporná nebo je každá její položka redukovaná na a navíc obsahuje pro každé ,
- tablo je dokončené, pokud je každá jeho větev dokončená, a je sporné, pokud je každá jeho větev sporná.
Tablo důkaz formule teorie je sporné tablo z s položkou kořeni. Má-li tablo důkaz z , je (tablo) dokazatelná , píšeme .
Zamítnutí formule tablem z teorie je sporné tablo z s položkou kořeni. Formule je (tablo) zamítnutelná z , má-li zamítnutí tablem z , tj. .
Systematické tablo
Konstrukce, která vede vždy k dokončenému tablu.
Nechť je položka a je konečná či nekonečná teorie.
- Ta vezmi atomické tablo pro . Doku to lze, aplikuj následující kroky.
- Nechť je nejlevější položka co nejmenší úrovni již daného tabla , která není redukovaná na nějaké bezesporné větvi procházející skrze .
- Za vezmi tablo vznikl z přidáním atomického tabla pro na každou bezespornou větev skrze . (Neexistuje-li , vezmi .)
- Za vezmi tablo vzniklé z přidáním na každou bezespornou větev neobsahující . (Neexistuje-li , vezmi .)
Systematické tablo z teorie pro položku je výsledkem uvedené konstrukce.
Rezoluční metoda.
Hlavní rysy rezoluční metody
- předpokládá formule v CNF,
- pracuje s množinovou reprezentací formulí,
- má jediné odvozovací pravidlo (rezoluční pravidlo),
- zamítací procedura (snaží se ukázat nesplnitelnost dané formule).
Definice
Klauzule
Klauzule je konečná množina literálů (“tvořících disjunkci”). Prázdná klauzule se značí , nikdy není splněna (neobsahuje splněný literál).
Definice
Formule
Formule je množina (i nekončená) klauzulí (“tvořících konjunkci”). Prázdná formule je vždy splněna (neobsahuje nesplněnou klauzuli). Nekonečné formule reprezentují nekonečné teorie.
(Částečné) ohodnocení
Částečné ohodnocení je libovolná konzistentní množina literálů, tj. neobsahující dvojici opačných literálů. Ohodnocení je totální, obsahuje-li pozitivní či negativní literál od každé výrokové proměnné.
Definice
Rezolventa
Nechť jsou klauzule a pro nějaký literál . Pak z a odvod’ pres literál klauzuli , kterou nazveme rezolventa, kde
Definice
Rezoluční důkaz
Formální popis rezolučního důkazu.
- rezoluční důkaz (odvození) klauzule z formule je konečná posloupnost taková, že pro každé je nebo je rezolventou nějakých dvou předchozích klauzulí (i stejných),
- klauzule je (rezolucí) dokazatelná z , psáno , pokud má rezoluční důkaz z
- zamítnutí formule je rezoluční důkaz z ,
- je (rezolucí) zamítnutelná, pokud .
Rezoluční strom
Rezoluční strom klauzule z formule je konečný binární strom s vrcholy označenými klauzulemi takový, že
- kořen je označen ,
- listy jsou označeny klauzulemi z ,
- každý vnitřní vrchol je označen rezolventou z klauzulí v jeho synech.
Rezoluční uzávěr
Rezoluční uzávěr formule je nejmenší induktivní množina definovaná
- pro každé ,
- jsou-li a je rezolventa , je zároveň .
Lineární rezoluce
Rezoluce jako lineární důkaz.
- Lineární důkaz (rezolucí) klauzule z formule je konečná posloupnost dvojic taková, že a pro každé
- nebo pro nějaké , a je rezolventa a , kde .
- zveme počáteční klauzule, centrálni klauzule, boční klauzule.
- je lineárně dokazatelná z , psáno , má-li lineární důkaz z .
- Lineární zamítnutí je lineární důkaz z .
- je lineárně zamítnutelná, pokud .
LI-rezoluce
Pro Hornovy formule můžeme lineární rezoluci dál omezit.
- Hornova formule je (i nekonečná) množina Hornových klauzulí.
- Hornova klauzule je klauzule obsahující nejvýše jeden pozitivní literál.
- Fakt je (Hornova) klauzule , kde je pozitivní literál.
- Pravidlo je (Hornova) klauzule s právě jedním pozitivním a aspoň jedním negativním literálem. Pravila a fakta jsou programové klauzule.
- Cil je neprázdná (Hornova) klauzule bez pozitivního literálu.
LI-rezoluce (linear input) z formule je lineární rezoluce z , ve které je každá boční klauzule ze (vstupní) formule .
Predikátová logika
Definice
Jazyk
Jazyk prvního řádu obsahuje proměnné, množinu všech proměnných značíme Var, funkční symboly (včetně konstantních symbolů, což jsou nulární funkční symboly), relační symboly, případně symbol = jako speciální relační symbol, kvantifikátory, logické spojky, závorky. Každá funkční i relační symbol má danou aritu - .
Definice
Arita
Počet parametrů funkce.
Příklady:
- nulární -
- unární - unární mínus ()
- binární - mínus ()
- ternární - koncionální operator (
x ? y : z
)
Definice
Signatura jazyka
Proměnné, kvantifikátory, logické spojky a závorky jsou logické symboly, funkční a relační symboly jsou mimologické symboly. Rovnost případně uvažujeme zvlášť.
Signatura je dvojice disjunktních relačních a funkčních symbolů s danými aritami, žádný z nich není rovnost. Signatura tedy určuje všechny mimologické symboly.
Jazyk je dám signaturou a uvedením, zda jde o jazyk s rovností či bez. Jazyk musí obsahovat alespoň jeden relační symbol (mimologický či rovnost).
- Ekvivalnce se používá pro formule
- rovná se používá pro prvky univerza
Term
Term je výraz reprezentující hodnoty (složených) funkcí. Konstantní (ground) term je term bez proměnných. Množinu všech termů jazyka značíme .
Termy jazyka jsou dány induktivně
- každá proměnná nebo konstantní symbol je term,
- je-li funkční symbol jazyka aritou a jsou termy, pak je výraz term,
- každý term vznikne konečným užitím předchozích pravidel.
Atomická formule
Atomická formule je nejjednodušší formule. Atomická formule jazyka je výraz , kde je -ární relační symbol jazyka a jsou termy jazyka . Množinu všech atomických formulí jazyka značíme .
Formule
Formule jazyka jsou výrazy dané induktivně každá atomická formule jazyka je formule, jsou-li formule, pak i následující výrazy jsou formule
je-li formule a proměnná, jsou výrazy a formule, každá formule vznikne konečným užitím předchozích pravidel.
Množinu všech formulí jazyka značíme .
Výskyt proměnné
Nechť je formule a proměnná.
- Výskyt promĕnné ve je list vytvořujícího stromu označený .
- Výskyt ve je vázaný, je-li součástí nějaké podformule začínající kvantifikátorem. Pokud výskyt není vázaný, je volný.
- Proměnná je volná ve , pokud má volný výskyt ve . Je vázaná ve , pokud má vázaný výskyt ve .
- Proměnná může být zároveň volná i vázaná ve .
- Zápis značí, že jsou všechny volné proměnné ve formuli .
Otevřená a uzavřená formule
Formule je otevřená, pokud neobsahuje žádný kvantifikátor. Pro množinu všech otevřených formulí jazyka platí .
Formule je uzavřená (sentence), pokud nemá žádnou volnou proměnnou, tj. všechny výskyty proměnných jsou vázané.
Formule může být uzavřená i otevřená zároveň, pak její termy jsou konstantní.
Instance a substituce
Pokud do formule za volnou proměnnou dosadíme term , požadujeme, aby nově vzniklá formule říkala o termu totéž, co předtím o proměnné.
- Term je substituovatelný za proměnnou ve formuli , pokud po současném nahrazení všech volných výskytů za nevznikne ve žádný vázaný výskyt proměnné z .
- Pak vzniklou formuli značíme (“za dosadím “) a zveme ji instance formule vzniklá substitucí termu za proměnnou do .
- není substituovatelný za do , právě když má volný výskyt v nějaké podformuli začínající nebo pro nějakou proměnnou z .
- Konstantní termy jsou substituovatelné vždy.
Varianty
Kvantifikované proměnné lze za určitých podmínek přejmenovat tak, že vznikne ekvivalentní formule. Nechť je podformule ve , kde značí čí , a je proměnná, tak že
- je substituovatelná za do , a
- nemá volný výskyt .
Nahrazením podformule za vznikne varianta formule podformuli .
Struktura pro jazyk
Nechť je jazyk a je neprázdná množina.
- Realizace (interpretace) relačniho symbolu na je libovolná relace . Realizace rovnosti na je relace identita.
- Realizace (interpretace) funkčniho symbolu na je libovolná funkce : . Realizace konstantního symbolu je tedy prvek z .
Struktura pro jazyk (L-struktura) je trojice , kde
- A je neprázdná množina, zvaná doména (universum) struktury ,
- je soubor realizací relačních symbolů (relací),
- je soubor realizací funkčních symbolů (funkcí),
Strukturu pro jazyk nazýváme také model jazyka . Třída všech modelů se značí .
Hodnota termu
Nechť je term jazyka a je struktura pro .
- Ohodnocení proměnných množině je funkce : Var .
- Hodnota termu ve struktuře při ohodnocení je dána induktivním předpisem
- Speciálně, pro konstantní symbol je .
- Je-li konstantní term, jeho hodnota v nezávisí na ohodnocení .
- Hodnota termu v závisí pouze na ohodnocených proměnných.
Hodnota atomické formule
Nechť je atomická formule tvaru jazyka a je struktura pro .
- Hodnota formule ve struktuře při ohodnocení je
přičemž je , tj. pokud , jinak 0 .
- Je-li sentence, tj. všechny její termy jsou konstantní, její hodnota v nezávisí na ohodnocení .
- Hodnota závisí pouze na ohodnocení jejích (volných) proměnných.
Platnost při ohodnocení
Formule je pravdivá (platí) ve struktuře při ohodnocení , pokud . Pak píseme , v opačném případě .
Platnost ve struktuře
Nechť je formule jazyka a je struktura pro .
- je pravdivá (platí) ve struktuře , značeno , pokud pro každé ohodnocení . opačném případě píšeme .
- je lživá , pokud pro každé .
- Je-li sentence, je pravdivá či lživá v .
- právě když , kde je generální uzávěr , tj. formule , v níž jsou všechny volné proměnné .
Platnost teorii
Teorie jazyka je libovolná množina formulí jazyka (tzv. axiomů). Model teorie je -struktura taková, že pro každé , značíme . Třída modelů teorie je .
- Formule je pravdivá , značíme , pokud pro každý model teorie . V opačném prípadě píśeme .
- Formule je lživá v , pokud , tj. je lživá v každém modelu .
- Formule je nezávislá v , pokud není pravdivá v ani lživá v .
- Je-li , je a teorii vynecháváme, případně říkáme “v logice”. Pak značí, že je pravdivá ((logicky) platí, tautologie).
- Důsledek je množina všech sentencí jazyka pravdivých v , tj.
Vlastnosti teorií
Nechť je teorie jazyka . Je-li sentence pravdivá v , říkáme, že je věta teorie . Množinu vět teorie značíme . Teorie jazyka je sémanticky (syntakticky)
- sporná, jestliže v ní platí spor (je v ní dokazatelný), jinak je bezesporná (splnitelná),
- kompletní, jestliže není sporná a každá sentence je v ní pravdivá či lživá (dokazatelná či zamítnutelná, tj. nebo ,
- extenze teorie jazyka , jestliže a , o extenzi teorie rekneme, že je jednoduchá, pokud , a konzervativní, pokud ,
- ekvivalentní s teorií , jestliže je extenzí a je extenzí .
Struktury pro jazyk jsou elementárně ekvivalentní, značeno , platí-li v nich stejné formule.
Nechť a jsou teorie jazyka . Teorie je (sémanticky)
- bezesporná, právě když má model,
- kompletní, právě když má až na elementární ekvivalenci jediný model,
- extenze , právě když ,
- ekvivalentní s , právě když .
Podstruktura.
Nechť a jsou struktury pro jazyk .
Řekneme, že je (indukovaná) podstruktura , značeno , pokud
- ,
- pro každé ,
- , tj. , pro každé .
Množina je doménou nějaké podstruktury struktury , právě když je uzavřená na všechny funkce struktury (včetně konstant). Pak příslušnou podstrukturu značíme a řkáme, že je to restrikce (parcializace) struktury na . Množina je uzavřená na funkcif : , pokud pro každé .
Generovaná podstruktura, expanze, redukt.
Nechť je struktura a . Označme nejmenší podmnožinu množiny obsahující , která je uzavřená na všechny funkce struktury (včetně konstant). Pak strukturu značíme rovněž a podstruktura řkáme, že je to generovaná množinou .
Nechť je struktura pro jazyk a je jazyk. Odebráním realizací symbolů, jež nejsou v , získáme z strukturu , kterou nazýváme redukt struktury na jazyk . Obráceně, je expanze struktury do jazyka .
Definovatelné množiny
Množiny, které lze v dané struktuře definovat.
-
Množina definovaná formulí ve struktuře je množina
Zkráceně se dá zapsat jako , obdobně pro . Číslo je potom .
-
Množina definovaná formulí s parametry ve struktuře je
-
Pro strukturu , množinu a označme třídu všech množin definovatelných ve struktuře parametry z .
Tablo metoda v predikátové logice
Předpoklady:
-
Dokazovaná formule je sentence. Není-li sentence, můžeme ji nahradit za její generální uzávěr , nebot pro každou teorii platí
-
Dokazujeme z teorie v uzavřeném tvaru, tj. každý axiom je sentence. Nahrazením každého axiomu za jeho generální uzávér zíkáme ekvivalentní teorii, nebot pro každou strukturu (daného jazyka ),
-
Jazyk je spočetný. Pak každá teorie nad je spočetná. Označme rozšíření jazyka o nové konstantní symboly (početně nekonečně mnoho). Platí, že konstantních termů jazyka je spočetně. Nechť’ označuje -tý konstantní term (v pevně zvoleném očíslování).
Nová atomická tabla, kde je libovolná formule jazyka ve volné proměnné je libovolný konstantní term jazyka a je nový konstantní symbol z .
(#) Pokud mám formuli nebo , za zvolím libovolný konstantní term a “zruším” kvantifikátor. Pravdivostní hodnota zůstává zachována.
(*) Pokud mám formuli nebo , za dosadím novou konstantu a “zruším” kvantifikátor. Pravdivostní hodnota zůstává zachována. Konstantní symbol reprezentuje svědky položek, do kterých je dosazuji.
Tablo z teorie
Konečné tablo z teorie je binární, položkami značkovaný strom daný předpisem
- každé atomické tablo je konečné tablo z , přičemž v případě lze použít libovolný konstantní symbol ,
- je-li položka na větvi konečného tabla z , pak připojením atomického tabla pro na konec větve , vznikne rovněž konečné tablo z , přičemž v případě lze použít konstantní symbol , který se dosud nevyskytuje na ,
- je-li větev konečného tabla (z a , pak připojením na konec vznikne rovněž konečné tablo z ,
- každé konečné tablo vznikne konečným užitím předchozích pravidel.
Tablo z teorie je posloupnost konečných tabel z takových, že další tablo vznikne z předchozího pomocí pravidla číslo 2 nebo 3.
Položku, dle které tablo prodlužujeme, nebudeme na větev znovu zapisovat kromě případů
Tablo důkaz
Vlastnosti tabla a tablo důkazu
- Větev tabla je sporná, obsahuje-li položky a pro nějakou sentenci , jinak je bezesporná.
- Tablo je sporné, pokud každá jeho větev je sporná.
- Tablo důkaz sentence z teorie je sporné tablo z s položkou v kořeni.
- Sentence je (tablo) dokazatelná z teorie , píšeme , má-li tablo důkaz z .
- Zamítnutí sentence tablem z teorie je sporné tablo z s položkou v kořeni.
- Sentence je (tablo) zamítnutelná z teorie , má-li zamítnutí tablem z , tj. .
Dokončené tablo
Chceme, aby dokončená bezesporná větev poskytovala protipříklad.
Výskyt položky ve vrcholu tabla je -tý, pokud má právě předků označených a je redukovaný na větvi skrze , pokud
- není tvaru (#) a se vyskytuje na jako kořen atomického tabla, tj. při konstrukci již došlo rozvoji na , nebo
- je tvaru (#), má -ní výskyt na a zároveň se na vyskytuje resp. , kde je -tý konstantní term jazyka .
Nechť je větev tabla z teorie . Řekneme, že větev je dokončená, je-li sporná, nebo každý výskyt položky na je redukovaný na a navíc obsahuje pro každé . Rekneme, že tablo je dokončené, pokud je každá jeho větev dokončená.
Konstrukce systematického tabla
Nechť je položka a je (konečná i nekonečná) teorie.
- Za vezmi atomické tablo pro . případě vezmi lib. , v případě () za vezmi term . Dokud to lze, aplikuj následující kroky.
- Nechť je nejlevější vrchol v co nejmenší úrovni již daného tabla obsahující výskyt položky , který není redukovaný na nějaké bezesporné větvi skrze . (Neexistuje-li , vezmi a jdi na (4).)
a. Není-li tvaru (#), za vezmi tablo vzniklé přidáním atomického tabla pro na každou bezespornou větev skrze . V případě za vezmi pro co nejmenší možné .
b. Je-li tvaru (#) a ve má -tý výskyt, ta vezmi tablo vzniklé z připojením atomického tabla pro na každou bezespornou větev skrze , přičemž za vezmi term .- Za vezmi tablo vzniklé z přidáním na každou bezespornou větev neobsahující . (Neexistuje-li , vezmi .)
Systematické tablo z pro je výsledkem uvedené konstrukce.
Axiomy rovnosti
Axiomy rovnosti pro jazyk s rovností jsou
- ,
- pro každý -ární funkční symbol jazyka ,
- pro každý -ární relační symbol jazyka včetně .
Tablo důkaz z teorie jazyka s rovností je tablo důkaz z teorie , kde je rozšír̃ení teorie o axiomy rovnosti pro (resp. jejich generální uzávěry).
Kongruence a faktostruktura
Nechť je ekvivalence na a , kde . Pak je
- kongruence pro funkci , pokud pro každé platí
- kongruence pro relaci , pokud pro každé platí
Nechť ekvivalence ma je kongruence pro každou funkci i relaci struktury . Faktostruktura (podilová struktura) struktury dle je struktura , kde a pro každé a , tj. funkce a relace jsou definované z pomocí reprezentantů.
Kanonický model
bezesporné větve dokončeného tabla vyrobíme model, který se shoduje s . Vyjdeme z dostupných syntaktických objektů - konstantních termů.
Nechť je bezesporná větev dokončeného tabla teorie jazyka . Kanonický model z větve je -struktura , kde
- je množina všech konstantních termů jazyka ,
- pro každý -ární funkční symbol a
- je položka na pro každý -ární relační symbol čí rovnost a .
Poznámka: Výraz ve druhém bodě je konstantní term jazyka , tedy prvek z .
Kanonický model s rovností
Je-li jazyk s rovností, označuje rozšíření o axiomy rovnosti pro .
Požadujeme-li, aby rovnost byla interpretována jako identita, kanonický model z bezesporné větve dokončeného tabla musíme faktorizovat dle .
Dle třetí definice, v modelu z pro relaci platí, že pro každé ,
Jelikož je dokončená a obsahuje axiomy rovnosti, relace je ekvivalence na a navíc kongruence pro všechny funkce a relace .
Kanonický model s rovností z větve je faktostruktura .
Extenze o definovaný relační symbol
Nechť je teorie jazyka je formule jazyka ve volných proměnných a je rozšíření o nový -ární relační symbol .
Extenze teorie o definici formulí je teorie vzniklá přidáním axiomu
Každý model teorie lze jednoznačně expandovat na model je potom konzervativní extenze .
Extenze o definovaný funkční symbol
Nechť je teorie jazyka a pro formuli jazyka ve volných proměnných platí
Označíme rozšíření o nový -ární funkční symbol .
Extenze teorie o definici formulí je teorie vzniklá přidáním axiomu
Každý model teorie lze jednoznačně expandovat na model je potom konzervativní extenze .
Extenze o definice
Teorie jazyka je extenze teorie jazyka o definice, pokud vznikla z postupnou extenzí o definici relačního či funkčního symbolu.
Ekvisplnitelnost
Problém splnitelnosti lze redukovat na otevřené teorie.
- Teorie jsou ekvisplnitelné, jestliže má model má model.
- Formule je v prenexním (normálním) tvaru , má-li tvar , kde značí kvantifikátor, proměnné jsou navzájem různé a je otevřená formule, zvaná otevřené jádro. je prefix.
- Speciálně, jsou-li všechny kvantifikátory , je univerzální formule.
K teorii nalezneme ekvisplnitelnou teorii následovně:
- Axiomy nahradíme za ekvivalentní formule v prenexním tvaru.
- Pomocí nových funkčních symbolů je převedeme na univerzální formule, tzv. Skolemovy varianty, čímž dostaneme ekvisplnitelnou teorii.
- Jejich otevřená jádra tvoří hledanou teorii.
Vytýkání kvantifikátorů
Pro každé formule takové, že není volná ve formuli ,
Skolemova varianta
Nechť je sentence jazyka v prenexním normálním tvaru, jsou existenčně kvantifikované proměnné ve (v tomto pořadí) a pro každé nechť jsou univerzálně kvantifikované proměnné před . Označme rozšírení o nové -ární symboly pro každé
Nechť je formule jazyka , jež vznikne z formule odstraněním z jejího prefixu a nahrazením každého výskytu proměnné za term . Pak formule se nazývá Skolemova varianta formule .
Redukce nesplnitelnosti na úroveň VL
Je-li otevřená teorie nesplnitelná, lze to “doložit na konkrétních prvcích”. Doložení má podobu nesplnitelných konjunkcí konečně mnoha instancí (některých) axiomů teorie v konstantních termech.
Herbrandův model
Nechť’ je jazyk s alespoň jedním konstantním symbolem. (Pokud je třeba, co přidáme nový.)
- Herbrandovo universum pro je množina všech konstantních termů z .
- Struktura pro je Herbrandova struktura, je-li doména Herbrandovo universum pro a pro každý -ární funkční symbol a . (Na rozdíl od kanonické struktury nejsou předepsané relace.)
- Herbrandův model teorie je Herbrandova struktura, jež je modelem .
Rezoluční metoda predikátové logice
Stručný popis RM v PL:
- Zamítací procedura, cílem je ukázat, že daná formule je nesplnitelná.
- Předpokládá otevřené formule v CNF (množinové reprezentaci).
Substituce
Vlastnosti substitucí:
- Substituce je konečná množina , kde jsou navzájem různé proměnné a jsou termy, přičemž není .
- Jsou-li všechny termy konstantní, je základní substituce.
- Jsou-li navzájem různé proměnné, je přejmenování proměnných.
- Výraz je literál nebo term.
- Instance výrazu při substituci je výraz vzniklý z současným nahrazením všech výskytů proměnných za .
- Pro množinu výrazů označme množinu instancí výrazů z .
Zadefinujeme tak, aby pro každý výraz .
Unifikace
Nechť je konečná množina výrazů.
- Unifikace pro je substituce taková, že , tj. So je singleton.
- je unifikovatelná, pokud má unifikaci.
- Unifikace pro je nejobecnější unifikace (mgu), pokud pro každou unifikaci pro existuje substituce taková, že .
Obecné rezoluční pravidlo
Nechť klauzule neobsahují stejnou proměnnou a jsou ve tvaru
kde lze unifikovat a . Pak klauzule , kde je nejobecnější unifikace pro , je rezolventa klauzulí a .