výpisky neobsahují kompletní definice pojmů, pouze jejich zjednodušení; k pojmům je vhodné znát příklady
Pojmy
Model ve výrokové logice, pravdivostní funkce výroku
model jazyka je určité pravdivostní ohodnocení proměnných
pravdivostní funkce výroku přiřazuje konkrétnímu ohodnocení proměnných nulu nebo jedničku, definuje se induktivně pomocí binárních funkcí
Sémantické pojmy (pravdivost, lživost, nezávislost, splnitelnost) v logice, vzhledem k teorii
pravdivý výrok platí v každém modelu (jazyka/teorie)
je pravdivý v logice = platí v logice = je tautologie
je pravdivý v T = platí v T = je důsledek T
lživý (sporný) výrok neplatí v žádném modelu
nezávislý výrok platí v nějakém modelu a neplatí v jiném modelu
splnitelný výrok platí v nějakém modelu (tedy není lživý, je pravdivý nebo nezávislý)
Ekvivalence výroků resp. výrokových teorií, T-ekvivalence
výroky/teorie jsou ekvivalentní, když se rovnají jejich množiny modelů
výroky/teorie jsou T-ekvivalentní, když se rovnají jejich množiny modelů vzhledem k teorii T
φ∼Tψ≡MP(T,φ)=MP(T,ψ)
kde MP(T,φ)≡MP(T∪{φ}), což odpovídá MP(T)∩MP(φ)
Sémantické pojmy o teorii (sporná, bezesporná, kompletní, splnitelná)
teorie je sporná, jestliže… (ekvivalentně)
v ní platí spor
nemá žádný model
v ní platí všechny výroky
teorie je bezesporná (splnitelná), pokud není sporná, tj. má nějaký model
teorie je kompletní jestliže není sporná a každý výrok (respektive sentence) je v ní pravdivý nebo lživý (tj. nemá žádné nezávislé výroky), ekvivalentně, pokud má právě jeden model (až na elementární ekvivalenci v predikátové logice)
Extenze teorie (jednoduchá, konzervativní), odpovídající sémantická kritéria
extenze teorie T je libovolná teorie T′ v jazyce P′⊇P splňující CsqP(T)⊆CsqP′(T′)
kde CsqP(T) je množina všech důsledků teorie (výroků/sentencí pravdivých v teorii T v jazyce P)
extenze je jednoduchá, pokud P′=P
extenze je konzervativní, pokud CsqP(T)=CsqP(T′)=CsqP′(T′)∩VFP
sémantický význam (v řeči modelů)
mějme teorii T v jazyce P a teorii T′ v jazyce P′, kde P⊆P′
T′ je jednoduchou extenzí T, právě když P′=P a MP(T′)⊆MP(T)
T′ je extenzí T, právě když MP′(T′)⊆MP′(T)
T′ je konzervativní extenzí T, pokud je extenzí a navíc platí, že každý model T lze nějak expandovat na model T′
T′ je extenzí T a zároveň T je extenzí T′, právě když T′∼T (jazyky a množiny modelů se rovnají)
kompletní jednoduché extenze T jednoznačně až na ekvivalenci odpovídají modelům T
Tablo z teorie, tablo důkaz
konečné tablo z teorie T je uspořádaný, položkami označkovaný strom zkonstruovaný aplikací konečně mnoha následujících pravidel:
jednoprvkový strom označkovaný libovolnou položkou je tablo z teorie T
pro libovolnou položku P na libovolné větvi V můžeme na konec větve V připojit atomické tablo pro položku P
na konec libovolné větve můžeme připojit položku Tα pro libovolný axiom teorie α∈T
tablo je konečné nebo nekonečné, každopádně vzniklo ve spočetně mnoha krocích
tablo pro položku P je tablo s položkou P v kořeni
tablo důkaz výroku φ z teorie T je sporné tablo z teorie T s položkou Fφ v kořeni
pokud existuje, je φ tablo dokazatelný z T, píšeme T⊢φ
podobně definujeme tablo zamítnutí s Tφ v kořeni, tablo zamítnutelnost se značí T⊢¬φ
tablo je sporné, pokud je každá jeho větev sporná
větev je sporná, pokud obsahuje položky Tψ a Fψ pro nějaký výrok ψ, jinak je bezesporná
tablo je dokončené, pokud je každá jeho větev dokončená
větev je dokončená…
pokud je sporná
nebo pokud je každá její položka na této větvi redukovaná a pokud větev zároveň obsahuje položku s T pro každý axiom teorie
položka je redukovaná na dané větvi, pokud obsahuje pouze výrokovou proměnnou nebo se na dané větvi vyskytuje jako kořen atomického tabla (tedy došlo k jejímu rozvoji na dané větvi)
v predikátové logice navíc řešíme kvantifikátory – položky typu svědek a všichni
Kanonický model
ve výrokové logice
je-li V bezesporná větev dokončeného tabla, potom kanonický model pro V je model definovaný předpisem v(p)={10pokud V obsahuje Tpjinak
v predikátové logice
doména A je množina všech konstantních LC-termů (tzn. s termy zacházíme jako s řetězci)
termy jsou v relaci, právě když daná relace je na větvi V s T
funkce jsou definovány přímočaře, f("a", "b") = "f(a, b)"
konstantní symboly jsou definovány přímočaře
u jazyků s rovností definujeme kanonický model jako faktorstrukturu (přičemž tablo je z teorie rozšířené o axiomy rovnosti)
mějme ekvivalenci ∼ na množině A, funkci f:An→A a relaci R⊆An
říkáme, že ∼ je kongruencí pro funkci f, pokud pro všechna xi,yi∈A taková, že xi∼yi platí f(x1,…,xn)∼f(y1,…,yn)
říkáme, že ∼ je kongruencí pro relaci R, pokud pro všechna xi,yi∈A taková, že xi∼yi platí R(x1,…,xn), právě když R(y1,…,yn)
kongruence struktury A je ekvivalence ∼ na množině A, která je kongruencí pro všechny funkce a relace A
faktorstruktura
mějme strukturu A a její kongruenci ∼
faktorstruktura (podílová struktura) A podle ∼ je struktura A/∼ v témž jazyce, jejíž univerzum A/∼ je množina všech rozkladových tříd A podle ∼ a jejíž funkce a relace jsou definované pomocí reprezentantů, tj.:
fA/∼([x1]∼,…,[xn]∼)=[fA(x1,…,xn)]∼, pro každý n-ární funkční symbol f
RA/∼([x1]∼,…,[xn]∼), právě když RA(x1,…,xn), pro každý n-ární relační symbol R
axiomy rovnosti pro jazyk L s rovností jsou
x=x
x1=y1∧⋯∧xn=yn→f(x1,…,xn)=f(y1,…,yn) pro každý n-ární funkční symbol f jazyka L
x1=y1∧⋯∧xn=yn→(R(x1,…,xn)→R(y1,…,yn)) pro každý n-ární relační symbol R jazyka L včetně rovnosti
z 1. a 3. axiomu plyne, že relace =A je ekvivalence na A (symetrie a tranzitivita plyne z 3. axiomu)
mějme klauzule C1,C2 a literál ℓ, přičemž ℓ∈C1 a ℓ∈C2
potom rezolventa klauzulí C1 a C2 přes literál ℓ je klauzule C=(C1∖{ℓ})∪(C2∖{ℓ})
rezoluční pravidlo v predikátové logice
mějme klauzule C1,C2 s disjunktními množinami proměnných
v klauzuli C1 jsou mj. výrazy A1,…,An
v klauzuli C2 jsou mj. výrazy ¬B1,…,¬Bm
množina výrazů S={A1,…,An,B1,…,Bm} má nejobecnější unifikaci σ takovou, že Sσ={A1σ}
rezolventa klauzulí C1 a C2 je klauzule C=C1′σ∪C2′σ, kde C∗′ odpovídá zbytku klauzule po odstranění výrazů Ai, respektive ¬Bi
substituce
substituce je konečná množina σ={x1/t1,…,xn/tn}, kde xi jsou navzájem různé proměnné a ti jsou termy, přičemž vyžadujeme, aby ti=xi
substituce je základní, jsou-li všechny ti konstantní
substituce je přejmenování proměnných, jsou-li všechny ti navzájem různé proměnné
substituce lze skládat (klasicky v pořadí zleva doprava), skládání je asociativní
unifikace
mějme konečnou množinu výrazů S={E1,…,En}
substituce σ je unifikace pro S, pokud E1σ=E2σ=⋯=Enσ, neboli Sσ obsahuje jediný výraz
pokud existuje, říkáme, že S je unifikovatelná
nejobecnější unifikace
unifikace σ pro S je nejobecnější, pokud pro každou unifikaci τ pro S existuje substituce λ taková, že τ=σλ
nejobecnějších unifikací může být více, liší se přejmenováním proměnných
Rezoluční důkaz a zamítnutí, rezoluční strom
rezoluční důkaz (odvození) klauzule C z formule S je konečná posloupnost klauzulí C0,C1,…,Cn=C taková, že
pro každé i je buď Ci∈S
v predikátové logice dovolujeme přejmenování proměnných: Ci=Ci′σ pro Ci′∈S a přejmenování proměnných σ
nebo Ci je rezolventou nějakých Cj,Ck, kde j<i a k<i
pokud rezoluční důkaz existuje, říkáme, že C je rezolucí dokazatelná z S a píšeme S⊢RC
rezoluční zamítnutí formule S je rezoluční důkaz □ z S, v tom případě je S rezolucí zamítnutelná
rezoluční strom klauzule C z formule S je konečný binární strom s vrcholy označenými klauzulemi, kde v kořeni je C, v listech jsou klauzule z S a v každém vnitřním vrcholu je rezolventa klauzulí ze synů tohoto vrcholu
Vysvětlete rozdíl mezi rezolučním důkazem, lineárním důkazem, a LI-důkazem
lineární důkaz i LI-důkaz jsou zvláštními případy rezolučního důkazu
lineární důkaz vypadá tak, že vždy nějakou centrální klauzuli rezolvujeme s boční klauzulí, čímž vznikne další centrální klauzule
centrální klauzule vznikají rezolucí předchozí dvojice klauzulí
boční klauzule jsou z S nebo se jedná o minulé centrální klauzule (vzniklé rezolucí)
LI-důkaz požaduje, aby všechny boční klauzule byly z S
LI-rezoluce není úplná pro obecné formule (ne každá nesplnitelná formule má LI-zamítnutí)
LI-rezoluce je úplná pro Hornovy formule
Signatura a jazyk predikátové logiky, struktura daného jazyka
signatura je dvojice ⟨R,F⟩, kde R,F jsou disjunktní množiny symbolů (relační a funkční, ty zahrnují konstantní) spolu s danými aritami a neobsahují symbol =
do jazyka patří…
spočetně mnoho proměnných
relační, funkční a konstantní symboly ze signatury a symbol =, jde-li o jazyk s rovností
univerzální a existenční kvantifikátory pro každou proměnnou
symboly pro logické spojky a závorky
struktura v signatuře ⟨R,F⟩ je trojice A=⟨A,RA,FA⟩, kde…
A je neprázdná množina, říkáme jí doména (také universum)
RA je množina interpretací jednotlivých relačních symbolů (kde interpretace n-árního relačního symbolu je množina uspořádaných n-tic prvků z A)
FA je množina interpretací jednotlivých funkčních symbolů (kde intepretace n-árního funkčního symbolu odpovídá funkci přiřazující n-tici prvků z A jeden prvek z A)
speciálně pro konstantní symbol c∈F je cA∈A
model jazyka L nebo také L-struktura je libovolná struktura v signatuře jazyka L
třídu všech modelů jazyka označíme ML
Atomická formule, formule, sentence, otevřené formule
termy jazyka L jsou konečné nápisy definované induktivně
proměnná je term
konstantní symbol je term
pro n-ární funkční symbol f a termy t1,…,tn je nápis f(t1,…,tn) také term
atomická formule jazyka L je nápis R(t1,…,tn), kde R je n-ární relační symbol z L (v jazyce s rovností to může být i rovnost) a ti je L-term
formule jazyka L jsou konečné nápisy definované induktivně
atomická formule je formule
negace formule je formule
spojením dvou formulí binární logickou spojkou dostaneme formuli
přidáním kvantifikátoru před formuli dostaneme formuli
výskyt proměnné je vázaný, pokud jí odpovídá nějaký kvantifikátor, jinak je výskyt volný
proměnná je volná, pokud má volný výskyt, je vázaná, pokud má vázaný výskyt
formule je otevřená, neobsahuje-li žádný kvantifikátor
formule je uzavřená (= sentence), pokud nemá žádnou volnou proměnnou
Instance formule, substituovatelnost, varianta formule
term t je substituovatelný za proměnnou x ve formuli φ, pokud po simultánním nahrazení všech volných výskytů x ve φ za t nevznikne ve φ žádný vázaný výskyt proměnné z t
v tom případě říkáme vzniklé formuli instance φ vzniklá substitucí t za x a označujeme ji φ(x/t)
má-li formule φ podformuli tvaru (Qx)ψ a je-li y proměnná taková, že y je substituovatelná za x do ψ a y nemá volný výskyt v ψ, potom nahrazením podformule (Qx)ψ formulí (Qy)ψ(x/y) vznikne varianta formule φ v podformuli (Qx)ψ
poznámka: substituce = dosazování za volné výskyty proměnných, naopak varianty formulí vznikají přejmenováním vázaných výskytů (volné výskyty nelze přejmenovat, aby se nezměnilo „rozhraní“ neuzavřené formule)
Pravdivostní hodnota formule ve struktuře při ohodnocení, platnost formule ve struktuře
hodnota termu vyplývá jednoduše z ohodnocení (u konstant nezávisí na ohodnocení, u proměnných přímo z ohodnocení, u funkcí se dosadí hodnoty termů a získá se výsledná hodnota)
pravdivostní hodnoty formule při ohodnocení
pravdivostní hodnota je rovna nule nebo jedné
pravdivostní hodnota atomické formule vyplývá z toho, zda je daná n-tice (pro určité hodnoty termů) prvkem odpovídající množiny z RA
pro logické spojky se pravdivostní hodnota určuje standardně
obecný kvantifikátor lze chápat jako hledání minima z pravdivostních hodnot (nebo jako konjunkci přes všechny prvky struktury)
podobně existenční kvantifikátor hledá maximum / je to disjunkce
platnost ve struktuře
mějme formuli φ a strukturu A
je-li e ohodnocení a PHA(φ)[e]=1, potom říkáme, že φ platí v A při ohodnocení e a píšeme A⊨φ[e]
pokud φ platí v A při každém ohodnocení e:Var→A, potom říkáme, že φ je pravdivá (platí) v A, a píšeme A⊨φ
naopak pokud A⊨¬φ, tj. φ neplatí v A při žádném ohodnocení, pak je lživá v A
Kompletní teorie v predikátové logice, elementární ekvivalence
teorie je kompletní, je-li bezesporná a každá sentence je v ní buď pravdivá, nebo lživá
pozorování: teorie je kompletní, právě když má právě jeden model až na elementární ekvivalenci
struktury A,B (v témž jazyce) jsou elementárně ekvivalentní, pokud v nich platí tytéž sentence (značíme A≡B)
zjevně A≡B⟺Th(A)=Th(B)
Podstruktura, generovaná podstruktura, expanze a redukt struktury
B je (indukovaná) podstruktura A, když je B neprázdnou podmnožinou A, každá množina odpovídající interpretaci relace je omezena na n-tice z B a podobně funkce směřují z B do B, zároveň interpretace všech konstantních symbolů musí být v B
pozorování: univerzum podstruktury musí být uzavřené na všechny funkce původní struktury
podstruktura struktury A generovaná množinou X se značí A⟨X⟩, její univerzum je nejmenší podmnožina A, která obsahuje množinu X a je uzavřená na všechny funkce struktury A (tedy rovněž obsahuje všechny konstanty), tuto podmnožinu označme jako B
takovou podstrukturu lze také zapsat jako A↾B
pokud A nemá žádné funkce ani konstanty (např. je to graf nebo uspořádání), tak není čím generovat, tedy A⟨X⟩=A↾X
expanze a redukt jsou dvě struktury se stejnou doménou, kde expanze je nad větším jazykem, přičemž všechny symboly z menšího jazyka jsou v obou strukturách interpretovány stejně (jako relační/funkční/konstantní)
Definovatelnost ve struktuře
množina definovaná formulí = množina uspořádaných n-tic, které splňují danou formuli
φA(x)={a∈An∣A⊨φ[e(x/a)]}
kde ∣x∣=n, φ má n volných proměnných x1,…,xn
příklady
¬(∃y)E(x,y) … izolované vrcholy v grafu
x≤y∧¬(x=y) … relace ostrého uspořádání
množina definovaná formulí s parametry = množina uspořádaných n-tic, které splňují danou formuli s určenými parametry
φA,b(x,y)={a∈An∣A⊨φ[e(x/a,y/b)]}
kde ∣x∣=n, ∣y∣=k, φ má n+k volných proměnných
příklad: pro φ(x,y)=E(x,y) je φG,v(x,y) množina všech sousedů vrcholu v
pro strukturu A a podmnožinu B⊆A označíme Dfn(A,B) množinu všech množin definovatelných ve struktuře A s parametry pocházejícími z B
Extenze o definice
definice relačního symbolu
T a ψ jsou v jazyce L
rozšíříme jazyk o nový relační symbol R, dostaneme L′
extenze teorie T o definici R formulí ψ je L′-teorie T′=T∪{R(x1,…,xn)↔ψ(x1,…,xn)}
potom extenze teorie T o definici f formulí ψ je L′-teorie T′=T∪{f(x1,…,xn)=y↔ψ(x1,…,xn,y)}
např. x1−bx2=y↔x1+(−x2)=y
definice konstantního symbolu
jako funkční symbol
axiom existence (∃y)ψ(y)
axiom jednoznačnosti ψ(y)∧ψ(z)→y=z
T′=T∪{c=y↔ψ(y)}
např. 1/2=y↔y⋅(1+1)=1
T′ je extenzí T o definice, pokud vznikla z T postupnou extenzí o definice relačních a funkčních (případně konstantních) symbolů
vlastnosti extenzí o definice
každý model teorie T lze jednoznačně expandovat na model T′
T′ je konzervativní extenze T
pro každou L′-formuli φ′ existuje L-formule φ taková, že T′⊨φ′↔φ
Prenexní normální forma, Skolemova varianta
PNF = kvantifikátory jsou před formulí, formule se dělí na kvantifikátorový prefix a otevřené jádro
převod na PNF – postupně kvantifikátory vytahuju (podle pravidel), v případě potřeby přejmenuju proměnnou, tím vznikne varianta (pokud je v druhé části formule volná proměnná se stejným názvem)
Skolemova varianta sentence vzniká z původní PNF sentence skolemizací
skolemizace spočívá v tom, že tyto kroky iterujeme přes všechny existenční kvantifikátory (∃yi)
odstraníme z prefixu existenční kvantifikátor (∃yi)
za proměnnou yi substituujeme term fi(x1,…,xni), kde x1,…,xni jsou proměnné, jejichž univerzální kvantifikátory předcházejí (∃yi)
začínáme s L-sentencí v PNF, jejíž všechny vázané proměnné jsou různé
dostaneme L′-sentenci v PNF, kde L′ je rozšíření L o nové ni-ární funkční symboly
Izomorfismus struktur, izomorfní spektrum, ω-kategorická teorie
izomorfismus struktur
mějme struktury A,B jazyka L=⟨R,F⟩
izomorfismus A a B je bijekce h:A→B splňující následující vlastnosti:
teorie T je rekurzivně axiomatizovaná, pokud existuje algoritmus, který pro každou vstupní formuli φ doběhne a odpoví, zda φ∈T
třída L-struktur K⊆ML je rekurzivně axiomatizovatelná, pokud existuje rekurzivně axiomatizovaná L-teorie T taková, že K=ML(T)
teorie T′ je rekurzivně axiomatizovatelná, pokud je rekurzivně axiomatizovatelná třída jejích modelů, neboli pokud je T′ ekvivalentní nějaké rekurzivně axiomatizované teorii
řekneme, že teorie T má rekurzivně spočetnou kompletaci, pokud (nějaká) množina (až na ekvivalenci) všech jednoduchých kompletních extenzí teorie T je rekurzivně spočetná, tj. existuje algoritmus, který pro danou vstupní dvojici přirozených čísel (i,j) vypíše na výstup i-tý axiom j-té extenze (v nějakém pevně daném uspořádání), nebo odpoví, že takový axiom už neexistuje
Rozhodnutelná a částečně rozhodnutelná teorie
o teorii T říkáme, že je…
rozhodnutelná, pokud existuje algoritmus, který pro každou vstupní formuli φ doběhne a odpoví, zda T⊨φ
částečně rozhodnutelná, pokud existuje algoritmus, který pro každou vstupní formuli φ…
pokud T⊨φ, doběhne a odpoví „ano“
pokud T⊭φ, buď nedoběhne, nebo doběhne a odpoví „ne“
Lehké otázky
Množinu modelů nad konečným jazykem lze axiomatizovat výrokem v CNF, výrokem v DNF
tvrzení
mějme konečný jazyk P a libovolnou množinu modelů M⊆MP
potom existuje výrok φDNF v DNF a výrok φCNF v CNF takový, že M=MP(φDNF)=MP(φCNF)
konkrétně
φDNF=⋁v∈M⋀p∈Ppv(p)
φCNF=⋀v∈M⋁p∈Ppv(p)
důkaz
pro φDNF jednoduché, každá elementární konjunkce popisuje jeden model
stejný mechanismus se používá pro důkaz univerzálnosti {¬,∧,∨}
výrok φCNF je duální k výroku φDNF′ sestrojenému pro doplněk M′=M
nebo můžeme dokázat přímo – každá klauzule zakazuje právě jeden nemodel
2-SAT, Algoritmus implikačního grafu, jeho korektnost
výrok φ je v k-CNF, pokud je v CNF a každá klauzule má nejvýše k literálů
k-SAT se ptá, zda je formule v k-CNF splnitelná
algoritmus implikačního grafu pro 2-SAT
klauzuli a∨b vyjádříme jako dvě implikace a→b,b→a
jednotkovou klauzuli c zapíšeme jako c→c
implikační graf Gφ je orientovaný graf, jehož vrcholy jsou všechny literály a hrany jsou dané implikacemi (viz výše)
v grafu najdeme komponenty silné souvislosti
všechny literály v jedné komponentě musí být ohodnoceny stejně
postupujeme podle topologického uspořádání, vezmeme nejlevější neohodnocenou komponentu, ohodnotíme ji 0, opačnou komponentu ohodnotíme 1
algoritmus běží v lineárním čase, protože komponenty silné souvislosti i topologické uspořádání lze nalézt v čase O(n+m)
korektnost plyne z tvrzení, že výrok je splnitelný, právě když žádná komponenta silné souvislosti neobsahuje dvojici opačných literálů
implikaci ⟹ lze nahlédnout obměnou
kdyby komponenta obsahovala dvojici opačných literálů, existovala by implikace 1→0
opačná implikace
model jsme získali postupem uvedeným výše (pomocí topologického uspořádání grafu komponent)
kdyby v tomto modelu původní výrok neplatil, neplatila by některá z klauzulí
u jednotkových klauzulí máme hranu c→c (stejná hrana je i na úrovni grafu komponent), tudíž jsme nutně ohodnotili c dříve než c, tedy c=1
u 2-klauzulí máme dvě hrany a čtyři různé literály, dvě různé proměnné – jednu z nich jsme ohodnotili jako první, ta zaručí platnost klauzule
tedy všechny klauzule platí
Horn-SAT, Algoritmus jednotkové propagace, jeho korektnost
výrok je hornovský, pokud je konjunkcí hornovských klauzulí, tj. klauzulí obsahujících nejvýše jeden pozitivní literál
algoritmus
pokud φ obsahuje dvojici opačných jednotkových klauzulí, není splnitelný
pokud φ neobsahuje žádnou jednotkovou klauzuli, je splnitelný, ohodnotíme všechny zbývající proměnné nulou
pokud φ obsahuje jednotkovou klauzuli ℓ, ohodnotíme literál ℓ hodnotou 1, provedeme jednotkovou propagaci a postup opakujeme
jednotková propagace pro ℓ=1
každou klauzuli obsahující ℓ odstraníme (protože je takto splněna)
ℓ odstraníme ze všech klauzulí, které ho obsahují (protože ℓ nemůže zajistit splnění dané klauzule)
korektnost
korektnost jednotkové propagace je popsána výše
ohodnocení zbývajících proměnných nulou je zjevně korektní, neboť každá hornovská „nejednotková“ klauzule obsahuje negativní literál, který tak zajistí splnění klauzule
Horn-SAT lze řešit v lineárním čase
kvadratický horní odhad lze nahlédnout tak, že v každém kroku výrok procházíme jednou a jednotková propagace ho vždy zkrátí
Algoritmus DPLL pro řešení SAT
literál ℓ má čistý výskyt ve φ, pokud se ℓ vyskytuje ve φ a opačný literál ℓ se ve φ nevyskytuje
takový literál můžu nastavit na 1
to neovlivní splnitelnost výroku, ale zmenší to množinu modelů, které jsem schopen nalézt
algoritmus
dokud φ obsahuje jednotkovou klauzuli ℓ, ohodnoť ℓ=1 a proveď jednotkovou propagaci
dokud existuje literál ℓ, který má ve φ čistý výskyt, ohodnoť ℓ=1 a odstraň klauzule obsahující ℓ
pokud φ neobsahuje žádnou klauzuli, je splnitelný
pokud φ obsahuje prázdnou klauzuli, není splnitelný
jinak zvol dosud neohodnocenou výrokovou proměnnou p a zavolej algoritmus rekurzivně na φ∧p a na φ∧¬p
algoritmus běží v exponenciálním čase
Věta o konstantách
věta
mějme formuli φ v jazyce L s volnými proměnnými x1,…,xn
označme L′ rozšíření jazyka o nové konstantní symboly c1,…,cn a buď T′ stejná teorie jako T, ale v jazyce L′
potom platí T⊨φ, právě když T′⊨φ(x1/c1,…,xn/cn)
poznámka: funguje to, protože nové konstantní symboly můžou být v modelech interpretovány jako libovolné prvky
důkaz ⟹
je-li A′ model teorie T′, nechť A je jeho redukt na L
jelikož A⊨φ[e] pro každé ohodnocení e, pak to platí i pro ohodnocení, kde hodnoty proměnných odpovídají konstantám z A′
důkaz ⟸
je-li A model teorie T a e libovolné ohodnocení, nechť A′ je expanze A na L′ o konstanty ciA′=e(xi)
jelikož A′⊨φ(x1/c1,…,xn/cn)[e′] pro libovolné e′, platí i A′⊨φ[e]
protože konstantní symboly jsou nové, platí i A⊨φ[e]
Vlastnosti extenze o definice
je-li T′ extenze teorie T o definice, potom platí:
každý model teorie T lze jednoznačně expandovat na model T′
T′ je konzervativní extenze T
pro každou L′-formuli φ′ existuje L-formule φ taková, že T′⊨φ′↔φ
důkaz
k expanzi modelu stačí přidat odpovídající relační a funkční symboly
konzervativní extenze – vyplývá z tvrzení:
mějme jazyky L⊆L′, teorii T v L a teorii T′ v L′
(i) T′ je extenzí T, právě když redukt každého modelu T′ na L je modelem T
důkaz ⟹
mějme A′⊨T′ a A, což je redukt A′ na jazyk L
T′ je extenzí T, takže v T′ platí každý axiom φ∈T
tudíž A′⊨φ
proto i A⊨φ, neboť φ obsahuje jen symboly z L
takže A⊨T
důkaz ⟸
mějme L-sentenci φ takovou, že T⊨φ
pro libovolný model A′⊨T′ víme, že jeho L-redukt A je modelem T
tedy A⊨φ
proto A′⊨φ
tedy i T′⊨φ
(ii) pokud je T′ extenzí T a každý model T lze expandovat do L′ na nějaký model T′, potom je T′ konzervativní extenzí T
důkaz ⟹
vezměme libovolnou L-sentenci φ, která platí v T′
každý model A⊨T lze expandovat na nějaký model A′⊨T′
víme, že A′⊨φ
takže i A⊨φ
tudíž T⊨φ
T′⊨φ′↔φ
pro relační symbol R
v definici máme ekvivalenci R↔ψ
φ vznikne tak, že nahradíme atomické podformule s novým symbolem R formulí ψ′, což je varianta ψ zaručující substituovatelnost všech termů
tedy R(t1,…,tn) nahradíme ψ′(x1/t1,…,xn/tn)
substituovatelnost se dá zaručit třeba přejmenováním všech vázaných proměnných ψ na zcela nové
pro funkční symbol f
v definici máme f(x1,…,xn)=y↔ψ(x1,…,xn,y)
u více výskytů f aplikujeme tento postup několikrát, v případě vnoření postupujeme od vnitřních
jako φ∗ označíme formuli vzniklou z φ′ nahrazením termu f(t1,…,tn) novou proměnnou z
díky této konstrukci a vlastnostem T (axiomům jednoznačnosti a existence z) platí T′⊨φ′↔φ
Vztah definovatelných množin a automorfismů
tvrzení
je-li D⊆An definovatelná ve struktuře A, potom pro každý automorfismus h∈Aut(A) platí h[D]=D, kde h[D] značí {h(a)∣a∈D}
je-li D definovatelná s parametry b, platí totéž pro automorfismy identické na b, tj. takové, že h(b)=b (neboli ∀i:h(bi)=bi)
důkaz (pro verzi s parametry)
nechť D=φA,b(x,y)
potom pro každé a∈An platí
a∈D
⟺A⊨φ[e(x/a,y/b)]
⟺A⊨φ[(e∘h)(x/a,y/b)]
protože to je izomorfismus
⟺A⊨φ[e(x/h(a),y/h(b))]
⟺A⊨φ[e(x/h(a),y/b)]
protože na b je v tomhle automorfismu identita (z předpokladů tvrzení)
⟺h(a)∈D
Tablo metoda v jazyce s rovností
chceme, aby v nějakém modelu A teorie T v jazyce s rovností byla relace =A kongruencí
toho docílíme tak, že k teorii T přidáme axiomy rovnosti – tablo sestavíme z výsledné teorie T∗
kongruence nám ale nestačí, chceme, aby rovnost byla identita, proto budeme všechny =A-ekvivalentní prvky „identifikovat“ do jednoho
tak vznikne faktorstruktura podle kongruence =A
definice
je-li T teorie v jazyce L s rovností, potom označme jako T∗ rozšíření teorie T o generální uzávěry axiomů rovnosti pro jazyk L
tablo důkaz z teorie T je tablo důkaz z T∗, podobně pro tablo zamítnutí (a obecně jakékoliv tablo)
pozorování: jestliže A⊨T∗, potom platí i A/=A⊨T∗
Věta o kompaktnosti a její aplikace
věta: teorie má model, právě když každá její konečná část má model
důkaz
⟹: model teorie je zřejmě modelem každé její části
⟸ obměnou, chceme: pokud T nemá model, existuje její konečná část, která nemá model
pokud T nemá model, je sporná, tedy T⊢⊥
vezměme nějaký konečný tablo důkaz ⊥ z T
podle věty o konečnosti sporu
k jeho konstrukci stačí konečně mnoho axiomů T
ty tvoří konečnou podteorii T′⊆T, která nemá model
aplikace
popíšeme požadovanou vlastnost nekonečného objektu pomocí (nekonečné) výrokové teorie
z konečné části teorie sestrojíme konečný podobjekt mající danou vlastnost
příklad
spočetně nekonečný graf je bipartitní ⟺ každý jeho konečný podgraf je bipartitní
T={pu→¬pv∣{u,v}∈E(G)}
Věta o korektnosti rezoluce ve výrokové logice
věta: je-li formule S rezolucí zamítnutelná, potom je S nesplnitelná
důkaz
nechť S⊢R□ a vezměme nějaký rezoluční důkaz C0,C1,…,Cn=□
předpokládejme pro spor, že S je splnitelná
tedy V⊨S pro nějaké ohodnocení V
indukcí podle i dokážeme, že V⊨Ci
pro i=0 to platí, neboť C0∈S
pro i>0 máme dva případy
Ci∈S, potom V⊨Ci plyne z předpokladu, že V⊨S
Ci je rezolventou nějakých dvou předchozích klauzulí, pro obě z nich z indukčního předpokladu platí, že ohodnocení V je splňuje, takže V⊨Ci plyne z korektnosti rezolučního pravidla
indukcí dojdeme k tomu, že V⊨□, což je spor
Věta o korektnosti rezoluce v predikátové logice
korektnost rezolučního pravidla
v klauzuli C1 jsou mj. výrazy A1,…,An
v klauzuli C2 jsou mj. výrazy ¬B1,…,¬Bm
množina výrazů S={A1,…,An,B1,…,Bm} má nejobecnější unifikaci σ takovou, že Sσ={A1σ}
C1,C2 jsou otevřené formule platné v A, takže platí i jejich instance po substituci, proto A⊨C1σ a A⊨C2σ
pokud A⊨A1σ[e], potom A⊭¬A1σ[e] a musí být A⊨C2′σ[e]
kde C2′ je část formule bez negací Bi
tedy A⊨C[e]
podobně to funguje i naopak – pokud A⊭A1σ[e]
věta: pokud je CNF formule S rezolucí zamítnutelná, potom je nesplnitelná
důkaz
víme, že S⊢R□, vezměme tedy nějaký rezoluční důkaz □ z S
kdyby existoval model A⊨S, díky korektnosti rezolučního pravidla bychom mohli dokázat indukcí podle délky důkazu, že i A⊨□, což ale není možné
Souvislost stromu dosazení a splnitelnosti CNF formule
lemma: S je splnitelná, právě když je splnitelná Sℓ nebo Sℓ
důkaz lemmatu
⟹
mějme ohodnocení V⊨S
to nemůže obsahovat ℓ i ℓ (musí být konzistentní)
BÚNO ℓ∈/V
vezmeme klauzuli v Sℓ, ta je ve tvaru C∖{ℓ} pro klauzuli C∈S neobsahující ℓ
víme, že V⊨C
V neobsahuje ℓ, takže V splnilo nějaký jiný literál C, takže platí i V⊨C∖{ℓ}
⟸
BÚNO existuje V⊨Sℓ
ℓ se nevyskytuje v Sℓ, takže platí V∖{ℓ}⊨Sℓ
ohodnocení V′=(V∖{ℓ})∪{ℓ} splňuje každou C∈S
pokud ℓ∈C, klauzule je splněna díky ℓ v V′
pokud ℓ∈/C, pak V∖{ℓ}⊨C∖{ℓ}∈Sℓ
tvrzení: formule S (nad spočetným jazykem) je nesplnitelná, právě když každá větev stromu dosazení obsahuje prázdnou klauzuli □
důkaz tvrzení
pro konečnou formuli lze dokázat indukcí podle počtu proměnných pomocí lemmatu
pro nekonečnou formuli
je-li S nekonečná a splnitelná, potom má splňující ohodnocení
to se shoduje s odpovídající nekonečnou větví ve stromu dosazení
je-li S nekonečná a nesplnitelná, potom podle věty o kompaktnosti existuje nesplnitelná konečná část S′⊆S
po dosazení pro všechny proměnné bude v každé větvi □ (po konečně mnoha krocích)
Nestandardní model přirozených čísel
nechť N=⟨N,S,+,⋅,0,≤⟩ je standardní model přirozených čísel
označme Th(N) množinu všech sentencí pravdivých v N (tzv. teorii struktury N)
pro n∈N definujme n-tý numerál jako term n=S(S(…S(0)…)), kde S je aplikováno n-krát
vezměme nový konstantní symbol c a vyjádřeme, že je ostře větší než každý n-tý numerál: T=Th(N)∪{n<c∣n∈N}
každá konečná část T má model
podle věty kompaktnosti má i T model, říkáme mu nestandardní model
platí v něm tytéž sentence, jako ve standardním modelu, ale zároveň obsahuje prvek cA, který je větší než každé n∈N
Kompletní jednoduché extenze DeLO*
teorie hustého lineárního uspořádání (DeLO*) je extenze teorie uspořádání (reflexivita, antisymetrie, tranzitivita) o axiom linearity (dichotomie) a axiom hustoty (mezi libovolnými dvěma prvky existuje třetí), někdy se přidává axiom netriviality (zakazuje jednoprvkový model)
mějme sentenci φ vyjadřující existenci minimálního prvku a sentenci ψ vyjadřující existenci maximálního prvku
následující čtyři teorie jsou právě všechny kompletní jednoduché extenze teorie DeLO*
DeLO=DeLO∗∪{¬φ,¬ψ}
DeLO+=DeLO∗∪{¬φ,ψ}
DeLO−=DeLO∗∪{φ,¬ψ}
DeLO±=DeLO∗∪{φ,ψ}
stačí ukázat, že tyto čtyři teorie jsou kompletní – potom žádná další kompletní jednoduchá extenze DeLO* nemůže existovat
jejich kompletnost plyne z toho, že jsou ω-kategorické
Existence spočetného algebraicky uzavřeného tělesa
těleso je algebraicky uzavřené, pokud každý polynom nenulového stupně v něm má kořen
nespočetné těleso C je algebraicky uzavřené (R,Q nejsou)
algebraickou uzavřenost pro každé n>0 vyjádříme sentencí ψn=(∀xn−1)…(∀x0)(∃y)(yn+xn−1⋅yn−1+⋯+x1⋅y+x0)=0
kde yk je zkratka za term ky⋅y⋅…⋅y
y tady odpovídá hledanému kořenu polynomu (obvykle se označuje jako x), naopak xi odpovídají koeficientům
z Löwenheim-Skolemovy věty s rovností vyplývá důsledek, že ke každé nekonečné L-struktuře (kde L je spočetný jazyk s rovností) existuje elementárně ekvivalentní spočetně nekonečná struktura
tedy existuje spočetně nekonečná struktura A elementárně ekvivalentní tělesu C
C je těleso a ∀n>0:C⊨ψn⟹A je algebraicky uzavřené těleso
Tělesa charakteristiky 0 nejsou konečně axiomatizovatelná
těleso charakteristiky 0 … sečtením prvočíselného počtu jedniček nikdy nedostanu nulu
T … teorie těles
T0 … teorie axiomatizující třídu těles charakteristiky 0
T0=T∪{¬p1=0∣p je prvocˇıˊslo}
p1 … p1+1+⋯+1
tvrzení: třída K těles charakteristiky 0 není konečně axiomatizovatelná
důkaz
podle věty o konečné axiomatizovatelnosti stačí ukázat, že K (tělesa nenulové charakteristiky a netělesa) není axiomatizovatelná
sporem: K=M(S)
potom S′=S∪T0 má model, neboť každá konečná část má model
pro konečné části S jednoduché
pro konečné části T0 vezmeme těleso prvočíselné charakteristiky větší než jakékoliv p z axiomu T0 tvaru ¬p1=0
nechť A je model S′
potom je i modelem S, takže A∈K
zároveň je ale modelem T0, takže A∈K, což je spor
Kritérium otevřené axiomatizovatelnosti
pozorování: je-li B⊆A, potom pro každou otevřenou formuli φ a ohodnocení e:Var→B platí B⊨φ[e]⟺A⊨φ[e]
protože prvky z B jsou i v A
lze dokázat indukcí podle struktury formule
tvrzení: je-li T otevřeně axiomatizovatelná, potom je každá podstruktura modelu T také modelem T
důkaz
buď T′ otevřená axiomatizace T, A model T′, B⊆A
pro každou φ∈T′ platí B⊨φ (φ je otevřená, použijeme pozorování)
tedy i B⊨T′
příklady
DeLO není otevřeně axiomatizovatelná – konečná podstruktura nemůže být hustá
teorie těles není otevřeně axiomatizovatelná – podstruktura Z nemá inverzní prvek k 2 vůči násobení
Rekurzivně axiomatizovaná teorie je částečně rozhodnutelná, kompletní je rozhodnutelná
tvrzení: je-li T rekurzivně axiomatizovaná, potom je částečně rozhodnutelná, je-li navíc kompletní, je rozhodnutelná
algoritmus současně konstruuje tablo pro Fφ a tablo pro Tφ
jedna z konstrukcí po konečně mnoha krocích skončí
Teorie konečné struktury v konečném jazyce s rovností je rozhodnutelná
tvrzení: je-li A konečná struktura v konečném jazyce s rovností, potom je teorie Th(A) rekurzivně axiomatizovatelná
důkaz
očíslujme prvku domény jako A={a1,…,an}
Th(A) lze axiomatizovat sentencí, která je tvaru „existuje právě n prvků a1,…,an splňujících právě ty základní vztahy o funkčních hodnotách a relacích, které platí v A“
Th(A) (množina všech L-sentencí platných v A) je zjevně kompletní (podle pozorování 9.1.3)
Gödelovy věty o neúplnosti a jejich důsledky (bez důkazů)
První věta o neúplnosti: Pro každou bezespornou rekurzivně axiomatizovanou extenzi T Robinsonovy aritmetiky existuje sentence, která je pravdivá v N, ale není dokazatelná v T.
důsledek 1.1: je-li T rekurzivně axiomatizovaná extenze Robinsonovy aritmetiky a je-li navíc N modelem teorie T, potom T není kompletní
pro sentenci, která není dokazatelná v T, nemůže být dokazatelná ani její negace (byl by to spor s její pravdivostí v N)
důsledek 1.2: teorie Th(N) není rekurzivně axiomatizovatelná
kdyby byla, nemohla by být kompletní – ale ona kompletní je
věta (Rosserův trik): v každé bezesporné rekurzivně axiomatizované extenzi Robinsonovy aritmetiky existuje nezávislá sentence – tedy taková není kompletní
v podstatě plyne z důsledku 1.1, jen se zbavuje N
Druhá věta o neúplnosti: Pro každou bezespornou rekurzivně axiomatizovanou extenzi T Peanovy aritmetiky platí, že ConT není dokazatelná v T.
ConT … sentence vyjadřující bezespornost (konzistence) teorie T
ConT=¬(∃y)PrfT(0=S(0),y)
PrfT(x,y) … y je důkaz x v T
důsledek 2.1: existuje model Peanovy aritmetiky (PA), ve kterém platí sentence (∃y)PrfPA(0=S(0),y)
důsledek 2.2: existuje bezesporná rekurzivně axiomatizovaná extenze T Peanovy aritmetiky, která dokazuje svou spornost, tj. taková, že T⊢¬ConT
důsledek 2.3: je-li teorie množin ZFC bezesporná, nemůže být sentence ConZFC v teorii ZFC dokazatelná
Těžké otázky
Věta o korektnosti tablo metody ve výrokové logice
potřebujeme lemma: shoduje-li se model teorie T s položkou v kořeni tabla z teorie T, potom se shoduje s nějakou větví
důkaz lemmatu
mějme postup vytváření tabla
indukcí sestrojíme větev, se kterou se model shoduje
díváme se na rozdíl mezi dvěma verzemi tabla
pokud nová verze vznikla bez prodloužení naší větve, necháme ji tak
pokud nová verze vznikla připojením axiomu z teorie na konec naší větve, prodloužíme o něj naši větev
model se s axiomem nutně shoduje
pokud nová verze vznikla připojením atomického tabla na konec naší větve…
model se nutně shoduje s kořenem atomického tabla
model se tedy shoduje i s některou z větví atomického tabla
naši větev prodloužíme o tuto větev
věta o korektnosti: je-li výrok φ tablo dokazatelný z teorie T, potom je φ pravdivý v T, tj. T⊢φ⟹T⊨φ
důkaz sporem
nechť φ v T neplatí, tj. existuje protipříklad = model v, v němž φ neplatí
výrok φ je dokazatelný z T, tedy existuje tablo důkaz (sporné tablo s Fφ v kořeni)
model v se shoduje s Fφ, tedy podle lemmatu se shoduje s nějakou větví V
všechny větve jsou sporné, tedy i V
V obsahuje Tψ a Fψ
model v se s těmito položkami shoduje
proto v⊨ψ a v⊭ψ, což je spor
Věta o korektnosti tablo metody v predikátové logice
lemma: shoduje-li se model A teorie T s položkou v kořeni tabla z teorie T (v jazyce L), potom lze A expandovat do jazyka LC tak, že se shoduje s některou větví v tablu
důkaz
podobně jako ve výrokové logice postupně vytváříme větev
navíc postupně expandujeme model A o konstanty cA∈C
věta o korektnosti: je-li sentence φ tablo dokazatelná z teorie T, potom je φ pravdivá v T, tj. T⊢φ⟹T⊨φ
důkaz sporem
nechť T⊭φ, tj. existuje A⊨T takový, že A⊭φ
protože T⊢φ, existuje sporné tablo z T s Fφ v kořeni
model A se shoduje s Fφ⟹ podle lemmatu lze A expandovat do jazyka LC tak, že se expanze shoduje s nějakou větví
všechny větve jsou ale sporné
Věta o úplnosti tablo metody ve výrokové logice
lemma: kanonický model pro bezespornou dokončenou větev V se shoduje s V
důkaz se konstruuje indukcí, jejímž základem jsou položky s prvovýroky
věta: je-li výrok φ pravdivý v teorii T, potom je tablo dokazatelný z T, tj. T⊨φ⟹T⊢φ
důkaz sporem
kdyby tablo z T s položkou Fφ v kořeni nebylo sporné, existovala by bezesporná (dokončená) větev V
V obsahuje Tα pro všechny axiomy α∈T
uvažme kanonický model v pro větev V
v se podle lemmatu shoduje se všemi položkami na V
splňuje tedy všechny axiomy a máme v⊨T
v se ale shoduje i s položkou Fφ v kořeni, tedy v⊭φ, tudíž i T⊭φ, což je spor
tablo tedy muselo být sporné, tj. být tablo důkazem φ z T
Věta o úplnosti tablo metody v predikátové logice
lemma: kanonický model pro bezespornou dokončenou větev V se shoduje s V
důkaz se konstruuje indukcí, jejímž základem jsou položky s atomickými sentencemi
věta: je-li sentence φ pravdivá v teorii T, potom je tablo dokazatelná z T, tj. T⊨φ⟹T⊢φ
důkaz sporem
uvažujme dokončené tablo z T s položkou Fφ v kořeni, které není sporné
v takovém tablu bude dokončená větev V
mějme kanonický model AC pro tuto větev, jako A označme jeho redukt na jazyk L
V obsahuje Tα pro všechny axiomy α∈T
AC se podle lemmatu shoduje se všemi položkami na V
splňuje tedy všechny axiomy a máme i A⊨T
AC se ale shoduje i s položkou Fφ v kořeni, tedy i A⊭φ, tudíž T⊭φ což je spor
tablo tedy muselo být sporné, tj. být tablo důkazem φ z T
Věta o konečnosti sporu, důsledky o konečnosti a systematičnosti důkazů
Königovo lemma: nekonečný, konečně větvící strom má nekonečnou větev
věta: je-li τ=⋃i≥0τi sporné tablo, potom existuje n∈N takové, že τn je sporné konečné tablo
důkaz
uvažme množinu S všech vrcholů stromu τ, které nad sebou neobsahují spor, tj. dvojici položek Tψ,Fψ
kdyby S byla nekonečná, podle Königova lemmatu bychom měli nekonečnou bezespornou větev v S
tedy bychom měli bezespornou větev v τ, což je ve sporu s tím, že τ je sporné
S je tedy konečná
proto existuje d∈N takové, že S leží v hloubce nejvýše d
zvolme n tak, že τn už obsahuje všechny vrcholy τ z prvních d+1 úrovní, každá větev v τn je tedy sporná
důsledek: pokud při konstrukci tabla neprodlužujeme sporné větve, potom je sporné tablo konečné
důkaz: máme τ=τn, sporné tablo už neměníme
důsledek: pokud T⊢φ, potom existuje konečný tablo důkaz φ z T
důkaz: při konstrukci τ ignorujeme kroky, které by prodloužily spornou větev
důsledek: pokud T⊢φ, potom systematické tablo je konečným tablo důkazem φ z T
důkaz
pokud T⊢φ, potom T⊨φ (dle věty o korektnosti) = neexistuje protipříklad
kdyby systematické tablo mělo bezespornou větev, existoval by protipříklad
Věta o úplnosti rezoluce ve výrokové logice
věta: je-li S nesplnitelná, je rezolucí zamítnutelná (tj. S⊢R□)
důkaz
předpokládejme, že S je konečná
nekonečná S by měla konečnou nesplnitelnou část, přičemž její rezoluční zamítnutí by bylo rezolučním zamítnutím S
postupujeme indukcí podle počtu proměnných v S
pro nula proměnných je jediná nesplnitelná formule S={□}
jinak vybereme p∈Var(S)
podle lemmatu o stromu dosazení jsou Sp i Sp nesplnitelné
mají o jednou proměnnou méně, tedy podle indukčního předpokladu existují rezoluční stromy T a T′ s rezolučním zamítnutím
ze stromu T pro Sp⊢R□ vypěstujeme strom T pro S⊢R¬p
na každém listu je klauzule C∈Sp
pro tuhle klauzuli platí buď C∈S, nebo C∪{¬p}∈S
v druhém případě přidáme do C a do všech klauzulí nad tímto listem literál ¬p
podobně vypěstujeme T′ pro S⊢Rp a oba stromy připojíme ke kořeni □
Věta o úplnosti LI-rezoluce pro výrokové Hornovy formule
pozorování: pokud je Hornova formule (která neobsahuje prázdnou klauzuli) nesplnitelná, pak obsahuje fakt i cíl
fakt = pozitivní jednotková klauzule
cíl = neprázdná klauzule bez pozitivního literálu
kdyby neobsahovala fakt, ohodnotíme všechny proměnné 0
kdyby neobsahovala cíl, ohodnotíme všechny proměnné 1
věta: je-li Hornova formule T splnitelná a T∪{G} je nesplnitelná pro cíl G, potom T∪{G}⊢LI□, a to LI-zamítnutím, které začíná cílem G
důkaz
podobně jako ve větě o úplnosti rezoluce můžeme díky větě o kompaktnosti předpokládat konečnost
důkaz provedeme indukcí podle počtu proměnných v T
z pozorování plyne, že T obsahuje fakt {p} pro nějakou proměnnou p
T∪{G} je nesplnitelná ⟹ podle lemmatu je nesplnitelná také (T∪{G})p=Tp∪{Gp}, kde Gp=G∖{¬p}
základ indukce: pokud Gp=□, potom G={¬p}
víme, že {p}∈T, takže máme jednokrokové LI-zamítnutí
jinak je Tp splnitelná (stejným ohodnocením jako T, protože to musí obsahovat p kvůli faktu {p}) a má méně proměnných než T
podle IP existuje LI-odvození □ z Tp∪{Gp} začínající Gp
LI-zamítnutí T∪{G} začínající G zkonstruujeme obdobně jako ve větě o úplnosti rezoluce
nejprve přidáme ¬p do všech listů, které nejsou v T∪{G}, a do všech vrcholů nad nimi
tím dostaneme T∪{G}⊢LI¬p
na závěr přidáme boční klauzuli {p} a odvodíme □
Věta o úplnosti rezoluce v predikátové logice (Lifting lemma stačí vyslovit)
instance φ(x1/t1,…,xn/tn) otevřené formule φ je základní, jsou-li všechny termy t1,…,tn konstantní
Lifting lemma (ukazuje, že rezoluční důkaz na úrovni výrokové logiky je možné zvednout na úroveň predikátové logiky)
mějme klauzule C1,C2 s disjunktními množinami proměnných
jsou-li C1∗ a C2∗ základní instance klauzulí C1 a C2 a je-li C∗ rezolventou C1∗ a C2∗, potom existuje rezolventa C klauzulí C1,C2 taková, že C∗ je základní instancí C
důsledek Lifting lemmatu
mějme CNF formuli S a množinu všech jejích základních instancí S∗
pokud S∗⊢RC∗ pro nějakou základní klauzuli C∗, potom existuje klauzule C a základní substituce σ taková, že C∗=Cσ a S⊢RC
věta: je-li CNF formule S nesplnitelná, potom je zamítnutelná rezolucí
důkaz
označme S∗ množinu všech základních instancí klauzulí z S
S je nesplnitelná → díky Herbrandově větě je nesplnitelná i S∗
z věty o úplnosti výrokové rezoluce víme, že S∗⊢R□
z důsledku Lifting lemmatu dostáváme C a σ takové, že Cσ=□ a S⊢RC
ale protože prázdná klauzule □ je instancí C, musí být C=□
tím jsme našli rezoluční zamítnutí S⊢R□
Skolemova věta
lemma: pro L-sentenci φ a její Skolemovu variantu φ′ platí, že L-redukt každého modelu φ′ je modelem φ a že každý model φ lze expandovat na model φ′
model φ′ v univerzu obsahuje prvek, který splňuje existenční kvantifikátor (je to ten prvek, který vrací funkce f, kterou jsme existenční kvantifikátor nahradili)
expanzi modelu φ na model φ′ provedeme tak, že funkci f nadefinujeme tak, aby vracela prvky, které splňují existenční kvantifikátor
věta: každá teorie má otevřenou konzervativní extenzi
důkaz
mějme L-teorii T
každý axiom nahradíme jeho generálním uzávěrem a převedeme do PNF, tím získáme ekvivalentní teorii T′
každý axiom teorie T′ nahradíme jeho Skolemovou variantou, tím získáme teorii T′′ v rozšířeném jazyce L′
z lemmatu plyne, že L-redukt každého modelu T′′ je modelem T′, tedy T′′ je extenzí T′, a že každý model T′ lze expandovat do jazyka L′ na model T′′, tedy jde o konzervativní extenzi
T′′ je axiomatizována univerzálními sentencemi, tedy odstraněním kvantifikátorových prefixů dostaneme otevřenou teorii T′′′, která je ekvivalentní s T′′, a tedy je také konzervativní extenzí T
důsledek: ke každé teorii můžeme pomocí skolemizace najít ekvisplnitelnou otevřenou teorii
tu pak můžeme převést do CNF
Herbrandova věta
definice (Herbrandův model)
mějme jazyk L=⟨R,F⟩ s alespoň jedním konstantním symbolem
L-struktura A=⟨A,RA,FA⟩ je Herbrandův model, jestliže…
A je množina všech konstantních L-termů (tzv. Herbrandovo univerzum)
pro každý n-ární funkční symbol f∈F a konstantní termy ′′t1′′,…,′′tn′′∈A platí fA(′′t1′′,…,′′tn′′)=′′f(t1,…,tn)′′
speciálně, pro každý konstantní symbol c∈F je cA=′′c′′
na interpretace relačních symbolů neklademe žádné podmínky
Herbrandova věta
mějme otevřenou teorii T v jazyce L bez rovnosti a s alespoň jedním konstantním symbolem
potom buď má T Herbrandův model, nebo existuje konečně mnoho základních instancí axiomů T, jejichž konjunkce je nesplnitelná
důkaz
označme jako Tground množinu všech základních instancí axiomů teorie T
zkonstruujeme tablo (takové, kde neprodlužujeme sporné větve – třeba to systematické) z teorie Tground s položkou F⊥ v kořeni, ale z jazyka L (tedy bez rozšíření o pomocné konstantní symboly na jazyk LC, nejsou totiž potřeba, protože T je otevřená)
pokud tablo obsahuje bezespornou větev, potom je kanonický model pro tuto větev (opět bez přidání pomocných konstantních symbolů) Herbrandovým modelem T
v opačném případě máme tablo důkaz sporu, tedy Tground i T jsou nesplnitelné
tablo důkaz je konečný, takže existuje konečně mnoho základních instancí axiomů T, jejichž konjunkce je nesplnitelná
Löwenheim-Skolemova věta včetně varianty s rovností, jejich důsledky
věta: je-li L spočetný jazyk bez rovnosti, potom každá bezesporná L-teorie má spočetně nekonečný model
důkaz
vezměme nějaké dokončené tablo z teorie T s položkou F⊥ v kořeni
T je bezesporná → není v ní dokazatelný spor → tablo obsahuje bezespornou větev
hledaný spočetně nekonečný model je L-redukt kanonického modelu pro tuto větev
důsledek: je-li L spočetný jazyk bez rovnosti, potom ke každé L-struktuře existuje elementárně ekvivalentní spočetně nekonečná struktura
mějme L-strukturu A
teorie Th(A) je bezesporná (má model A)
tedy dle Löwenheim-Skolemovy věty má spočetně nekonečný model B⊨Th(A)
to znamená, že B≡A
věta s rovností: je-li L spočetný jazyk s rovností, potom každá bezesporná L-teorie má spočetný model (tj. konečný nebo spočetně nekonečný)
spočetně nekonečný model najdeme stejným způsobem jako v případě varianty bez rovnosti, pak ho faktorizujeme podle kongruence =A
důsledek: je-li L spočetný jazyk s rovností, potom ke každé nekonečnéL-struktuře existuje elementárně ekvivalentní spočetně nekonečná struktura
opět najdeme spočetně nekonečnou B≡A
v A neplatí žádná sentence vyjadřující „existuje nejvýše n prvků“, takže neplatí ani v B, proto B nemůže být konečná struktura
důsledek: existuje spočetné algebraicky uzavřené těleso
Vztah izomorfismu a elementární ekvivalence
tvrzení: bijekce h:A→B je izomorfismus A a B, právě když…
pro každý L-term t a ohodnocení proměnných e:Var→A platí h(tA[e])=tB[e∘h]
pro každou L-formuli φ a ohodnocení proměnných e:Var→A platí A⊨φ[e] právě když B⊨φ[e∘h]
důkaz
je-li h izomorfismus, vlastnosti dokážeme indukcí podle struktury termu/formule
je-li h bijekce splňující vlastnosti, dosazením f za t a R za φ dostáváme vlastnosti z definice izomorfismu
důsledek: A≃B⟹A≡B
obrácená implikace obecně neplatí, protože uspořádané množiny racionálních a reálných čísel jsou elementárně ekvivalentní, ale neexistuje mezi nimi bijekce, tedy nejsou izomorfní (jedna je spočetná, druhá nespočetná)
tvrzení: je-li L jazyk s rovností a A,B konečné L-struktury, potom platí A≃B⟺A≡B
důkaz ⟹ výše
důkaz ⟸
předpokládejme, že A,B jsou elementárně ekvivalentní (ukážeme, že jsou izomorfní)
L je s rovností, takže můžeme vyjádřit sentencí, že „existuje právě n prvků“
proto ∣A∣=∣B∣
expanzi A o jména prvků z A označíme jako A′, pro každý prvek v podstatě přidáme konstantu
ukážeme, že lze B expandovat na L′-strukturu B′ tak, že A′≡B′
to se (asi) dělá tak, že konkrétní prvek a∈A zajišťuje platnost určitých sentencí – tyto sentence jakýmsi způsobem definují zobrazení prvku a do B
ω-kategorické kritérium kompletnosti
věta
mějme ω-kategorickou teorii T ve spočetném jazyce L
pokud
L je bez rovnosti
nebo L je s rovností a T nemá konečné modely
potom je teorie T kompletní
důkaz
bez rovnosti
použijeme důsledky Löwenheim-Skolemovy věty – ke každé L-struktuře existuje elementárně ekvivalentní spočetně nekonečná struktura
z ω-kategoricity vyplývá, že spočetně nekonečný model dané teorie je právě jeden (až na izomorfismus)
důsledek Löwenheim-Skolemovy pro jazyk s rovností by umožňoval konečné modely, ale ty jsme zakázali
všechny modely T jsou tedy elementárně ekvivalentní právě jednomu spočetně nekonečnému modelu, což znamená, že T je kompletní
Neaxiomatizovatelnost konečných modelů
věta
pokud má teorie libovolně velké konečné modely, potom má i nekonečný model
v tom případě není třída všech jejích konečných modelů axiomatizovatelná (tohle je zjevný důsledek, ten nedokazujeme)
důkaz
pro jazyk bez rovnosti stačí vzít kanonický model pro některou bezespornou větev v tablu z T pro položku F⊥
tenhle trik se používá i v jiných důkazech
T je bezesporná, neboť má „libovolně velké konečné modely“, tedy tablo není sporné
kanonický model bude nekonečný, protože pomocných konstantních symbolů jsme přidali spočetně nekonečno
pro jazyk s rovností mějme extenzi T′ teorie T do jazyka rozšířeného o spočetně mnoho konstantních symbolů ci
T′=T∪{¬ci=cj∣i=j∈N}
každá konečná část teorie T′ má zjevně model → dle věty o kompaktnosti má T′ model, ten je nutně nekonečný
jeho redukt na původní jazyk je nekonečným modelem T
Věta o konečné axiomatizovatelnosti
věta: K⊆ML je konečně axiomatizovatelná, právě když K i K jsou axiomatizovatelné
důkaz ⟹
pokud K axiomatizují sentence φ1,…,φn, pak K axiomatizuje ¬(φ1∧⋯∧φn)
důkaz ⟸
nechť T a S jsou teorie takové, že M(T)=K a M(S)=K
uvažme teorii T∪S, ta je sporná, neboť M(T∪S)=M(T)∩M(S)=K∩K=∅
podle věty o kompaktnosti existují konečné podteorie T′⊆T a S′⊆S takové, že ∅=M(T′∪S′)=M(T′)∩M(S′)
platí M(T)⊆M(T′)⊆M(S′)⊆M(S)=M(T)
tedy M(T)=M(T′), tedy T′ je hledanou konečnou axiomatizací K
Rekurzivně axiomatizovaná teorie s rekurzivně spočetnou kompletací je rozhodnutelná
tvrzení: pokud je teorie T rekurzivně axiomatizovaná a má rekurzivně spočetnou kompletaci, potom je T rozhodnutelná
důkaz
pro danou sentenci φ buď T⊢φ, nebo existuje protipříklad A⊭φ, tedy existuje kompletní jednoduchá extenze Ti teorie T taková, že Ti⊬φ
z kompletnosti plyne, že Ti⊢¬φ
náš algoritmus bude paralelně konstruovat tablo důkaz φ z T a (postupně) tablo důkazy ¬φ ze všech kompletních jednoduchých extenzí T1,T2,… teorie T
pomocí dovetailingu
víme, že alespoň jedno z paralelně konstruovaných tabel je sporné a můžeme předpokládat, že je i konečné (když neprodlužujeme sporné větve), takže ho algoritmus po konečně mnoha krocích zkonstruuje
Nerozhodnutelnost predikátové logiky
mějme formuli φ ve tvaru (∃x1)…(∃xn)p(x1,…,xn)=q(x1,…,xn)
kde p a q jsou polynomy s přirozenými koeficienty
věta (bez důkazu): problém existence celočíselného řešení dané diofantické rovnice s celočíselnými koeficienty je (algoritmicky) nerozhodnutelný
důsledek: neexistuje algoritmus, který by pro danou dvojici polynomů s přirozenými koeficienty rozhodl, zda mají přirozené řešení, tj. zda platí N⊨φ
důkaz důsledku
každé celé číslo lze vyjádřit jako rozdíl dvojice přirozených čísel
každé přirozené číslo lze vyjádřit jako součet čtyř čtverců
každou diofantickou rovnici lze tedy transformovat na rovnici z důsledku a naopak
věta: neexistuje algoritmus, který by pro danou vstupní formuli φ rozhodl, zda je logicky platná (tedy zda je tautologie)
důkaz
dle tvrzení 10.2.3 (bez důkazu) platí N⊨φ⟺Q⊢φ
Q … Robinsonova aritmetika
tvrzení se dá použít, protože φ je existenční formule a hledáme přirozená řešení
konjunkci (generálních uzávěrů) všech axiomů Q označme jako ψQ
zřejmě Q⊢φ⟺ψQ⊢φ⟺⊢ψQ→φ⟺⊨ψQ→φ
poslední ekvivalence dle věty o úplnosti
tedy N⊨φ⟺⊨ψQ→φ
pokud by existoval algoritmus rozhodující logickou platnost, bylo by to ve sporu s důsledkem výše