INF3170 Logikk Dagens plan Forelesning 1: Introduksjon og mengdelære Christian Mahesh Hansen Institutt for informatikk, Universitetet i Oslo 1 Praktisk informasjon 2 Hva skal vi lære? 22. januar 2007 3 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 2 / 41 Praktisk informasjon Forelesere og tid/sted Praktisk informasjon Obliger og eksamen Foreleser: Christian Mahesh Hansen (chrisha@ifi.uio.no) Kontor 2403, 2. etasje, Ifi Gjesteforelesere i løpet av semesteret? Nettside: http://www.ifi.uio.no/inf3170 Forelesning: Mandag 14:15 16:00 Lille auditorium Gruppeundervisning: Onsdag 12:15 14:00, 3A, Ifi Første gruppetime: onsdag 31. januar Gruppelærere: Bjarne Holen (bjarneh@ifi.uio.no) Arild Waaler (arild@ifi.uio.no) Obliger og eksamen Obliger Planlagt 3 obliger. e hjemmesiden for tidsfrister og regler. Bedømmes til bestått/ikke bestått. Alle obligene må bestås for å kunne gå opp til eksamen. Eksamen Ingen midttermineksamen. Avsluttende eksamen: muntlig eller skriftlig. Bokstavkarakterer avsluttende eksamen teller 100% Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 3 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 4 / 41
Praktisk informasjon Pensum Praktisk informasjon tøttelitteratur Pensum tøttelitteratur Ikke pensum i seg selv, frivillig ekstralesing! Definert av det som gjennomgås på forelesning og gruppeundervisning, samt obliger. Foiler deles ut på forelesning og legges ut på nettsiden. Ingen lærebok, men... J. Gallier. Logic for Computer cience - Foundations of Automated heorem Proving Ligger tett opptil forelest pensum i kurset. Oppdatert versjon fra 2003 tilgjengelig for gratis nedlasting. Kun kapitlene 3, 4, 5 og 8 er aktuelle. M. C. Fitting. First-Order Logic and Automated heorem Proving Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 5 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 6 / 41 Hva skal vi lære? Hva skal vi lære? enk deg en verden... 1 Praktisk informasjon 2 Hva skal vi lære? 3 etning: Ole liker logikk.... der setninger er enten sanne eller usanne. Hvis Ole liker logikk er sann, så er setningen sann. Hvis Ole liker logikk er usann, så er setningen usann. etningens sannhetsverdi avhenger av hvorvidt Ole liker logikk er sann eller usann. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 7 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 8 / 41
ann-eller-usann-verden Hva skal vi lære? ann-eller-usann-verden Hva skal vi lære? etning: Ole liker logikk og Ole liker programmering. Hvis både Ole liker logikk og Ole liker programmering er sanne, så er setningen sann. Hvis Ole liker logikk eller Ole liker programmering er usann, så er setningen usann. etningens sannhetsverdi avhenger av sannhetsverdien til Ole liker logikk og Ole liker programmering. etning: Ole liker logikk eller Ole liker ikke logikk. Hvis Ole liker logikk er usann, så er Ole liker ikke logikk sann. Hvis Ole liker logikk er sann, så er Ole liker ikke logikk usann. etningens sannhetsverdi er helt uavhengig av sannhetverdien til Ole liker logikk! Det er umulig å gjøre setningen usann, den er sann på grunn av måten den er konstruert på. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 9 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 10 / 41 Oversikt over kurset Hva skal vi lære? 1 Praktisk informasjon Logisk symbolspråk bygge opp formelle setninger. emantikk en presis måte å tolke formelle setninger på. Logisk kalkyle regneregler for å finne ut om en formell setning alltid er sann uavhengig av tolkning. Oppgave unnhet og kompletthet av logiske kalkyler. Nyttige teknikker for å lage søkealgoritmer for logiske kalkyler. etning: Det finnes en person x slik at hvis x liker logikk så liker alle personer logikk. Er det mulig å gjøre denne setningen usann...? 2 Hva skal vi lære? 3 Operatorer Multimengder Kardinalitet ellbart vs. overtellbart Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 11 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 12 / 41
Definisjon En mengde er en endelig eller uendelig samling objekter der innbyrdes rekkefølge og antall forekomster av hvert objekt ignoreres. Objektene i en mengde kalles elementer. Hvis a er element i mengden, skriver vi a. Hvis a ikke er element i, skriver vi a. o mengder og er like, =, hvis de inneholder de samme elementene. Notasjon Mengden med elementene a, b, c og d skrives ofte {a, b, c, d}. a {a, b, c} d {a, b, c} 1 {a, 1, γ, Φ} 2 {a, 1, γ, Φ} {a, b} = {b, a} {a, a, b} = {a, b} {a, b} {b, c} (mengdene er ulike) Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 13 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 14 / 41 Noen spesielle mengder Union slå sammen mengder Definisjon (Den tomme mengden) Den tomme mengden er mengden som ikke inneholder noen elementer. krives ofte {} eller. Definisjon (ingletonmengde) En singletonmengde er en mengde som har nøyaktig ett element. Både {a}, {b} og {b, b} er singletonmengder. Definisjon (Union) Unionen av to mengder og er den mengden som inneholder alle objekter som er element i eller. Unionen av og skrives ofte. {a, b} {c, d} = {a, b, c, d} {a, b} {b, c} = {a, b, c} {1, 2, 3} = {1, 2, 3} Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 15 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 16 / 41
nitt felles elementer Mengdedifferanse fjerne elementer Definisjon (nitt) Hvis og er mengder, så er snittet mellom og, eller snittet med, mengden som inneholder alle objekter som er element i både og. snittet med skrives ofte. {a, b} {c, d} = {a, b} {b, c} = {b} {1, 2, 3} = Definisjon (Mengdedifferanse) Hvis og er mengder, så er mengdedifferansen mellom og, eller minus, mengden som inneholder alle objekter som er element i men ikke element i. minus skrives ofte \. {a, b} \ {c, d} = {a, b} {a, b} \ {b, c} = {a} {1, 2, 3} \ = {1, 2, 3} \ {a, b, c} = Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 17 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 18 / 41 Delmengde Kryssprodukt Definisjon (Delmengde) En mengde er en delmengde av en mengde hvis alle elementer i også er elementer i. krives ofte. {a, b} {a, b, c} {a, b} {a, b} (enhver mengde er en delmengde av seg selv) {a, b, c} {a, b} {a, b} (den tomme mengden er en delmengde av alle mengder) {a, b} Definisjon (Kryssprodukt) Hvis og er mengder, så er kryssproduktet av og mengden av alle par s, t slik at s og t. Kryssproduktet av og skrives ofte. {a, b} {c, d} = { a, c, a, d, b, c, b, d } {a, b} {b, c} = { a, b, a, c, b, b, b, c } {a} {1, 2} = { a, 1, a, 2 } Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 19 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 20 / 41
Kryssprodukt Notasjon En mengde kan krysses med seg selv: {a, b} {a, b} = { a, a, a, b, b, a, b, b } skrives ofte 3. Generalisert: } {{... } skrives n. n Mengdebygger Notasjon En definisjon på formen mengden av alle elementer x slik at... kan skrives på formen {x x og betingelse på x}. En slik konstruksjon kalles en mengdebygger. Definisjonen av kryssprodukt av og kunne vært skrevet slik: = { s, t s og t } {n n N og n er partall } definerer mengden av alle partall. {n n N og n er oddetall } definerer mengden av alle oddetall. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 21 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 22 / 41 over én mengde Definisjon (Relasjon) En unær relasjon over er en delmengde av. En binær relasjon fra til er en delmengde av. En n-ær relasjon over mengdene 1, 2,..., n er en delmengde av kryssproduktet 1 2... n. Hvis = {a, b, c}, så er {a, b} en unær relasjon over. Hvis = {a, b} og = {1, 2}, så er { a, 1, b, 2 } en binær relasjon fra til. Definisjon En n-ær relasjon over mengden er en delmengde av n. La = {1, 2, 3}. { 1, 1, 2, 2, 3, 3 } er en binær relasjon over. { 1, 2, 1, 3, 2, 3 } er også en binær relasjon over. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 23 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 24 / 41
Refleksive relasjoner ymmetriske relasjoner Definisjon (Refleksiv) En binær relasjon R over mengden er refleksiv hvis x, x R for alle x. La = {1, 2, 3}. Er R 1 = { 1, 1, 1, 2, 1, 3 } refleksiv? Hva med R 2 = { 1, 1, 2, 2, 3, 3 }? Definisjon (ymmetrisk) En binær relasjon R er symmetrisk hvis x, y R impliserer at y, x R. La = {1, 2, 3}. Er R 1 = { 1, 2, 2, 1, 3, 2, 2, 3 } symmetrisk? Hva med R 2 = { 1, 2, 2, 1, 1, 3 }? Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 25 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 26 / 41 ransitive relasjoner Definisjon (ransitiv) En binær relasjon R er transitiv hvis x, y R og y, z R impliserer at x, z R. Definisjon (Ekvivalensrelasjon) En binær relasjon over mengden er en ekvivalensrelasjon hvis den er refleksiv, symmetrisk og transitiv. Definisjon (Funksjon) La og være mengder. En funksjon f fra til er en binær relasjon fra til med følgende egenskaper: For alle x så finnes en y slik at x, y f. Hvis x, y f og x, z f, så er y = z. Vi kaller for definisjonsmengden til f og for verdimengden til f. Notasjon Hvis x, y f, så skriver vi ofte f (x) = y. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 27 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 28 / 41
Injektive funksjoner Funksjonen{ Par : N {0, 1} definert ved 1 hvis x er et partall Par(x) = 0 hvis x er et oddetall har N som definisjonsmengde og {0, 1} som verdimengde. Definisjon (Injektiv) En funksjon f : er injektiv hvis for alle x, y så impliserer x y at f (x) f (y). Vi sier at f er en-til-en. Ikke injektiv Injektiv Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 29 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 30 / 41 urjektive funksjoner Bijektive funksjoner Definisjon (urjektiv) En funksjon f : er surjektiv hvis for alle y så fins x slik at f (x) = y. Vi sier at f er på. Ikke surjektiv urjektiv Definisjon (Bijektiv) En funksjon er bijektiv hvis den er injektiv og surjektiv. Vi sier at funksjonen er en-til-en og på, eller at vi har en en-til-en korrespondanse. Ikke bijektiv Bijektiv Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 31 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 32 / 41
Injektive og surjektive funksjoner injektiv / en-til-en surjektiv / på Bijektive funksjoner bijektiv / en-til-en og på / en-til-en korrespondanse for alle x, y : for alle y : x y impliserer f (x) f (y) det finnes x slik at f (x) = y hvert element i definisjonsmengden sendes til et unikt element i verdimengden alle elementer i verdimengden blir truffet En bijektiv funksjon er en funksjon som er både injektiv og surjektiv: Ethvert element i verdimengden blir truffet av et unikt element i definisjonsmengden. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 33 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 34 / 41 Operatorer Multimengder Operatorer Multimengder Definisjon (Operator) La være en mengde. En unær operator på er en funksjon fra til. En binær operator på er en funksjon fra til. uksessorfunksjonen (n + 1) er en unær operator på N. Addisjonsfunksjonen (+) er en binær operator på N. ubtraksjonsfunksjonen ( ) er en binær operator på Z. der antall forekomster av hvert element teller Definisjon (Multimengde) En multimengde er et par, m der er en mengde og m : N. For hver x sier vi at m(x) er multiplisiteten til x, eller antall forekomster av x i. Vi skriver multimengder som mengder: I multimengden {a, a, a, b, b} er multiplisiteten til a og b henholdsvis 3 og 2. I multimengden {a, b, a, c, a, b} er multiplisiteten til a, b og c henholdsvis 3, 2 og 1. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 35 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 36 / 41
Multimengder Kardinalitet,, \ og på multimengder Kardinalitet Vi bruker union ( ), snitt ( ), mengdedifferans (\) og delmengderelasjonen ( ) også på multimengder. {a, a, b, c} {a, c} = {a, a, a, b, c, c} {a, a, a, b, c} {a, a, d} = {a, a} {a, a, a, b, c} \ {a, a, d} = {a, b, c} {a, a} {a, a, b, c}, men {a, a, a} {a, a, b, c} Definisjon (Kardinalitet) o mengder og har lik kardinalitet hvis det fins en bijeksjon fra til. Mengden har kardinalitet mindre eller lik hvis det fins en injektiv funksjon fra til. Hvis er en endelig mengde, så er kardinaliteten til lik antall elementer i. Vi bruker notasjonen for kardinaliteten til. Vi bruker om den tomme multimengden. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 37 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 38 / 41 Kardinalitet Kardinalitet Hva er kardinaliteten til {a, b, c}? {a, b, a}? {a}?? N = mengden av alle naturlige tall {1, 2, 3, 4, 5,...} 2N = mengden av alle partall {2, 4, 6, 8, 10,...} f (x) = 2x er en bijeksjon fra N til 2N, så N og 2N har samme kardinalitet. Vi skriver N = 2N. 1 2 3 4.. 2 4 6 8 N 2N Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 39 / 41 Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 40 / 41
ellbart vs. overtellbart ellbart vs. overtellbart Definisjon (ellbar) En uendelig mengde er tellbar hvis det fins en en-til-en korrespondanse mellom elementene i og de naturlige tallene. Hvis ikke, er overtellbar. Alle endelige mengder er tellbare. Når en uendelig mengde er tellbar fins det en bijektiv funksjon fra til N. Mengden 2N av alle partall er tellbar. Mengden B av binære tall er tellbar. Mengden Q av brøktall er tellbar. Mengden av nålevende mennesker er tellbar. Mengden R av reelle tall er ikke tellbar. Institutt for informatikk (UiO) INF3170 Logikk 22.01.2007 41 / 41