UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1080 Logiske metoder for informatikk Eksamensdag: 29. november 2013 Tid for eksamen: 09.00 13.00 (Fortsettes på side 2.)
Oppgave 1 Mengdelære (10 poeng) La U være mengden {1, 2, a, b}. (a) [2 poeng] Regn ut U {1, b}. U {1, b} = {1, 2, a, b} {1, b} = {1, b} (b) [2 poeng] Regn ut U \ {1, b}. U \ {1, b} = {1, 2, a, b} \ {2, a} = {1, b} (c) [2 poeng] Regn ut {1, b} {2, a}. {1, b} {2, a} = { 1, 2, 1, a, b, 2, b, a } (d) [2 poeng] Hva er kardinaliteten til U U? Kardinaliteten til U U er 16. (e) [2 poeng] La X være mengden {1, b}. Finn en mengde Y slik at X både er et element i Y og en delmengde av Y. La Y være mengden {1, b, {1, b}}. 2
Oppgave 2 Funksjoner (10 poeng) (a) [2 poeng] Er alle bijeksjoner surjektive? Forklar kort. Ja, en bijeksjon er en funksjon er både injektiv og surjektiv, det vil si en en funksjon f : A B slik at for alle b B fins det nøyaktig én a A slik at f(a) = b. (b) [2 poeng] Alle funksjoner er relasjoner, men ikke alle relasjoner er funksjoner. Gi et eksempel på en ikke-tom relasjon fra {1, 2} til {a, b} som ikke er en funksjon. To mulige svar er: og { 1, a }. (c) [2 poeng] Hva er en binær operator? Forklar kort. En binær operator på en mengde A er en funksjon fra A A til A. (d) [2 poeng] Finn alle funksjoner f : {a, b} {1, 2} som ikke er injektive. { a, 1, b, 1 } og { a, 2, b, 2 } (e) [2 poeng] Kan en funksjon fra {a, b} til {1, 2, 3} ha en invers? Hvis ja, gi et eksempel; hvis nei, forklar kort hvorfor ikke. En funksjon vil ha en invers hvis og bare hvis den er en bijeksjon, og en funksjon fra {a, b} til {1, 2, 3} kan aldri være surjektiv og dermed aldri heller være en bijeksjon. 3
Oppgave 3 Utsagnslogikk (10 poeng) La F være den utsagnslogiske formelen P ( P Q). (a) [2 poeng] Sett opp en sannhetsverditabell for F. P Q P ( P Q) 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 0 (b) [2 poeng] Er F en logisk konsekvens av formelen P Q? Begrunn svaret ditt. Ja, enhver valuasjon som gjør P Q sann må også gjøre F sann, for F er en tautologi. (c) [2 poeng] Er formelen Q P en logisk konsekvens av F? Nei, enhver valuasjon gjør F sann, må det fins flere valuasjoner som gjør Q P usann. (d) [2 poeng] Hva er forskjellen mellom en tilordning av sannhetsverdier til utsagnsvariabler og valuasjon? Forklar kort. En tilordning av sannhetsverdier til utsagnsvariabler er en funksjon fra utsagnsvariabler til {1, 0}. En valuasjon er en funksjon fra utsagnslogiske formler til {1, 0}. (e) [2 poeng] Ta stilling til følgende påstand. «Hvis F er falsifiserbar og G er falsifiserbar, så er F G falsifiserbar, uansett hva F og G står for.» Begrunn svaret ditt. Påstanden er usann. Moteksempel: Både P og P er falsifiserbare formler, men P P er ikke falsifiserbar. 4
Oppgave 4 Ekvivalensklasser (10 poeng) La være følgende binære relasjon på mengden {1, 2, 3, 4, 5}. { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 2, 1, 5, 2, 5, 2, 1, 5, 1, 5, 2, 3, 4, 4, 3 } (a) [2 poeng] Forklar kort hvorfor er en ekvivalensrelasjon. Den er en ekvivalensrelasjon fordi den er refleksiv, symmetrisk og transitiv. (b) [2 poeng] Hva er ekvivalensklassen til elementet 2? Ekvivalensklassen til 2 er {1, 2, 5}. (c) [2 poeng] Hvor mange ekvivalensklasser definerer denne relasjonen? To. Ekvivalensklassene er {1, 2, 5} og {3, 4}. (d) [2 poeng] Hvilken partisjon gir denne relasjonen opphav til? Relasjonen gir opphav til partisjonen {{1, 2, 5}, {3, 4}}. (e) [2 poeng] Hva menes med at mengdene i en partisjon er disjunkte? Det betyr at hvis X og Y er elementer i partisjonen, så er X Y =. 5
Oppgave 5 Relasjoner (10 poeng) Husk at at en binær relasjon R på mengden S er irrefleksiv hvis det ikke fins noen x slik x, x R. Vi sier at en binær relasjon R på mengden S er intransitiv hvis det for alle x, y, z er slik at hvis x, y R og y, z R, så x, z / R. (a) [2 poeng] Finn en binær relasjon på mengden {a, b} som ikke er irrefleksiv. { a, a } er ikke irrefleksiv. (b) [2 poeng] Finn en binær relasjon på mengden {a, b} som er intransitiv. { a, b, b, a } er intransitiv. (c) [6 poeng] Bevis at alle intransitive relasjoner er irrefleksive. Anta at R er en intransitiv relasjon. Anta at a, a er med i R. Hvis R er intransitiv, så følger det (fordi a, a R og a, a R) at a, a ikke er med i R, og det gir en motsigelse. Antakelsen om at a, a er med i R gir en motsigelse, og vi kan konkludere med at a, a ikke er med i R, uansett hva a er. Da følger det at R er irrefleksiv, per definisjon av irrefleksivitet. 6
Oppgave 6 Førsteordens logikk (10 poeng) La a og b være konstantsymboler som representerer to personer, Aragorn og Beorn, og la S, T og V være relasjonssymboler slik at Sxy tolkes som x sier y, Txy tolkes som x tror y og Vxy tolkes som x vet y. Finn førsteordens formler for følgende setninger. (a) [2 poeng] Beorn tror på alt som Aragorn sier. x(sax Tbx) (b) [2 poeng] Aragorn sier ikke alt, men det gjør Beorn. ( xsax) ( xsbx) (c) [2 poeng] Beorn vet noe som han ikke sier. x(vbx Sbx) (d) [2 poeng] Ingen vet alt. x yvxy (e) [2 poeng] Noen sier alt de tror på. x y(txy Sxy 7
Oppgave 7 Formelle språk (10 poeng) La A = {0, 1} og B = {01, 10}. (a) [2 poeng] Regn ut AB og BA. AB = {0, 1}{01, 10} = {001, 010, 101, 110} og BA = {01, 10}{0, 1} = {010, 011, 100, 101}. (b) [2 poeng] Forklar kort hva tillukningen til et språk er. Hvis L er et språk, så er tillukningen av L språket L = L 0 L 1 L 2 L 3. (c) [2 poeng] Har A og B samme tillukning? Det vil si, er tillukningen til A lik tillukningen til B? Hvis ja, forklar kort hvorfor; hvis nei, gi et moteksempel. Nei, de har ikke samme tillukning. For eksempel har vi at strengen 00 er med i A, men ikke i B. (d) [2 poeng] Det regulære uttrykket 00 [11] * beskriver et språk. Hvilket? Språket som beskrives er {Λ, 00, 11, 1111, 111111,...}. (e) [2 poeng] Finn et regulært uttrykk for mengden av strenger over {0, 1} som inneholder minst to forekomster av 0. [0 1] * 0[0 1] * 0[0 1] * 8
Oppgave 8 Naturlig deduksjon (10 poeng) (a) [3 poeng] Gi et bevis i naturlig deduksjon for formelen A (B (B A)). 1 2 A I B (B A) B (B A) I 1 A (B (B A)) (b) [3 poeng] Gi en utledning i naturlig deduksjon med konklusjon (A C) og med eneste åpne antakelse (B C). 1 I 2 A C E C I B C (B C) E I 1 (A C) (c) [4 poeng] Forklar kort hvordan reductio ad absurdum-regelen (RAA) i naturlig deduksjon fungerer. Regelen er en formalisering av motsigelsesbevis: Hvis det er mulig å utlede en motsigelse fra F, så må F holde (uten antakelsen om at F ). F. RAA1 F 9
Oppgave 9 Rekursjon (10 poeng) Vi definerer induktivt mengden av alle strenger over alfabetet {a, b, c} på følgende måte. La L være den minste mengden slik at Λ er med i L og slik at hvis s er med i L, og x er et element i {a, b, c}, så er også xs med i L. (Legg merke til at det står xs og ikke sx her.) (a) [4 poeng] Gi en rekursiv funksjon R på denne mengden som reverserer en streng. For eksempel vil R(abc) = cba og R(aab) = baa La funksjonen R være definert rekursivt ved at R(Λ) = Λ, og R(xs) = R(s)x, hvor s er en streng og x er et tegn i alfabetet {a, b, c}. (b) [4 poeng] Gi en rekursiv funksjon T på denne mengden som bytter ut alle forekomster av a med b, b med c og c med a. For eksempel vil T(abc) = bca og T(aab) = bbc La funksjonen T være definert rekursivt ved at T(Λ) = Λ, T(as) = bt(s), T(bs) = ct(s) og T(cs) = at(s). (c) [2 poeng] Hva blir R(T(abc))? R(T(abc)) = R(bca) = acb 10
Oppgave 10 Induksjonsbevis (10 poeng) (a) [5 poeng] Anta at språket L og funksjonen R er definert som i forrige oppgave, og anta at t er en vilkårlig streng. Bevis ved strukturell induksjon at R(st) = R(t)R(s) for alle strenger s i L. Ved å se på hva s kan være (enten Λ eller på formen xu) og ved å fiksere t, så får vi følgende basis- og induksjonssteg. Basissteget er å sjekke at påstanden holder for alle elementene i basismengden. Her er basismengden {Λ}, og vi sjekker at påstanden holder: R(Λ)R(t) = ΛR(T) = R(T) = R(T)Λ = R(T)R(Λ) Induksjonssteget. Anta at påstanden holder for en streng s, det vil si at R(st) = R(t)R(s). Dette er induksjonshypotesen. Vi må fra denne antakelsen vise at påstanden også holder for xs, hvor x {a, b, c}, det vil si at R(xst) = R(t)R(xs). R(xst) = R(st)x (per definsjon av R) = R(t)R(s)x (ved induksjonshypotesen) = R(t)R(xs) (per definsjon av R) (b) [5 poeng] Bevis ved strukturell induksjon at R(R(s)) = s for alle strenger s i L. (Hint: Bruk resultatet fra forrige oppgave, at R(st) = R(t)R(s).) Basissteget er å sjekke at påstanden holder for alle elementene i basismengden. Her er basismengden {Λ}, og vi sjekker at påstanden holder: R(R(Λ)) = R(Λ) = Λ Induksjonssteget. Anta at påstanden holder for en streng s, det vil si at R(R(s)) = s. Dette er induksjonshypotesen. Vi må fra denne antakelsen vise at påstanden også holder for xs, hvor x {a, b, c}, det vil si at R(R(xs)) = xs. R(R(xs)) = R(R(s)x) (per definsjon av R) = R(x)R(R(s)) (ved forrige oppgave) = xr(r(s)) (ved at R(x) = x) = xs (ved induksjonshypotesen) 11