INF1800 Forelesning 19 Førsteordens logikk Roger Antonsen - 21. oktober 2008 (Sist oppdtert: 2008-10-21 20:12) Repetisjon Semntikk Hvis M er en modell og ϕ er en lukket formel, så definerte vi M = ϕ. Vi brukte det utvidete språket med konstnter for hvert element i domenet for å gjøre dette. For tomære formler: M = R(t 1,..., t n ) hvis t M 1,..., tm n R M. M = ϕ hvis det ikke er tilfelle t M = ϕ. M = ϕ ψ hvis M = ϕ og M = ψ. M = ϕ ψ hvis M = ϕ eller M = ψ. M = ϕ ψ hvis M = ϕ impliserer M = ψ. M = xϕ hvis M = ϕ[x/ā] for lle i M. M = xϕ hvis M = ϕ[x/ā] for minst en i M. Vi skriver M = ϕ for t ϕ er snn i M eller t M gjør ϕ snn. Språk og modeller: Et komplekst forhold Ved førsteordens språk hr vi fått betydelig større uttrykkskrft. Modeller kn være rike på struktur. Det er et ikke-trivielt forhold mellom språk og modeller. Noe v det vi er interessert i: Sjekke om en formel er snn i en modell. (Modellsjekking) Sjekke om en formel er oppfyllbr eller flsifiserbr. Sjekke om en formel er gyldig. Sjekke om formler er uvhengige v hverndre. Bruke språket til å beskrive modeller, forsøke å fnge inn og beskrive virkeligheten. Noen eksempler Eksempel 1 Lg en modell som oppfyller følgende formler. 1. xpx 2. x Qx 1
Følgende er én måte å løse denne oppgven på. L domenet til modellen M være {1}, det vil si, M = {1}. Det er ingen konstntsymboler eller funksjonssymboler i språket, så vi trenger ikke å spesifisere tolkningen v disse. L relsjonssymbolene tolkes slik t P M = {1} og Q M =. Formel 1 er snn fordi P( 1) er snn, og P( 1) er snn fordi 1 P M. Formel 2 er snn fordi Q( 1) er snn, og Q( 1) er snn fordi Q( 1) er usnn, og Q( 1) er usnn fordi 1 / Q M. Eksempel 2 Lg en modell som oppfyller følgende formler. 1. P Pb 2. x(px Qx) 3. xqx. Følgende er én måte å løse denne oppgven på. L domenet til modellen være {1, 2}, det vil si, M = {1, 2}. L konstntsymbolene tolkes slik t M = b M = 1. Det er ingen funksjonssymboler i språket. L relsjonssymbolene tolkes slik t P M = {1} og Q M = {2}. Formel 1 er snn fordi 1 P M. Formel 2 er snn fordi (P M Q M ) =. Formel 3 er snn fordi 2 Q M. Eksempel 3 Vis t følgende formel er gyldig. 1. ( xpx xqx) x(px Qx) For å vise t en impliksjon (F G) er gyldig, så er det tilstrekkelig å vise t hvis en modell gjør F snn, så gjør den også G snn. A1 Ant derfor t M er en modell med domene D som gjør ( xpx xqx) snn. (Fr ntkelsen A1 skl vi ltså vise t M gjør x(px Qx) snn.) A2 Ant t er et vilkårlig element i domenet D. Fr ntkelse A1 følger det t M gjør både xpx og xqx snn. Fr ntkelse A2 følger det t Pā og Qā begge er snne i M. 2
D må også Pā Qā være snn i M. Siden vr vilkårlig vlgt, så følger det t x(px Qx) er snn i M. Eksempel 4 Vis t følgende formel ikke er gyldig. 1. x(px Qx) ( xpx xqx) Vi må finne en modell som gjør formelen usnn. Vi må ltså finne en modell M som gjør x(px Qx) snn, men som gjør ( xpx xqx) usnn. D må modellen M gjøre både xpx og xqx usnne. L domenet til M være {1, 2}. For å gjøre xpx usnn, l P M = {1}. D vil P 2, og derfor også xpx, være usnn. For å gjøre xqx usnn, l Q M = {2}. D vil Q 1, og derfor også xqx, være usnn. Det er lett å sjekke t x(px Qx) er snn i M. Eksempel 5 Vis t følgende formel er gyldig. 1. xrxx x yrxy L M være en modell med domene D og nt t M = xrxx. Det er tilstrekkelig å vise t M = x yrxy. L D være vilkårlig vlgt. Ved ntkelse vet vi t M = Rāā. D er det slik t M = yrāy. Siden vr vilkårlig vlgt, vil M = x yrxy. 3
Figurspråket igjen En utvidelse v figurspråket Figurspråket Atomær formel Sirkel(x) Firknt(x) Treknt(x) Stor(x) Liten(x) Mindre(x, y) Over(x, y) Under(x, y) VenstreFor(x, y) HoyreFor(x, y) Inntil(x, y) Mellom(x, y, z) Intendert tolkning x er en sirkel x er en firknt x er en treknt x er stor x er liten x er mindre enn y x er nærmere toppen enn y x er nærmere bunnen enn y x er lenger til venstre enn y x er lenger til høyre enn y x er rett ved siden v, rett over eller rett under y x, y og z er i smme kolonne, rd eller digonl, og x er mellom y og z Forklrende eksempel til semntikken c b d M =, b M =, c M =, d M = (vi ntr t dette er lle konstntene) Treknt M = {, } Stor M = {, } Liten M = {, } M = Under(, c) fordi M, c M =, Under M M = Under(, b) M = VenstreFor(, c) VenstreFor(b, c) M = Inntil(, b) Inntil(, c) M = Mellom(c,, d) Mellom(c, b, d) 4
Eksempel 1 Er det slik t M xliten(x)? For å svre, må vi se på definisjonen v =. M = xliten(x) det fins en M slik t M = Liten(ā) det fins en M slik t ā M Liten M det fins en M slik t Liten M Siden Liten M = {, }, kn vi konkludere med JA. Eksempel 2 Er det slik t M = xstor(x)? For å svre, må vi se på definisjonen v =. M = xstor(x) for lle M så M = Stor(ā) for lle M så ā M Stor M for lle M så Stor M Siden M = {,, } og Stor M = {, }, så kn vi konkludere med NEI. 5
Eksempel 3 M = x(stor(x) Sirkel(x)) for lle M så M = Stor(ā) Sirkel(ā) for lle M så M = Stor(ā) impliserer M = Sirkel(ā) for lle M så hvis Stor M, så Sirkel M lle store objekter er sirkler Påstnden holder ikke. Eksempel 4 M = x(sirkel(x) y zmellom(x, y, z)) for lle M så M = Sirkel(ā) y zmellom(ā, y, z) for lle sirkler M så M = y zmellom(ā, y, z) for lle sirkler M så fins b, c M slik t M = Mellom(ā, b, c) Påstnden holder, fordi M = Mellom(,, ) og M = Mellom(,, ). 6
Eksempel 5 Er følgende formler oppfyllbre smtidig? b 1. Stor() Liten(b) 2. x(treknt(x)) 3. x(inntil(x, ) Inntil(x, b)) 4. x(venstrefor(x, ) HoyreFor(x, )) 5. x(stor(x) yover(y, x)) Svret er JA! Eksempel 6 Er følgende formler oppfyllbre? 1. Sirkel() Treknt() Firknt()) Svret er JA! L M = { } og M =. 2. Liten() Stor() Svret er JA! L M = { }, M = og Liten M = Stor M = { } Bruke språket til å beskrive modeller Gi en mengde formler som beskriver denne modellen nøyktig, dvs. som hr denne og (essensielt) ingen ndre modeller. b 1. Sirkel() Firknt(b) 2. xliten(x) 3. VenstreFor(, b) 4. x(inntil(x, ) Inntil(x, b)) 5. x( Over(x, ) Under(x, )) 6. x( VenstreFor(x, ) HoyreFor(x, b)) Gnske vnskelig... 7