Definice: Jazyk je neprázdná množina výrokových proměnných , prvkům říkáme prvovýroky nebo atomické výroky. Kromě těchto proměnných máme také logické symboly a závorky, pro jazyky predikátové logiky přidáváme ještě
Definice: Výrok v jazyce je prvek množiny definované jako nejmenší množina splňující
- ,
- ,
- .
Vzhledem k tomu, že ne každý prvovýrok musí být obsáhnut v každém výroku tak definujeme , která zobrazí na množinu obsahující prvovýroky ve .
Definice: Podvýrok (podformule) je podřetězec, který je sám o sobě výrok. Množinu prvovýroků obsažených ve formuli označíme . Např. pro
platí .
Definice: Každá formule má jedinečný syntaktický strom , kde listy jsou atomické výroky a vnitřní uzly jsou unární symbol nebo binární symboly .
Definice: Výskytem proměnné ve formuli , je rozuměno, že existuje list s označením , výskyt je
- vázaný je-li takové i součástí nějakého podstromu začínajícího , kde ,
- volný kdykoliv není vázaný.
Definice: Teorie v jazyce je libovolná množina výrokových formulí . Axiomy teorie jsou prvky .
Definice: Formule je otevřená, pokud neobsahuje žádný kvantifikátor; je to uzavřená (sentence), pokud nemá žádnou volnou proměnnou.
Příklad: je otevřená; je uzavřená; není ani otevřená, ani uzavřená.
Tvary výrokových formulí
Definice: Instance formule na termy je formule
kde každá volná proměnná je nahrazena termem , přičemž se přejmenují vázané proměnné, aby nedošlo ke kolizi.
Definice: Varianta formule je ekvivalentní formule získaná přejmenováním všech vázaných proměnných (α-konverze).
Konjunktivní normální forma (CNF): literál je nebo , pro , klauzule je disjunkce () literálů, formule je konjunkcí () klauzulí (prázdná formule je ).
Disjunktivní normální forma (DNF): elementární konjunkce je konjunkce literálů, formule je disjunkcí elementárních konjunkcí (prázdná formule je ).
Převod do CNF/DNF:
- Odstranění ekvivalencí a implikací:
- Posunutí negací na literály (De Morgan), odstranění dvojitých negací.
- Distributivita:
Použití: SAT solvery běžně vyžadují CNF; rezoluční metoda pracuje na množinové reprezentaci klauzulí v CNF.
Definice: Formule je v prenexní normální formě (PNF) , je-li ve tvaru
kde každý a je otevřená (otevřené jádro formule).
Lemma: (Bublání kvatifikátorů) Označme jako doplňkový kvantifikátor ke . Nechť jsou formule a proměnná není volná ve (kdyby byla tak ji v b.ú.n.o. přejmenujeme). Potom platí
kde všechny jsou sémanticky jasné až na implikaci, kde kvatifikátor je v antecendentu, kdy je nutnost změny kvatifikátoru vzniká jasně z přepisu implikace na disjunkci a sice
Převod do PNF:
- Nahrazení podformulí ekvivalentními dle Lemma o bublání kvatifikátorů
- Přejmenování vázaných proměnných (α-konverze)
- Opakování dokud všechny kvantifikátory neprojdou na začátek
Výsledkem je ekvivalentní formule v PNF.
Navíc z PNF můžeme udělat skolemizací Skolemovu variantu, kde máme jen všeobecné kvatifikátory. Process skolemizace je vlastně postaven na myšlence, že existence proměnné, aby něco splnila je podmíněna všeobecnými proměnnými před ní a tedy nahrazujeme proměnné s existenčními kvantifikátory iterativně zprava doleva za funkce které mají jako vstup proměnné nalevo od nich. Tedy začíná-li formule , tak všechny výskyty se nahradí za a poté se všechny výskyty nahradí , tedy konstantou.