Predikatska logika 1 Matematička logika Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia novembar 2012
1 različiti nazivi: predikatska logika, logika prvog reda, kvantifikatorski račun odnos sa iskaznom logikom? jedna ili više? - razlikuju se u skupu nelogičkih simbola Logički simboli (uvek!): skup promenljivih je proizvoljan neprazan skup simbola X, konačan ili prebrojiv Najčešće se uzima da je X = {x 1, x 2,, x n, } simboli logičkih veznika:,,,,,,, pomoćni simboli: (, ) Nelogički simboli (za svaku logiku specifično): L je disjunktna unija sledeća tri skupa: C, skup simbola konstanti, R, skup relacijskih simbola, F, skup funkcijskih (operacijskih) simbola
2 Svakom nelogičkom simbolu s je dodeljen prirodan broj ar(s), tzv arnost (ili dužina) tog simbola, tako da svi simboli konstanti imaju arnost 0, a svi relacijski i funkcijski simboli neku pozitivnu arnost Ako je n neki prirodan broj, sa R n (odnosno F n ) obeležavamo sve relacijske (odnosno funkcijske) simbole arnosti n Jezik predikatske logike (ili jezik prvog reda) jeste skup formula na datoj azbuci jezik je u principu potpuno odredjen kada se definiše skup promenljivih X i skup nelogičkih simbola L, zajedno sa funkcijom arnosti ar Primer u daljem tekstu: L = C R F je neki jezik prvog reda sa skupom promenljivih X, gde je
3 Sve promenljive su termi tj X Term L (X), Svi simboli konstanti su termi tj C Term L (X), Ako je f F n i t 1, t 2,, t n Term L (X) onda f (t 1, t 2,, t n ) Term L (X) 1 Ako je jezik prvog reda L jasan iz konteksta, onda umesto Term L (X) pišemo Term(X) 2 Ako su v 1, v 2,, v n neke promenljive i t Term L (X), onda oznaka t = t(v 1, v 2,, v n ) znači da su sve promenljive terma t u skupu {v 1, v 2,, v n } 3 Ako je f F 2, onda je f binaran funkcijski simbol, i umesto f (t 1, t 2 ) pišemo t 1 ft 2
4 Neka je L = C R F neki jezik prvog reda sa skupom promenljivih X Elementarne formule su izrazi oblika ρ(t 1, t 2,, t n ), gde je ρ R n i t 1, t 2,, t n Term L (X) DOGOVOR: Ako je ρ R 2, možemo koristiti infiksnu notaciju t 1 ρt 2 umesto ρ(t 1, t 2 ) Neka je L = C R F neki jezik prvog reda sa skupom promenljivih X Skup formula Form L (X) je najmanji skup koji zadovoljava sledeće uslove: Svaka elementarna formula pripada skupu Form L (X), Ako su A i B formule, i x X, tada su formule i sledeći izrazi: (A B), (A B), (A B), (A B), ( A), ( x)a, ( x)a
5 Dogovori: Ako je jezik prvog reda L jasan iz konteksta, onda umesto Form L (X) pišemo Form(X); Dogovori o brisanju spoljnih zagrada i o prioritetu logičkih veznika; kvantifikatori imaju najveći prioritet 1 Izraze ( x) i ( x) zovemo redom univerzalni odnosno egzistencijalni kvantifikator, sa promenljivom x 2 U formulama ( x)a i ( x)a oblast dejstva kvantifikatora ( x) odnosno ( x) je formula A 3 Pojavljivanje promenljive x u nekoj formuli je vezano ako je to pojavljivanje u oblasti dejstva kvantifikatora ( x) ili ( x) U suprotnom, to pojavljivanje x-a je slobodno 4 Promenljiva x je slobodna u formuli A ako ima bar jedno slobodno pojavljivanje u formuli A Za formule koje nemaju slobodnih promenljivih kažemo da su zatvorene
1 neke logike je odredjena kada se definišu strukture (tzv modeli) u kojima se interpretiraju formule date logike, kao i tzv relacija zadovoljenja = izmedju modela i formula Neka je L = C R F neki jezik prvog reda Model jezika L je uredjena dvojka M = M, I, gde je M neprazan skup (tzv nosač modela), a I preslikavanje (interpretacija), sa domenom L, tako da zadovoljava sledeće: ako je c C, onda je I(c) M, ako je ρ R n, onda je I(ρ) M n, ako je f F n, onda je I(f ) : M n M Ako je s L, onda I(s) zovemo interpretacija simbola s u modelu M
2 DOGOVORI: 1 Ako je M = M, I neki model jezika L a s neki simbol jezika L, onda interpretaciju tog simbola u modelu M umesto sa I(s) često obeležavamo sa s M 2 U praksi, kada zadajemo model, umesto celog preslikavanja I (interpretacije) često pišemo samo niz slika tj interpretacije simbola jezika L 3 Pored slova, kao simbole binarnih relacija koristimo oznake kao što su =,, =,,, 4 U praksi često koristimo istu oznaku za simbol jezika i njegovu interpretaciju
3 Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih, M = M, I neki model jezika L Valuacija modela M je svako preslikavanje τ : X M Vrednost terma t u modelu M za valuaciju τ, u oznaci t M [τ], definišemo indukcijom po složenosti terma t: ako je t = x, gde je x X, onda je t M [τ] = τ(x), ako je t = c, gde je c C, onda je t M [τ] = c M, ako je t = f (t 1, t 2,, t n ), gde je f F n, t 1, t 2,, t n Term L (X), onda je Primer t M [τ] = f M (t M 1 [τ], t M 2 [τ],, t M n [τ])
4 Kao što nam kaže intuicija, vrednost terma ne zavisi od vrednosti onih promenljivih koje ne učestvuju u datom termu, što ćemo i dokazati u sledećoj teoremi: Teorema Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih, M = M, I neki model jezika L, a τ 1 i τ 2 dve valuacije modela M tako da je τ 1 (x) = τ 2 (x) za sve one promenljive x X koje učestvuju u termu t Tada je t M [τ 1 ] = t M [τ 2 ] OZNAKA: Neka je τ : X M neka valuacija modela M, x X, i a M Sa τ(a/x) ćemo obeležavati valuaciju koja se od τ razlikuje eventualno za promenljivu x, za koju ima vrednost a, tj τ(a/x)(x) = a, a za sve y X takve da je y x važi τ(a/x)(y) = τ(y)
5 Neka je L = C R F jezik prvog reda, X skup promenljivih, M = M, I model jezika L, a τ : X M neka valuacija modela M Relaciju = τ definišemo ovako: ako je ρ(t 1, t 2,, t n ) neka elementarna formula onda M = τ ρ(t 1, t 2,, t n ) akko važi ρ M (t M 1 [τ], t M 2 [τ],, t M n [τ]) ako su A i B neke formule, onda M = τ A B akko M = τ A i M = τ B, M = τ A B akko M = τ A ili M = τ B, M = τ A akko nije M = τ A ako je A neka formula, x X onda M = τ ( x)a akko za sve a M važi M = τ(a/x) A, M = τ ( x)a akko postoji a M tako da je M = τ(a/x) A
6 Važenje formule A u nekom modelu za datu valuaciju zavisi samo od vrednosti onih promenljivih koje su slobodne u formuli A: Teorema Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih, M = M, I neki model jezika L, a τ 1 i τ 2 dve valuacije modela M tako da je τ 1 (x) = τ 2 (x) za sve one promenljive x X koje su slobodne u formuli A Tada je M = τ1 A akko M = τ1 A Prema tome, za zatvorene formule A imamo da će one važiti na nekom modelu za neku valuaciju akko važe za svaku valuaciju
7 Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih, M = M, I neki model jezika L, i A neka formula na jeziku L Kažemo da formula A važi na modelu M, u oznaci M = A, ako je M = τ A za sve valuacije τ : X M Kažemo da je formula A valjana, u oznaci = A, ako za sve modele M jezika L važi M = A Neka je Σ Form L (X) Kažemo da je formula A semantička posledica skupa formula Σ, u oznaci Σ = A, ako za sve modele M tipa L važi ako M = Σ onda M = A
8 Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih Ako je K neka klasa modela jezika L, A Form L (X), Σ Form L (X), M neki modela jezika L, onda K = A akko za sve M K važi M = A M = Σ akko za sve A Σ važi M = A K = Σ akko za sve A Σ važi K = A Th X (K) = {A Form L (X) : K = A} Mod(Σ) = {M Mod L : M = Σ}, gde smo sa Mod L obeležili klasu svih modela jezika L
9 Teorema Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih, Σ 1, Σ 2, Σ Form L (X), K 1, K 2, K Mod L Tada važi: Ako je Σ 1 Σ 2 onda Mod(Σ 2 ) Mod(Σ 1 ) Ako je K 1 K 2 onda Th(K 2 ) Th(K 1 ) Σ Th(Mod(Σ)) K Mod(Th(K)) Mod(Th(Mod(Σ))) = Mod(Σ) Th(Mod(Th(K))) = Th(K)
Valjane formule 1 Formula A je valjana, u oznaci = A, ako važi u svakom modelu M (odgovarajućeg jezika L), tj M = A Neka su A, B 1, B 2,, B n predikatske formule na nekom jeziku L Za formulu A kažemo da je izvod iz tautologije C(p 1, p 2,, p n ) ako se formula A dobija kao rezultat zamene iskaznih slova p i sa formulom B i (i = 1, 2, n) u formuli C Teorema Ṣvaka predikatska formula koja je izvod iz tautologije jeste valjana Naravno, nisu sve valjane formule izvodi iz tautologija: recimo ( y)( x)a ( x)( y)a
Valjane formule 2 Teorema (Negacija kvantifikatora) 1 ( x)a ( x) A Negacija kvantifikatora 2 ( x)a ( x) A Negacija kvantifikatora Teorema (Veza kvantifikatora sa konjunkcijom i disjunkcijom) 1 ( x)(a B) ( x)a ( x)b se slaže sa 2 ( x)(a B) ( x)a ( x)b se slaže sa 3 ( x)a ( x)b ( x)(a B) Veza i 4 ( x)(a B) ( x)a ( x)b Veza i
Valjane formule 3 Teorema (Izvlačenje kvantifikatora, konjunkcija i disjunkcija) Neka promenljiva x nije slobodna u formuli B Tada: 1 ( x)a B ( x)(a B) izvlačenje i veznik 2 ( x)a B ( x)(a B) izvlačenje i veznik 3 ( x)a B ( x)(a B) izvlačenje i veznik 4 ( x)a B ( x)(a B) izvlačenje i veznik Teorema (Izvlačenje kvantifikatora i implikacija) Neka promenljiva x nije slobodna u formuli A Tada: 1 (A ( x)b) ( x)(a B) 2 (A ( x)b) ( x)(a B) 3 (( x)b A) ( x)(b A) 4 (( x)b A) ( x)(b A)