Sémantika PL1 Interpretace, modely Přednáška 4 Sémantika PL1 Interpretace, modely
Pravdivost formule, interpretace, ohodnocení Otázka „je formule A pravdivá?“ má tedy smysl až tehdy, když dodáme v „interpretaci a při ohodnocení ...“. Interpretační struktura je n-tice: U, R1,...,Rn, F1,...,Fm, kde F1,...,Fm jsou funkce přiřazené funkčním symbolům formule a R1,...,Rn jsou relace přiřazené predikátovým symbolům. Jak určíme pravdivost formule v interpretační struktuře, či zkráceně v interpretaci?
Pravdivost formule, Definice 3.1.5 interpretace, ohodnocení Vyhodnocujeme formuli zevnitř: nejdříve určíme prvky univerza označené termy, pak pravdivostní hodnotu atomických formulí a nakonec pravdivostní hodnotu složené formule Vyhodnocení termů: e je valuace (ohodnocení), která každé individuové proměnné přiřazuje prvek univerza: e(x) U. Ohodnocením e termů indukovaným ohodnocením proměnných e, je prvek univerza, který je induktivně definován takto: e(x) = e(x) e(f (t1, t2,...,tn)) = F (e(t1), e(t2),...,e(tn)), kde F je funkce přiřazená v dané interpretaci funkčnímu symbolu f.
Pravdivost formule, Definice 3.1.5 interpretace, ohodnocení Vyhodnocení pravdivostní hodnoty formule Atomické: |=I P(t1,...,tn) [e] – formule je pravdivá v I při ohodnocení e, jestliže platí e(t1), e(t2),...,e(tn) R, kde R je relace přiřazená symbolu P (říkáme také R je obor pravdivosti P) Výrokově-logicky složené, tj. A, A B, A B, A B, A B, dtto VL Tvaru xA(x), xA(x): |=I xA(x)[e], jestliže pro libovolné individuum i U platí |=I A[e(x/i)], kde e(x/i) je valuace stejná jako e až na to, že přiřazuje proměnné x individuum i |=I xA(x)[e], jestliže existuje alespoň jedno individuum i U takové, že platí |=I A[e(x/i)], kde e(x/i) ...
Kvantifikátory Z definice kvantifikátorů je zřejmé, že nad konečným univerzem U = {a1,…,an}, platí následující ekvivalence formulí: x A(x) A(a1) … A(an) x A(x) A(a1) … A(an) A tedy všeobecný kvantifikátor je zobecněním konjunkce a existenční zobecnění disjkunkce a zjevně platí: x A(x) x A(x), x A(x) x A(x) de Morganovy zákony
Splnitelnost a pravdivost v interpretaci Formule A je splnitelná v interpretaci I, jestliže existuje ohodnocení e proměnných takové, že platí |=I A[e]. Formule A je pravdivá v interpretaci I, značíme |=I A, jestliže pro všechna možná ohodnocení e platí, že |=I A[e]. Model formule A je interpretace I, ve které je A pravdivá (tj. pro všechna ohodnocení volných proměnných). Formule A je splnitelná, jestliže existuje interpretace I, ve které je splněna, tj. jestliže existuje interpretace I a valuace e takové, že |=I A[e]. Formule A je tautologií (logicky pravdivá), značíme |= A, jestliže je pravdivá v každé interpretaci. Formule A je kontradikcí, jestliže neexistuje interpretace I, která by formuli A splňovala, tj. neexistuje interpretace a valuace, ve které by byla A pravdivá: |I A[e].
Splnitelnost a pravdivost v interpretaci A: x P(f(x), x) B: x P(f(x), x) C: P(f(x), x) Interpretace: U=N, f x2, P relace > Formule C je v N, >, x2 splněna, ale není v ní pravdivá. pro e(x) = 0, e(x) = 1 není 0,0, 1,1 prvkem >, ale pro e(x) = 2, e(x) = 3, atd., jsou dvojice 4,2, 9,3 prvkem >. Formule B je v N, x2, > pravdivá, Formule A je v N, x2, > nepravdivá
Splnitelnost a pravdivost v interpretaci Formule A(x) s volnou proměnnou x Je-li A(x) v I pravdivá, pak je |=I x A(x) Je-li A(x) v I splněna, pak je |=I x A(x). Formule P(x) Q(x), P(x) Q(x) s volnou proměnnou x definují průnik a sjednocení oborů pravdivosti PU, QU |=I x [P(x) Q(x)] je-li PU QU |=I x [P(x) Q(x)] je-li PU QU |=I x [P(x) Q(x)] je-li PU QU = U |=I x [P(x) Q(x)] je-li PU QU
Model množiny formulí, vyplývání !!! Model množiny formulí {A1,…,An} je taková interpretace I, ve které jsou pravdivé všechny formule A1,...,An. Formule B logicky vyplývá z A1, …, An, značíme A1,…,An |= B, jestliže B je pravdivá v každém modelu množiny formulí A1,…,An. Tedy pro každou interpretaci I, ve které jsou pravdivé formule A1, …, An (|=I A1,…, |=I An) platí, že je v ní pravdivá i formule B (|=I B).
Vyplývání v PL1 !!! P(x) |= x P(x), avšak formule P(x) x P(x) není tautologií. Proto: A1,...,An |= Z |= (A1… An Z) platí jen pro uzavřené formule, tzv. sentence. x P(x) P(a) rovněž není tautologií, pravidlo x P(x) | P(a) nezachovává pravdivost. Příklad interpretace, ve které nejsou pravdivé: U = N, P sudá čísla, a 3
Sémantické ověření platnosti úsudku Úsudek je platný, pokud je závěr pravdivý ve všech modelech předpokladů. Ale, těchto modelů může být nekonečně mnoho! Přesto můžeme na základě „logického tvaru“ modelů předpokladů (tedy množinových úvah) ověřit, zda zaručují pravdivost závěru.
Sémantické ověření platnosti úsudku Příklad: Všechny opice (P) mají rády banány (Q) Judy (a) je opice Judy má ráda banány x [P(x) Q(x)] QU P(a) PU Q(a) a
Sémantické ověření platnosti úsudku Marie má ráda pouze vítěze Karel je vítěz neplatný Marie má ráda Karla x [R(m,x) V(x)], V(k) R(m,k) ? RU U U: {… <Marie, i1>, <Marie, i2>, …, <Marie, in> …} VU U: {…i1, i2, …, Karel,…, in…} Dvojice <Marie, Karel> nemusí být prvkem RU, pravdivost předpokladů to nezaručuje
Sémantické ověření platnosti úsudku Marie má ráda pouze vítěze Karel není vítěz platný Marie nemá ráda Karla x [R(m,x) V(x)], V(k) R(m,k) ? RU U U: {… <Marie, i1>, <Marie, i2>, <Marie, Karel>, …, <Marie, in> …} VU U: {…i1, i2, …, Karel, Karel,…, in…} Kdyby byla dvojice <Marie, Karel> prvkem RU, pak by musel být (dle první premisy) Karel prvkem VU, ale to není možné dle druhé premisy. Pravdivost předpokladů zaručuje pravdivost závěru.
Některé důležité tautologie PL1 |= xAx Ax/t term t je substituovatelný za x v A |= Ax/t xAx De Morgan |= xAx xAx |= xAx xAx Zákony distribuce kvantifikátorů: |= x[A(x) B(x)] [xA(x) xB(x)] |= x[A(x) B(x)] [xA(x) xB(x)] |= x[A(x) B(x)] [xA(x) xB(x)] |= x[A(x) B(x)] [xA(x) xB(x)] |= [xA(x) xB(x)] x[A(x) B(x)] |= x[A(x) B(x)] [xA(x) xB(x)]
Sémantické zdůvodnění: Nechť AU, BU jsou obory pravdivosti A, B x[A(x) B(x)] [xA(x) xB(x)] Je-li průnik (AU BU) = U, pak musí být jak AU, tak BU rovny celému universu U a naopak x[A(x) B(x)] [xA(x) xB(x)] Je-li sjednocení (AU BU) , pak musí být AU nebo BU neprázdné (AU nebo BU ) a naopak. |= x[A(x) B(x)] [xA(x) xB(x)] Je-li AU BU, pak je-li AU = U, je také BU = U. |= x[A(x) B(x)] [xA(x) xB(x)] Je-li AU BU, pak je-li AU , je také BU . |= x[A(x) B(x)] [xA(x) xB(x)] Je-li průnik (AU BU) , pak musí být jak AU, tak BU neprázdné (AU a BU ). |= [xA(x) xB(x)] x[A(x) B(x)] Je-li AU = U nebo BU = U, pak je také sjednocení (AU BU) = U
Některé důležité tautologie PL1 Formule A neobsahuje volně proměnnou x: |= x[A B(x)] [A xB(x)] |= x[A B(x)] [A xB(x)] |= x[B(x) A] [xB(x) A] |= x[B(x) A] [xB(x) A] |= x[A B(x)] [A xB(x)] |= x[A B(x)] [A xB(x)] |= x[A B(x)] [A xB(x)] |= x[A B(x)] [A xB(x)] Zákony komutace kvantifikátorů: |= xyA(x,y) yxA(x,y) |= xyA(x,y) yxA(x,y) |= xyA(x,y) yxA(x,y) ale ne naopak!
Sémantické zdůvodnění: Nechť AU, BU jsou obory pravdivosti A, B, x není volná v A x[A B(x)] [A xB(x)] – zřejmé x[A B(x)] [A xB(x)] – zřejmé x [B(x) A] [x B(x) A] x [B(x) A] x [B(x) A]: doplněk BU je celé universum nebo A: x B(x) A x B(x) A x B(x) A x[B(x) A] [xB(x) A] x [B(x) A] x [B(x) A]: doplněk BU je neprázdný nebo A: x B(x) A x B(x) A x B(x) A