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

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 ¬\neg, ∧\land, ∨\lor, →\rightarrow, ↔\leftrightarrow 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 VFP\mathrm{VF}_{\P} definované následovně:

VFP\mathrm{VF}_{P} je nejmenší množina splňující:

Definice

Vytvořůjící strom

je konečný uspořádanýstrom, jehož vrcholy jsou označeny výroky podle následujících pravidel:

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 nn-ární funkce na 2={0,1}2=\{0,1\}, tj. f:{0,1}n→{0,1}f:\{0,1\}^{n} \rightarrow\{0,1\}.

Definice

Ohodnocení

Ohodnocení prvovýroků je funkce v:P→{0,1}v: \P \rightarrow\{0,1\}, tj. v∈P2v \in{ }^{\P} 2.

Definice

Sémantické pojmy

Výrok φ\varphi je v jazyce P\P (v teorii TT):

Definice

Ekvivalence výroků (teorií), T-ekvivalence

Definice

Model jazyka

Model ve výrokové logice je libovolné ohodnocení v:P→{0,1}v:\P\rightarrow \{0,1\}, které výrokovým proměnným přiřadí hodnotu TRUE nebo FALSE.

Definice

Pravdivostní funkce výroku

Pravdivostní funkce výroku φ\varphi je funkce fφ,P:{0,1}∣P∣→{0,1}f_{\varphi, \P}:\{0,1\}^{\lvert\P\rvert}\rightarrow \{0,1\} definovaná takto:

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 pp prvovýrok, označíme p0p^{0} literál ¬p\neg p a p1p^{1} literál pp. Je-li ll literál, označíme lˉ\bar{l} literál opačný k ll.

Definice

Klauzule

Klauzule je disjunkce literálů. Prázdnou klauzulí rozumíme ⊥\perp.

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 ⊤\top.

Převody do normálových forem

Definice

Elementární konjunkce

Elementární konjunkce je konjunkce literálů, prázdnou konjunkcí je ⊤\top.

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 ⊥\perp.

Definice

k-CNF

Výrok je v k-CNF, je-li v CNF a každá jeho klauzule má nejvýše kk literálů.

Tvrzení

Mějme konečný jazyk P\P a libovolnou množinu modelů M⊂MPM \subset M_{\P}. Potom existuje výrok φDNF\varphi_{DNF} v DNF a výrok φCNF\varphi_{CNF} v CNF takový, že M=MP(φDNF)=MP(φCNF)M = M_{\P}(\varphi_{DNF}) = M_{\P} (\varphi_{CNF}).

Definice

k-SAT

kk-SAT je pro pevné k>0k>0 problém hledání, zda je výrok φvk\varphi \mathrm{v} k-CNF splnitelný.

Definice

Implikační graf

Implikační graf výroku φ\varphi v 2-CNF je orientovaný graf GφG_{\varphi}, v němž

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 P\P je libovolná množina TT výroků z VFPV F_{P}. Výrokům z TT říkáme axiomy teorie TT. Je-li teorie konečná, lze ji nahradit konjunkcí jejích axiomů.

Definice

Model teorie

Model teorie TT nad P\P je ohodnocení v∈M(P)v \in M(\P) (tj. model jazyka), ve kterém platí všechny axiomy z TT, značíme v⊨Tv \models T.

Definice

Třída modelů

Třída modelů TT je MP(T)={v∈M(P)∣v⊨φM^{\P}(T)=\{v \in M(\P) \mid v \models \varphi pro každé φ∈T}\varphi \in T\}.

Definice

Sémantika vzhledem k teorii

Nechť TT je teorie nad P\P. Výrok φ\varphi nad P\P je

Výroky φ\varphi a ψ\psi jsou ekvivalentní v TT ( T-ekvivalentní), pokud každý model teorie TT je modelem φ\varphi právě když je modelem ψ\psi.

Důsledek teorie

Důsledek teorie TT je θP(T)={φ∈VF⁡P∣T⊨φ}\theta^{\P}(T)=\left\{\varphi \in \operatorname{VF}_{\P} \mid T \models \varphi\right\}, tj. množina θP(T)\theta^{\P}(T) všech výroků pravdivých v TT.

Vlastnosti teorií

Nechť TT je teorie nad P\P. Je-li φ\varphi dokazatelná z TT, řekneme, že φ\varphi je věta (teorém) teorie TT. Množinu vět teorie TT označme

Thm⁡P(T)={φ∈VFP∣T⊢φ}.\operatorname{Thm}^{\P}(T)=\left\{\varphi \in \mathrm{VF}_{\P} \mid T \vdash \varphi\right\} .

Výroková teorie TT nad P\P je

Jinými slovy je teorie TT splnitelná (bezesporná), když má model, kompletní, právě když má jediný model, extenze T′T^{\prime}, právě když modely TT jsou podmnožinou modelů T′T^{\prime}, ekvivalentní s T′T^{\prime}, pokud mají stejné modely.

Analýza teorií nad konečně prvovýroky

Nechť TT je bezesporná teorie nad PP, kde ∥P∥=n∈N+\|\P\| = n \in \N^{+}a m=∣MP(T)∣m=\left|M^{\P(T)}\right|. Pak

Formální dokazovací systémy

Ve standardních formálních dokazovacích systémech

Od formálního dokazovacího systému čekáme, že je

Definice

Tablo metoda

Předpokládáme pevný a spočetný jazyk (množina prvovýroků P\P je spočetná). Pak každá teorie nad P\P je spočetná.

Hlavní rysy tablo metody

Vrcholy tabla jsou označeny položkami. Položka je formule s příznakem T/FT / F, 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

Tablo je posloupnost konečných tabel takových, že další tablo vznikne z předchozího pomocí pravidla číslo 2.2 .

Tablo důkaz

Nechť PP je položka na větvi VV tabla τ\tau. Řekneme, že

Tablo důkaz výrokové formule φ\varphi je sporné tablo s položkou FφvF \varphi \mathrm{v} kořeni. Formule φ\varphi je (tablo) dokazatelná, píšeme ⊢φ\vdash \varphi, má-li tablo důkaz.

Zamítnutí formule φ\varphi tablem je sporné tablo s položkou TφvT \varphi \mathrm{v} kořeni. Formule φ\varphi je (tablo) zamítnutelná, má-li zamítnutí tablem, tj. ⊢¬φ\vdash \neg \varphi.

Tablo z teorie

Konečné tablo z teorie TT je binární, položkami značkovaný strom daný předpisem

Tablo z teorie TT je posloupnost konečných tabel z TT takových, že další tablo vznikne z předchozího pomocí pravidla číslo 2 nebo 3.

Tablo důkaz z teorie

Nechť PP je položka na větvi VV tabla τ\tau z teorie TT. Řekneme, že

Tablo důkaz formule φz\varphi \mathrm{z} teorie TT je sporné tablo z TT s položkou FφvF \varphi \mathrm{v} kořeni. Má-li φ\varphi tablo důkaz z TT, je (tablo) dokazatelná zTz T, píšeme T⊢φT \vdash \varphi.

Zamítnutí formule φ\varphi tablem z teorie TT je sporné tablo z TT s položkou TφvT \varphi \mathrm{v} kořeni. Formule φ\varphi je (tablo) zamítnutelná z TT, má-li zamítnutí tablem z TT, tj. T⊢¬φT \vdash \neg \varphi.

Systematické tablo

Konstrukce, která vede vždy k dokončenému tablu.

Nechť RR je položka a T={φ0,φ1,…}T=\left\{\varphi_{0}, \varphi_{1}, \ldots\right\} je konečná či nekonečná teorie.

  1. Ta τ0\tau_{0} vezmi atomické tablo pro RR. Doku to lze, aplikuj následující kroky.
  2. Nechť PP je nejlevější položka v\mathrm{v} co nejmenší úrovni již daného tabla τn\tau_{n}, která není redukovaná na nějaké bezesporné větvi procházející skrze PP.
  3. Za τn′\tau_{n}^{\prime} vezmi tablo vznikl z τn\tau_{n} přidáním atomického tabla pro PP na každou bezespornou větev skrze PP. (Neexistuje-li PP, vezmi τn′=τn\tau_{n}^{\prime}=\tau_{n}.)
  4. Za τn+1\tau_{n+1} vezmi tablo vzniklé z τn′\tau_{n}^{\prime} přidáním TφnT \varphi_{n} na každou bezespornou větev neobsahující TφnT \varphi_{n}. (Neexistuje-li φn\varphi_{n}, vezmi τn+1=τn′\tau_{n+1}=\tau_{n}^{\prime}.)

Systematické tablo z teorie TT pro položku RR je výsledkem uvedené konstrukce.

Rezoluční metoda.

Hlavní rysy rezoluční metody

Definice

Klauzule

Klauzule CC je konečná množina literálů (“tvořících disjunkci”). Prázdná klauzule se značí □\square, nikdy není splněna (neobsahuje splněný literál).

Definice

Formule

Formule SS je množina (i nekončená) klauzulí (“tvořících konjunkci”). Prázdná formule ∅\emptyset je vždy splněna (neobsahuje nesplněnou klauzuli). Nekonečné formule reprezentují nekonečné teorie.

(Částečné) ohodnocení

Částečné ohodnocení V\mathcal{V} je libovolná konzistentní množina literálů, tj. neobsahující dvojici opačných literálů. Ohodnocení V\mathcal{V} je totální, obsahuje-li pozitivní či negativní literál od každé výrokové proměnné.

Definice

Rezolventa

Nechť C1,C2C_{1}, C_{2} jsou klauzule a l∈C1,lˉ∈C2l \in C_{1}, \bar{l} \in C_{2} pro nějaký literál ll. Pak z C1C_{1} a C2C_{2} odvod’ pres literál ll klauzuli CC, kterou nazveme rezolventa, kde

C=(C1\{l})∪(C2\{lˉ}).C=\left(C_{1} \backslash\{l\}\right) \cup\left(C_{2} \backslash\{\bar{l}\}\right) .

Definice

Rezoluční důkaz

Formální popis rezolučního důkazu.

Rezoluční strom

Rezoluční strom klauzule CC z formule SS je konečný binární strom s vrcholy označenými klauzulemi takový, že

Rezoluční uzávěr

Rezoluční uzávěr R(s)\mathcal{R}(s) formule SS je nejmenší induktivní množina definovaná

Lineární rezoluce

Rezoluce jako lineární důkaz.

LI-rezoluce

Pro Hornovy formule můžeme lineární rezoluci dál omezit.

LI-rezoluce (linear input) z formule SS je lineární rezoluce z SS, ve které je každá boční klauzule BiB_{i} ze (vstupní) formule SS.


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 SS má danou aritu - ar⁡(S)∈N\operatorname{ar}(S) \in \N.

Definice

Arita

Počet parametrů funkce.

Příklady:

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 ⟨R,F⟩\langle\mathcal{R}, \mathcal{F}\rangle 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 L=⟨R,F⟩L=\langle\mathcal{R}, \mathcal{F}\rangle a uvedením, zda jde o jazyk s rovností či bez. Jazyk musí obsahovat alespoň jeden relační symbol (mimologický či rovnost).

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 LL značíme Term⁡L\operatorname{Term}_{L}.

Termy jazyka LL jsou dány induktivně

Atomická formule

Atomická formule je nejjednodušší formule. Atomická formule jazyka LL je výraz R(t0,…,tn−1)R\left(t_{0}, \ldots, t_{n-1}\right), kde RR je nn-ární relační symbol jazyka LL a t0,…,tn−1t_{0}, \ldots, t_{n-1} jsou termy jazyka LL. Množinu všech atomických formulí jazyka LL značíme AFmL\mathrm{AFm}_{L}.

Formule

Formule jazyka LL jsou výrazy dané induktivně každá atomická formule jazyka LL je formule, jsou-li φ,ψ\varphi, \psi formule, pak i následující výrazy jsou formule

(¬φ),(φ∧ψ),(φ∨ψ),(φ→ψ),(φ↔ψ),(\neg \varphi),(\varphi \wedge \psi),(\varphi \vee \psi),(\varphi \rightarrow \psi),(\varphi \leftrightarrow \psi),

je-li φ\varphi formule a xx proměnná, jsou výrazy ((∀x)φ)((\forall x) \varphi) a ((∃x)φ)((\exists x) \varphi) formule, každá formule vznikne konečným užitím předchozích pravidel.

Množinu všech formulí jazyka LL značíme FmL\mathrm{Fm}_{L}.

Výskyt proměnné

Nechť φ\varphi je formule a xx proměnná.

Otevřená a uzavřená formule

Formule je otevřená, pokud neobsahuje žádný kvantifikátor. Pro množinu OFmL\mathrm{OFm}_{L} všech otevřených formulí jazyka LL platí AFmF⊊OFmL⊊FmL\mathrm{AFm}_{F} \subsetneq \mathrm{OFm}_{L} \subsetneq \mathrm{Fm}_{L}.

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 tt, požadujeme, aby nově vzniklá formule říkala o termu tt totéž, co předtím o proměnné.

Varianty

Kvantifikované proměnné lze za určitých podmínek přejmenovat tak, že vznikne ekvivalentní formule. Nechť (Qx)ψ(Q x) \psi je podformule ve φ\varphi, kde QQ značí ∀\forall čí ∃\exists, a yy je proměnná, tak že

  1. yy je substituovatelná za xx do ψ\psi, a
  2. yy nemá volný výskyt vψ\mathrm{v} \psi.

Nahrazením podformule (Qx)ψ(Q x) \psi za (Qy)ψ(x/y)(Q y) \psi(x / y) vznikne varianta formule φ\varphi podformuli (Qx)ψ(Q x) \psi.

Struktura pro jazyk

Nechť L=⟨R,F⟩L=\langle\mathcal{R}, \mathcal{F}\rangle je jazyk a AA je neprázdná množina.

Struktura pro jazyk LL (L-struktura) je trojice A=⟨A,RA,FA⟩\mathcal{A}=\left\langle A, \mathcal{R}^{A}, \mathcal{F}^{A}\right\rangle, kde

Strukturu pro jazyk LL nazýváme také model jazyka LL. Třída všech modelů se značí M(L)M(L).

Hodnota termu

Nechť tt je term jazyka L=⟨R,F⟩L=\langle\mathcal{R}, \mathcal{F}\rangle a A=⟨A,RA,FA⟩\mathcal{A}=\left\langle A, \mathcal{R}^{A}, \mathcal{F}^{A}\right\rangle je struktura pro LL.

xA[e]=e(x) pro kazˇdeˊ x∈ Var, (f(t0,…,tn−1))A[e]=fA(t0A[e],…,tn−1A[e]) pro kazˇdeˊ f∈F.\begin{aligned} x^{\mathcal{A}}[e] &=e(x) \text { pro každé } x \in \text { Var, } \\ \left(f\left(t_{0}, \ldots, t_{n-1}\right)\right)^{\mathcal{A}}[e] &=f^{A}\left(t_{0}^{\mathcal{A}}[e], \ldots, t_{n-1}^{\mathcal{A}}[e]\right) \text { pro každé } f \in \mathcal{F} . \end{aligned}

Hodnota atomické formule

Nechť φ\varphi je atomická formule tvaru R(t0,…,tn−1)R\left(t_{0}, \ldots, t_{n-1}\right) jazyka L=⟨R,F⟩L=\langle\mathcal{R}, \mathcal{F}\rangle a A=⟨A,RA,FA⟩\mathcal{A}=\left\langle A, \mathcal{R}^{A}, \mathcal{F}^{A}\right\rangle je struktura pro LL.

HatA(R(t0,…,tn−1))[e]=1, pokud (t0A[e],…,tn−1A[e])∈RA, jinak 0,H_{a t}^{\mathcal{A}}\left(R\left(t_{0}, \ldots, t_{n-1}\right)\right)[e]=1, \text { pokud }\left(t_{0}^{\mathcal{A}}[e], \ldots, t_{n-1}^{\mathcal{A}}[e]\right) \in R^{A}, \text { jinak } 0,

přičemž =A={ }^{\mathcal{A}} je Id⁡A\operatorname{Id}_{A}, tj. HatA(t0=t1)[e]=1H_{a t}^{\mathcal{A}}\left(t_{0}=t_{1}\right)[e]=1 pokud t0A[e]=t1A[e]t_{0}^{\mathcal{A}}[e]=t_{1}^{\mathcal{A}}[e], jinak 0 .

Platnost při ohodnocení

Formule φ\varphi je pravdivá (platí) ve struktuře A\mathcal{A} při ohodnocení ee, pokud HA(φ)[e]=1H^{\mathcal{A}}(\varphi)[e]=1. Pak píseme A⊨φ[e]\mathcal{A} \models \varphi[e], v opačném případě A⊭φ[e]\mathcal{A} \not \models \varphi[e].

Platnost ve struktuře

Nechť φ\varphi je formule jazyka LL a A\mathcal{A} je struktura pro LL.

Platnost v\mathbf{v} teorii

Teorie jazyka LL je libovolná množina TT formulí jazyka LL (tzv. axiomů). Model teorie TT je LL-struktura A\mathcal{A} taková, že A⊨φ\mathcal{A} \models \varphi pro každé φ∈T\varphi \in T, značíme A⊨T\mathcal{A} \models T. Třída modelů teorie TT je M(T)={A∈M(L)∣A⊨T}M(T)=\{\mathcal{A} \in M(L) \mid \mathcal{A} \models T\}.

θL(T)={φ∈FmL∣T⊨φ a φ je sentence }.\theta^{L}(T)=\left\{\varphi \in \mathrm{Fm}_{L} \mid T \models \varphi \text { a } \varphi \text { je sentence }\right\} .

Vlastnosti teorií

Nechť TT je teorie jazyka LL. Je-li sentence φ\varphi pravdivá v TT, říkáme, že φ\varphi je věta teorie TT. Množinu vět teorie TT značíme Thm⁡L(T)={φ∈Fm⁡L∣T⊢φ}\operatorname{Thm}^{L}(T)=\left\{\varphi \in \operatorname{Fm}_{L} \mid T \vdash \varphi\right\}. Teorie jazyka LL je sémanticky (syntakticky)

Struktury A,B\mathcal{A}, \mathcal{B} pro jazyk LL jsou elementárně ekvivalentní, značeno A≡B\mathcal{A} \equiv \mathcal{B}, platí-li v nich stejné formule.

Nechť TT a T′T^{\prime} jsou teorie jazyka LL. Teorie TT je (sémanticky)

Podstruktura.

Nechť A=⟨A,RA,FA⟩\mathcal{A}=\left\langle A, \mathcal{R}^{A}, \mathcal{F}^{A}\right\rangle a B=⟨B,RB,FB⟩\mathcal{B}=\left\langle B, \mathcal{R}^{B}, \mathcal{F}^{B}\right\rangle jsou struktury pro jazyk L=⟨R,F⟩L=\langle\mathcal{R}, \mathcal{F}\rangle.

Řekneme, že B\mathcal{B} je (indukovaná) podstruktura A\mathcal{A}, značeno B⊆A\mathcal{B} \subseteq \mathcal{A}, pokud

  1. B⊆AB \subseteq A,
  2. RB=RA∩Bar⁡(R)R^{B}=R^{A} \cap B^{\operatorname{ar}(R)} pro každé R∈RR \in \mathcal{R},
  3. fB=fA∩(Bar⁡(f)×B)f^{B}=f^{A} \cap\left(B^{\operatorname{ar}(f)} \times B\right), tj. fB∣Bar⁡(f)f^{B} \mid B^{\operatorname{ar}(f)}, pro každé f∈Ff \in \mathcal{F}.

Množina C⊆AC \subseteq A je doménou nějaké podstruktury struktury A\mathcal{A}, právě když CC je uzavřená na všechny funkce struktury A\mathcal{A} (včetně konstant). Pak příslušnou podstrukturu značíme A⌈C\mathcal{A}\lceil C a řkáme, že je to restrikce (parcializace) struktury A\mathcal{A} na CC. Množina C⊆AC \subseteq A je uzavřená na funkcif : An→AA^{n} \rightarrow A, pokud f(x0,…,xn−1)∈Cf\left(x_{0}, \ldots, x_{n-1}\right) \in C pro každé x0,…,xn−1∈Cx_{0}, \ldots, x_{n-1} \in C.

Generovaná podstruktura, expanze, redukt.

Nechť A=⟨A,RA,FA⟩\mathcal{A}=\left\langle A, \mathcal{R}^{A}, \mathcal{F}^{A}\right\rangle je struktura a X⊆AX \subseteq A. Označme BB nejmenší podmnožinu množiny AA obsahující XX, která je uzavřená na všechny funkce struktury A\mathbb{A} (včetně konstant). Pak strukturu A∣B\mathcal{A} \mid B značíme rovněž A⟨X⟩\mathcal{A}\langle X\rangle a podstruktura řkáme, že je to A\mathcal{A} generovaná množinou XX.

Nechť A′\mathcal{A}^{\prime} je struktura pro jazyk L′L^{\prime} a L⊆L′L \subseteq L^{\prime} je jazyk. Odebráním realizací symbolů, jež nejsou v LL, získáme z A′\mathcal{A}^{\prime} strukturu A\mathcal{A}, kterou nazýváme redukt struktury A′\mathcal{A}^{\prime} na jazyk LL. Obráceně, A′\mathcal{A}^{\prime} je expanze struktury A\mathcal{A} do jazyka L′L^{\prime}.

Definovatelné množiny

Množiny, které lze v dané struktuře definovat.

  1. Množina definovaná formulí φ(x1,…,xn)\varphi\left(x_{1}, \ldots, x_{n}\right) ve struktuře A\mathcal{A} je množina

    φA(x1,…,xn)={(a1,…,an)∈An∣A⊨φ[e(x1/a1,…,xn/an)]}.\varphi^{\mathcal{A}}\left(x_{1}, \ldots, x_{n}\right)=\left\{\left(a_{1}, \ldots, a_{n}\right) \in A^{n} \mid \mathcal{A} \models \varphi\left[e\left(x_{1} / a_{1}, \ldots, x_{n} / a_{n}\right)\right]\right\} .

    Zkráceně se dá x1,…,xnx_{1}, \ldots, x_{n} zapsat jako xˉ\bar{x}, obdobně pro aa. Číslo nn je potom ∥xˉ∥\|\bar{x}\|.

  2. Množina definovaná formulí φ(xˉ,yˉ)\varphi(\bar{x}, \bar{y}) s parametry bˉ∈A∥yˉ∥\bar{b} \in A^{\|\bar{y}\|} ve struktuře A\mathcal{A} je

    φA,bˉ(xˉ,yˉ)={aˉ∈A∥xˉ∥∣A⊨φ[e(xˉ/aˉ,yˉ,bˉ)]}.\varphi^{\mathcal{A}, \bar{b}}(\bar{x}, \bar{y})=\left\{\bar{a} \in A^{\|\bar{x}\|} \mid \mathcal{A} \models \varphi[e(\bar{x} / \bar{a}, \bar{y}, \bar{b})]\right\} .
  3. Pro strukturu A\mathcal{A}, množinu B⊆AB \subseteq A a n∈Nn \in \N označme Df⁡n(A,B)\operatorname{Df}^{n}(\mathcal{A}, B) třídu všech množin D⊆AnD \subseteq A^{n} definovatelných ve struktuře As\mathcal{A} \mathrm{s} parametry z BB.

Tablo metoda v predikátové logice

Předpoklady:

  1. Dokazovaná formule φ\varphi je sentence. Není-li φ\varphi sentence, můžeme ji nahradit za její generální uzávěr φ′\varphi^{\prime}, nebot pro každou teorii TT platí

    T⊨φ⇔T⊨φ′.T \models \varphi \Leftrightarrow T \models \varphi^{\prime} .
  2. Dokazujeme z teorie v uzavřeném tvaru, tj. každý axiom je sentence. Nahrazením každého axiomu ψ\psi za jeho generální uzávér ψ′\psi^{\prime} zíkáme ekvivalentní teorii, nebot pro každou strukturu A\mathcal{A} (daného jazyka LL ),

    A⊨ψ⇔A⊨ψ′.\mathcal{A} \models \psi \Leftrightarrow \mathcal{A} \models \psi^{\prime} .
  3. Jazyk LL je spočetný. Pak každá teorie nad LL je spočetná. Označme LCL_{C} rozšíření jazyka LL o nové konstantní symboly c0,c1,…c_{0}, c_{1}, \ldots (početně nekonečně mnoho). Platí, že konstantních termů jazyka LCL_{C} je spočetně. Nechť’ tit_{i} označuje ii-tý konstantní term (v pevně zvoleném očíslování).

Nová atomická tabla, kde φ\varphi je libovolná formule jazyka LCL_{C} ve volné proměnné x,tx, t je libovolný konstantní term jazyka LCL_{C} a cc je nový konstantní symbol z LC\LL_{C} \backslash L.

(#) Pokud mám formuli T(∀x)φ(x)T(\forall x) \varphi(x) nebo F(∃x)φ(x)F(\exists x) \varphi(x), za xx zvolím libovolný konstantní term tt a “zruším” kvantifikátor. Pravdivostní hodnota zůstává zachována.

(*) Pokud mám formuli F(∀x)φ(x)F(\forall x) \varphi(x) nebo T(∃x)φ(x)T(\exists x) \varphi(x), za xx dosadím novou konstantu cc a “zruším” kvantifikátor. Pravdivostní hodnota zůstává zachována. Konstantní symbol cc reprezentuje svědky položek, do kterých je dosazuji.

Tablo z teorie

Konečné tablo z teorie TT je binární, položkami značkovaný strom daný předpisem

Tablo z teorie TT je posloupnost konečných tabel z TT 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

Dokončené tablo

Chceme, aby dokončená bezesporná větev poskytovala protipříklad.

Výskyt položky PP ve vrcholu vv tabla τ\tau je ii-tý, pokud vv má vτ\mathrm{v} \tau právě i−1i-1 předků označených PP a je redukovaný na větvi VV skrze vv, pokud

Nechť VV je větev tabla τ\tau z teorie TT. Řekneme, že větev VV je dokončená, je-li sporná, nebo každý výskyt položky na VV je redukovaný na VV a navíc obsahuje TφT \varphi pro každé φ∈T\varphi \in T. Rekneme, že tablo τ\tau je dokončené, pokud je každá jeho větev dokončená.

Konstrukce systematického tabla

Nechť RR je položka τ\tau a T={φ0,φ1,…}T=\left\{\varphi_{0}, \varphi_{1}, \ldots\right\} je (konečná i nekonečná) teorie.

  1. Za τ0\tau_{0} vezmi atomické tablo pro RR. VV případě (∗)(*) vezmi lib. c∈LC\Lc \in L_{C} \backslash L, v případě () za tt vezmi term t1t_{1}. Dokud to lze, aplikuj následující kroky.
  2. Nechť vv je nejlevější vrchol v co nejmenší úrovni již daného tabla τn\tau_{n} obsahující výskyt položky PP, který není redukovaný na nějaké bezesporné větvi skrze vv. (Neexistuje-li vv, vezmi τn′=τn\tau_{n}^{\prime}=\tau_{n} a jdi na (4).)

  3. a. Není-li PP tvaru (#), za τn′\tau_{n}^{\prime} vezmi tablo vzniklé zτn\mathrm{z} \tau_{n} přidáním atomického tabla pro PP na každou bezespornou větev skrze vv. V případě (∗)\left({ }^{*}\right) za cc vezmi cic_{i} pro co nejmenší možné ii.
    b. Je-li PP tvaru (#) a ve vv má ii-tý výskyt, ta τn′\tau_{n}^{\prime} vezmi tablo vzniklé z τn\tau_{n} připojením atomického tabla pro PP na každou bezespornou větev skrze vv, přičemž za tt vezmi term tit_{i}.
  4. Za τn+1\tau_{n+1} vezmi tablo vzniklé z τn′\tau_{n}^{\prime} přidáním TφnT \varphi_{n} na každou bezespornou větev neobsahující TφnT \varphi_{n}. (Neexistuje-li φn\varphi_{n}, vezmi τn+1=τn′\tau_{n+1}=\tau_{n}^{\prime}.)

Systematické tablo z TT pro RR je výsledkem uvedené konstrukce.

Axiomy rovnosti

Axiomy rovnosti pro jazyk LL s rovností jsou

Tablo důkaz z teorie TT jazyka LL s rovností je tablo důkaz z teorie T∗T^{*}, kde T∗T^{*} je rozšír̃ení teorie TT o axiomy rovnosti pro LL (resp. jejich generální uzávěry).

Kongruence a faktostruktura

Nechť ∼\sim je ekvivalence na A,f:An→AA, f: A^{n} \rightarrow A a R⊆AnR \subseteq A^{n}, kde n∈Nn \in \N. Pak ∼\sim je

x1∼y1∧⋯∧xn∼yn⇒f(x1,…,xn)∼f(y1,…,yn),x_{1} \sim y_{1} \wedge \cdots \wedge x_{n} \sim y_{n} \Rightarrow f\left(x_{1}, \ldots, x_{n}\right) \sim f\left(y_{1}, \ldots, y_{n}\right), x1∼y1∧⋯∧xn∼yn⇒(R(x1,…,xn)⇔R(y1,…,yn)).x_{1} \sim y_{1} \wedge \cdots \wedge x_{n} \sim y_{n} \Rightarrow\left(R\left(x_{1}, \ldots, x_{n}\right) \Leftrightarrow R\left(y_{1}, \ldots, y_{n}\right)\right) .

Nechť ekvivalence ∼\sim ma AA je kongruence pro každou funkci i relaci struktury A=⟨A,FA,RA⟩\mathcal{A}=\left\langle A, \mathcal{F}^{A}, \mathcal{R}^{A}\right\rangle. Faktostruktura (podilová struktura) struktury A\mathcal{A} dle ∼\sim je struktura A/∼=⟨A/∼,FA/∼,RA/∼⟩\mathcal{A} / \sim=\left\langle A / \sim, \mathcal{F}^{A / \sim}, \mathcal{R}^{A / \sim}\right\rangle, kde fA/∼([x1]∼,…,[xn]∼)=[fA(x1,…,xn)]∼f^{A / \sim}\left(\left[x_{1}\right]_{\sim}, \ldots,\left[x_{n}\right]_{\sim}\right)=\left[f^{A}\left(x_{1}, \ldots, x_{n}\right)\right]_{\sim} a RA/∼([x1]∼,…,[xn]∼)⇔RA(x1,…,xn)R^{A / \sim}\left(\left[x_{1}\right]_{\sim}, \ldots,\left[x_{n}\right]_{\sim}\right) \Leftrightarrow R^{A}\left(x_{1}, \ldots, x_{n}\right) pro každé f∈F,R∈Rf \in \mathcal{F}, R \in \mathcal{R} a x1,…,xn∈Ax_{1}, \ldots, x_{n} \in A, tj. funkce a relace jsou definované z A\mathcal{A} pomocí reprezentantů.

Kanonický model

Z\mathrm{Z} bezesporné větve VV dokončeného tabla vyrobíme model, který se shoduje s VV. Vyjdeme z dostupných syntaktických objektů - konstantních termů.

Nechť VV je bezesporná větev dokončeného tabla teorie TT jazyka L=⟨F,R⟩L=\langle\mathcal{F}, \mathcal{R}\rangle. Kanonický model z větve VV je LCL_{C}-struktura A=⟨A,FA,RA⟩\mathcal{A}=\left\langle A, \mathcal{F}^{A}, \mathcal{R}^{A}\right\rangle, kde

Poznámka: Výraz f(s1,…,sn)f\left(s_{1}, \ldots, s_{n}\right) ve druhém bodě je konstantní term jazyka LCL_{C}, tedy prvek z AA.

Kanonický model s rovností

Je-li jazyk LL s rovností, T∗T^{*} označuje rozšíření TT o axiomy rovnosti pro LL.

Požadujeme-li, aby rovnost byla interpretována jako identita, kanonický model A\mathcal{A} z bezesporné větve VV dokončeného tabla T∗T^{*} musíme faktorizovat dle =A=^{A}.

Dle třetí definice, v modelu A\mathcal{A} z VV pro relaci =A=^{A} platí, že pro každé s1,s2∈As_{1}, s_{2} \in A,

s1=As2⇔T(s1=s2) je polozˇka na V.s_{1}={ }^{A} s_{2} \Leftrightarrow T\left(s_{1}=s_{2}\right) \text { je položka na } V .

Jelikož je VV dokončená a obsahuje axiomy rovnosti, relace =A=^{A} je ekvivalence na AA a navíc kongruence pro všechny funkce a relace vA\mathrm{v} \mathcal{A}.

Kanonický model s rovností z větve VV je faktostruktura A/=A\mathcal{A} /=^{A}.

Extenze o definovaný relační symbol

Nechť TT je teorie jazyka L,ψ(x1,…,xn)L, \psi\left(x_{1}, \ldots, x_{n}\right) je formule jazyka LL ve volných proměnných x1,…,xnx_{1}, \ldots, x_{n} a L′L^{\prime} je rozšíření LL o nový nn-ární relační symbol RR.

Extenze teorie TT o definici RR formulí ψ\psi je teorie T′T^{\prime} vzniklá přidáním axiomu

R(x1,…,xn)↔ψ(x1,…,xn).R\left(x_{1}, \ldots, x_{n}\right) \leftrightarrow \psi\left(x_{1}, \ldots, x_{n}\right) .

Každý model teorie TT lze jednoznačně expandovat na model T′,T′T^{\prime}, T^{\prime} je potom konzervativní extenze TT.

Extenze o definovaný funkční symbol

Nechť TT je teorie jazyka LL a pro formuli ψ(x1,…,xn,y)\psi\left(x_{1}, \ldots, x_{n}, y\right) jazyka LL ve volných proměnných x1,…,xn,yx_{1}, \ldots, x_{n}, y platí

T⊨(∃y)ψ(x1,…,xn,y) (existence) T⊨ψ(x1,…,xn,y)∧ψ(x1,…,xn,z)→y=z (jednoznacˇnost) \begin{aligned} &T \models(\exists y) \psi\left(x_{1}, \ldots, x_{n}, y\right) \text { (existence) } \\ &T \models \psi\left(x_{1}, \ldots, x_{n}, y\right) \wedge \psi\left(x_{1}, \ldots, x_{n}, z\right) \rightarrow y=z \text { (jednoznačnost) } \end{aligned}

Označíme L′L^{\prime} rozšíření LL o nový nn-ární funkční symbol ff.

Extenze teorie TT o definici ff formulí ψ\psi je teorie T′T^{\prime} vzniklá přidáním axiomu

f(x1,…,xn)=y↔ψ(x1,…,xn).f\left(x_{1}, \ldots, x_{n}\right)=y \leftrightarrow \psi\left(x_{1}, \ldots, x_{n}\right) .

Každý model teorie TT lze jednoznačně expandovat na model T′,T′T^{\prime}, T^{\prime} je potom konzervativní extenze TT.

Extenze o definice

Teorie T′T^{\prime} jazyka L′L^{\prime} je extenze teorie TT jazyka LL o definice, pokud vznikla z TT postupnou extenzí o definici relačního či funkčního symbolu.

Ekvisplnitelnost

Problém splnitelnosti lze redukovat na otevřené teorie.

K teorii TT nalezneme ekvisplnitelnou teorii následovně:

  1. Axiomy TT nahradíme za ekvivalentní formule v prenexním tvaru.
  2. Pomocí nových funkčních symbolů je převedeme na univerzální formule, tzv. Skolemovy varianty, čímž dostaneme ekvisplnitelnou teorii.
  3. Jejich otevřená jádra tvoří hledanou teorii.

Vytýkání kvantifikátorů

Pro každé formule φ,ψ\varphi, \psi takové, že xx není volná ve formuli ψ\psi,

⊨¬(Qx)φ↔(Qˉx)¬φ⊨((Qx)φ∧ψ)↔(Qx)(φ∧ψ)⊨((Qx)φ∨ψ)↔(Qx)(φ∨ψ)⊨((Qx)φ→ψ)↔(Qˉx)(φ→ψ)⊨(ψ→(Qx)φ)↔(Qx)(ψ→φ)\begin{aligned} &\models \neg(Q x) \varphi \leftrightarrow(\bar{Q} x) \neg \varphi \\ &\models((Q x) \varphi \wedge \psi) \leftrightarrow(Q x)(\varphi \wedge \psi) \\ &\models((Q x) \varphi \vee \psi) \leftrightarrow(Q x)(\varphi \vee \psi) \\ &\models((Q x) \varphi \rightarrow \psi) \leftrightarrow(\bar{Q} x)(\varphi \rightarrow \psi) \\ &\models(\psi \rightarrow(Q x) \varphi) \leftrightarrow(Q x)(\psi \rightarrow \varphi) \end{aligned}

Skolemova varianta

Nechť φ\varphi je sentence jazyka LL v prenexním normálním tvaru, y1,…,yny_{1}, \ldots, y_{n} jsou existenčně kvantifikované proměnné ve φ\varphi (v tomto pořadí) a pro každé i≤ni \leq n nechť x1,…,xnix_{1}, \ldots, x_{n_{i}} jsou univerzálně kvantifikované proměnné před yiy_{i}. Označme L′L^{\prime} rozšírení LL o nové nin_{i}-ární symboly fif_{i} pro každé i≤n.i \leq n .

Nechť φS\varphi_{S} je formule jazyka L′L^{\prime}, jež vznikne z formule φ\varphi odstraněním (∃yi)\left(\exists y_{i}\right) z jejího prefixu a nahrazením každého výskytu proměnné yiy_{i} za term fi(s1,…,xni)f_{i}\left(s_{1}, \ldots, x_{n_{i}}\right). Pak formule φS\varphi_{S} se nazývá Skolemova varianta formule φ\varphi.

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 TT v konstantních termech.

Herbrandův model

Nechť’ L=⟨R,F⟩L=\langle\mathcal{R}, \mathcal{F}\rangle je jazyk s alespoň jedním konstantním symbolem. (Pokud je třeba, co LL přidáme nový.)

Rezoluční metoda vv predikátové logice

Stručný popis RM v PL:

Substituce

Vlastnosti substitucí:

Zadefinujeme στ\sigma \tau tak, aby E(στ)=(Eσ)τE(\sigma \tau)=(E \sigma) \tau pro každý výraz EE.

Unifikace

Nechť S={E1,…,En}S=\left\{E_{1}, \ldots, E_{n}\right\} je konečná množina výrazů.

Obecné rezoluční pravidlo

Nechť klauzule C1,C2C_{1}, C_{2} neobsahují stejnou proměnnou a jsou ve tvaru

C1=C1′⊔{A1,…,An},C2=C2′⊔{¬B1,…,¬Bm},C_{1}=C_{1}^{\prime} \sqcup\left\{A_{1}, \ldots, A_{n}\right\}, C_{2}=C_{2}^{\prime} \sqcup\left\{\neg B_{1}, \ldots, \neg B_{m}\right\},

kde S={A1,…,An,B1,…,Bm}S=\left\{A_{1}, \ldots, A_{n}, B_{1}, \ldots, B_{m}\right\} lze unifikovat a n,m≥1n, m \geq 1. Pak klauzule C=C1′σ∪C2′σC=C_{1}^{\prime} \sigma \cup C_{2}^{\prime} \sigma, kde σ\sigma je nejobecnější unifikace pro SS, je rezolventa klauzulí C1C_{1} a C2C_{2}.