Dagens plan. INF3170 Logikk. Noen begreper. Automatisk bevissøk i førsteordens logikk

Like dokumenter
INF3170 Forelesning 10

Fri-variabel sekventkalkyle

Dagens plan. INF4170 Logikk. Fri-variabel sekventkalkyle. Forelesning 10: Automatisk bevissøk II fri-variabel sekventkalkyle og sunnhet.

INF3170 Logikk. Ukeoppgaver oppgavesett 7

Dagens plan. INF4170 Logikk. Modelleksistens for grunn LK repetisjon. Kompletthet av fri-variabel LK. Teorem (Kompletthet) Lemma (Modelleksistens)

Dagens plan. INF3170 Logikk. Introduksjon. Forelesning 7: Førsteordens logikk sekventkalkyle og sunnhet. Christian Mahesh Hansen. 5.

Førsteordens sekventkalkyle

Hvis formlene i Γ og er lukkede, vil sannhetsverdiene til formlene under M være uavhengig av variabeltilordning.

Fortsettelse. INF3170 Logikk. Eksempel 1. Forelesning 8: Mer sekventkalkyle og sunnhet. Roger Antonsen

INF3170 Logikk. Forelesning 8: Mer sekventkalkyle og sunnhet. Roger Antonsen. 6. april Institutt for informatikk, Universitetet i Oslo

Forelesning 7: Førsteordens logikk sekventkalkyle og sunnhet Christian Mahesh Hansen - 5. mars 2007

Kompletthet av LK. INF3170 Logikk. Overblikk. Forelesning 9: Mer sekventkalkyle og kompletthet. Roger Antonsen

INF3170 { Logikk. Forelesning 5: Automatisk bevissk. Arild Waaler. 29. oktober Institutt for informatikk, Universitetet i Oslo

INF1800 LOGIKK OG BEREGNBARHET

Repetisjon: Førsteordens syntaks og semantikk. 2 Førsteordens sekventkalkyle. 3 Sunnhet av førsteordens sekventkalkyle. 1 Mengden T av termer i L:

Førsteordens sekventkalkyle

Merk: kopieringen av hovedformelen i γ-reglene medfører at bevissøk i førsteordens logikk ikke nødvendigvis behøver å terminere!

Dagens plan. INF3170 Logikk. Semantikk for sekventer. Definisjon (Motmodell/falsifiserbar sekvent) Definisjon (Gyldig sekvent) Eksempel.

Forelesning 7: Førsteordens logikk sekventkalkyle og sunnhet Christian Mahesh Hansen - 3. mars 2007

Dagens plan. INF3170 Logikk. Forstå teksten og begrepene! Disponér tiden! Forelesning 15: Oppgaveløsing. Christian Mahesh Hansen. 21.

Definisjon 1.1 (Kompletthet). Sekventkalkylen LK er komplett hvis enhver gyldig sekvent er LK-bevisbar.

INF1800 LOGIKK OG BEREGNBARHET

Sekventkalkyle for utsagnslogikk

1 Utsagnslogikk (10 %)

Dagens plan. INF3170 Logikk. Kompletthet følger fra modelleksistens. Kompletthet. Definisjon (Kompletthet) Teorem (Modelleksistens)

Dagens plan. INF3170 Logikk. Induktive definisjoner. Eksempel. Definisjon (Induktiv definisjon) Eksempel

Beregn minutter til å se gjennom og fullføre ubesvarte oppgaver på slutten av eksamenstiden.

Forelesning 3: Utsagnslogikk sekventkalkyle, sunnhet og kompletthet Christian Mahesh Hansen - 5. februar 2007

INF1800 Forelesning 15

Forelesning 3-6. februar 2006 Utsagnslogikk sekventkalkyle og sunnhet. 1 Mengdelære III. 2 Utsagnslogikk. 1.1 Multimengder. 2.

Definisjon 1.1 (Sunnhet). Sekventkalkylen LK er sunn hvis enhver LK-bevisbar sekvent er gyldig.

INF3170 Logikk. Forelesning 3: Utsagnslogikk, semantikk, sekventkalkyle. Roger Antonsen. Institutt for informatikk, Universitetet i Oslo

Forelesning 2: Induktive definisjoner, utsagnslogikk og sekventkalkyle Christian Mahesh Hansen januar 2007

Dagens plan. INF3170 Logikk. Syntaks: Utsagnslogiske formler. Motivasjon

Repetisjonsforelesning

Hvis Ole følger inf3170, så liker Ole logikk. Ole følger inf3170, og Ole følger ikke inf3170. Ole følger inf3170, eller Ole følger ikke inf3170.

INF3170 Forelesning 4

Forelesning 9: Frsteordens logikk { kompletthet Roger Antonsen mars 2006

Forelesning 14: Automatisk bevissøk IV matriser og koblingskalkyle Christian Mahesh Hansen mai 2006

Dagens plan. INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle. Arild Waaler. 21.

INF4170 { Logikk. Forelesning 1: Utsagnslogikk. Arild Waaler. 20. august Institutt for informatikk, Universitetet i Oslo

INF1800 LOGIKK OG BEREGNBARHET

Repetisjon og noen løse tråder

Dagens plan. INF3170 Logikk. Negasjon som bakgrunn for intuisjonistisk logikk. Til nå i kurset. Forelesning 9: Intuisjonistisk logikk.

Førsteordens logikk - syntaks

INF4170 Logikk. Forelesning 12: Automatisk bevissøk IV matriser og koblingskalkyle. Bjarne Holen. Institutt for informatikk, Universitetet i Oslo

Intuisjonistisk logikk

INF3170 Logikk. Forelesning 11: Intuisjonistisk logikk. Roger Antonsen. 27. april Institutt for informatikk, Universitetet i Oslo

Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle Arild Waaler januar 2008

INF3170 / INF4171. Intuisjonistisk logikk: Kripke-modeller, sunnhet, kompletthet. Andreas Nakkerud. 15. september 2015

INF3170 Forelesning 11

INF1800 Forelesning 18

Dagens plan. INF3170 Logikk. Redundans i LK-utledninger. Bevissøk med koblinger. Forelesning 13: Automatisk bevissøk IV matriser og koblingskalkyle

Dagens plan. INF3170 Logikk. Resolusjon: regel og utledninger. Overblikk. Definisjon. Forelesning 14: Avanserte emner. Christian Mahesh Hansen

Forelesning 5: Førsteordens logikk syntaks og semantikk Christian Mahesh Hansen februar 2007

Forelesning 13: Automatisk bevissøk IV matriser og koblingskalkyle Bjarne Holen - 7. mai 2007

Bevis for sunnhet (og kompletthet) av bevissystemet med hensyn på semantikken

Forberedelse Kompletthet Kompakthet INF3170 / INF4171. Predikatlogikk: kompletthet, kompakthet. Andreas Nakkerud. 8.

INF1800 Forelesning 17

INF1800 LOGIKK OG BEREGNBARHET

FOL: syntaks og representasjon. 15. og 16. forelesning

Semantikk Egenskaper ved predikatlogikk Naturlig deduksjon INF3170 / INF4171. Predikatlogikk: Semantikk og naturlig deduksjon.

Dagens plan. INF3170 Logikk. Sekventkalkyle Gerhard Gentzen ( ) Innhold. Forelesning 12: Snitteliminasjon. Herman Ruge Jervell. 8.

Litt mer mengdelære. INF3170 Logikk. Multimengder. Definisjon (Multimengde) Eksempel

Dagens plan INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon, mengdelære og utsagnslogikk. Christian Mahesh Hansen og Roger Antonsen

En formel er gyldig hviss den sann i alle tolkninger. Kan dette sjekkes automatisk?

INVERST FUNKSJONSTEOREM MAT1100 KALKULUS

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

Dagens plan. INF3170 Logikk. Introduksjon. Forelesning 6: Førsteordens logikk syntaks og semantikk. Martin Giese. 25. februar 2008.

Definisjoner og løsning i formel

INF3170 Forelesning 2

Forelesning 6: Førsteordens logikk syntaks og semantikk Martin Giese februar 2008

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

Løsningsforslag til utvalgte oppgaver av eksamenen i MAT3600/MAT4600 høsten 2005

MAT1030 Diskret matematikk

MAT1030 Diskret Matematikk

Notat 05 for MAT Relasjoner, operasjoner, ringer. 5.1 Relasjoner

Dagens tema: Kjøresystemer II

INF1800 LOGIKK OG BEREGNBARHET

Mer om førsteordens logikk

Det utsagnslogiske spraket: konnektiver og formler. Semantikk: Denisjon av sannhet og gyldighet

Sekventkalkyle for utsagnslogikk

Databaser fra et logikkperspektiv del 2

INF3170 Logikk. Ukeoppgaver oppgavesett 6

x A e x = x e = x. (2)

MAT1030 Diskret Matematikk

INF1800 LOGIKK OG BEREGNBARHET

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering

MA3301 Beregnbarhets- og kompleksitetsteori Høsten

Forelesning 27. MAT1030 Diskret Matematikk. Bevistrær. Bevistrær. Forelesning 27: Trær. Roger Antonsen. 6. mai 2009 (Sist oppdatert: :28)

TMA4100 Matematikk 1, høst 2013

INF1800 Forelesning 20

Sekventkalkyle for første ordens predikatlogikk uten likhet

Løsningsforslag til eksamen i FY3464 KVANTEFELTTEORI Torsdag 26. mai 2005

Løsningsforslag til eksamen i MAT 1100, H06

MA0002 Brukerkurs i matematikk B Vår 2017

Dagens plan. INF3170 Logikk. Mengder. Definisjon. Notasjon. Forelesning 0: Mengdelære, Induksjon. Martin Giese. 23. januar 2008.

2. en tolkning av alle ikke-logiske symboler i spraket. n i 2 RM. 1 ; : : : ; t M. 1.2 Sprak og modeller - et komplekst forhold

Transkript:

INF3170 Logikk Dagens plan Forelesning 10: introduksjon, substitusjoner og uniisering Christian Mahesh Hansen 1 Institutt or inormatikk, Universitetet i Oslo 16. april 2007 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 2 / 39 i ørsteordens logikk Noen begreper Sekventkalkylen LK tilbyr et sett med regler or å bygge opp utledninger, og en egenskap som skiller bevis ra utledninger. Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig. Kompletthet sikrer oss at det innes et bevis or enhver gyldig sekvent. Kalkylen sier imidlertid ingenting om hvordan man inner bevis or gyldige sekventer! Kompletthetsbeviset or LK gir hint om hvordan vi kan lage en søkealgoritme. La oss orsøke! En utledning er lukket hvis alle grenene er lukket. En utledning er utvidbar hvis det er mulig å anvende en regel på en ormel i en løvsekvent i utledningen. En søkealgoritme er komplett hvis den inner et bevis or enhver gyldig sekvent. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 3 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 4 / 39

Algoritme: gyldig?(γ ) π := Γ ; while (π ikke er lukket) do i (π ikke er utvidbar) then return ikke gyldig ; else ϕ := ikke-atomær ormel i løvsekvent i π; utvid π ved å anvende riktig LK-regel på ϕ; end i end while return gyldig ; Eektivitet Eektiviteten til algoritmen avhenger av tre ting: 1 Hvor eektivt er det å sjekke om utledningen er lukket? 2 Strategi or valg av utvidelse av utledningen. 3 Hvor eektiv er selve utvidelsen, dvs. regelanvendelsen? I ørste runde ser vi på punkt 1 og 3. Senere introduseres koblingskalkylen, som gir oppgav til en strategi or valg av utvidelser av utledningene. La oss starte med punkt 3 eektiviteten til regelanvendelsene. Algoritmen er komplett hvis utvelgelsen av ϕ er retterdig. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 5 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 6 / 39 Hvor kostbare er regelanvendelsene? γ-reglene α- og β-reglene henter ut delormler ra en sammensatt ormel: Γ, A, B Γ A, Γ B, L R Γ, A B Γ A B, All nødvendig inormasjon tilgjengelig i hovedormelen: kan utøres i konstant tid. Riktignok år vi en del ormelkopiering i β-regelen, men dette kan optimaliseres med.eks. pekere i en objektorientert implementasjon. δ-regelen setter inn en ny parameter or den bundne variabelen: Γ, ϕ[a/x] L Γ, xϕ Parametrene kan nummereres: utøres i konstant tid. La oss se på γ-reglene: Γ, xϕ, ϕ[t/x] Γ, xϕ, ϕ[t/x] L R Γ, xϕ Γ, xϕ Vi kan sette inn en vilkårlig lukket term t or x. For å å en komplett algoritme, må vi (ør eller senere) instansiere hver γ-ormel med alle termene i Herbranduniverset. Vi kan nummerere termene i Herbranduniverset og instansiere γ-ormlene i denne rekkeølgen. Hvilken rekkeølge er gunstig med tanke på å inne bevis så tidlig som mulig? xpx, Pa,..., Pa Pa, Qga. xpx, Pa Pa, Qga xpx Pa, Qga a, a, ga, a, ga,..., a,... 1 2 3 4 5 i Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 7 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 8 / 39

Utsette valg av γ-term δ-reglene En bedre idé: Utsette valg av term i γ-reglene til et senere tidspunkt. La γ-reglene sette inn rie variable: a/u xpx, Pu Pa xpx Pa b/v xpx, Pv Pb xpx Pb xpx Pa Pb Substituere termer or variable slik at løvnodene blir aksiomer. Hvilke substitusjoner vi kan anvende på løvnoder med rie variable slik at de blir aksiomer? Problemet kan løses med uniiseringsalgoritmer. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 9 / 39 Når vi setter inn variable i γ-reglene år vi imidlertid problemer med δ-reglene. Hvordan sikre at parameteren vi setter inn er ny når vi ennå ikke har satt inn termer or de rie variablene? b/u, a/v Lua Lbv yluy ylyv x ylxy x ylyx kan ikke lukkes Lu (u) Lg(v)v yluy ylyv x ylxy x ylyx Vi lar δ-reglene introdusere en Skolemterm: (u 1,..., u n ), der er et nytt unksjonssymbol, kalt en Skolemunksjon, og u 1,..., u n er alle variablene som orekommer ritt i δ-ormelen. På den måten sikrer vi at termen introdusert av δ-regelen er ny uansett hva slags verdi vi velger å instansiere de rie variablene med. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 10 / 39 Oppsummering Vi skal introdusere en ri-variabel sekventkalkyle og vise at den er sunn og komplett. γ-reglene introduserer nye rie variable og δ-reglene introduserer Skolemtermer. Ved hjelp av uniiseringsalgoritmer inner vi substitusjoner som lukker utledningen. 1 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 11 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 12 / 39

Vi har tidligere deinert ϕ[s/x] som ormelen vi år ved å erstatte alle rie orekomster av x i ϕ med s. I ri-variabel sekventkalkyle har vi behov or å erstatte lere orskjellige variable med termer samtidig. Vi skal nå deinere en bestemt type unksjoner substitusjoner som generaliserer én-variabel substitusjon til lere variable. Notasjon: Når vi anvender en substitusjon σ på en ormel ϕ eller en term t skriver vi ϕσ eller tσ istedenor σ(ϕ)/σ(t). Deinisjon (Substitusjon) En substitusjon er en unksjon σ ra mengden variable V til mengden av termer T i et gitt ørsteordens språk. Støtten (support) eller støttemengden (support set) til σ er mengden av variable x slik at xσ x. σ er grunn dersom xσ er en lukket term or alle variable x i støttemengden til σ. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 13 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 14 / 39 Notasjon En substitusjon σ med endelig støtte {x 1,..., x n } slik at x 1 σ = t 1,..., x n σ = t n skriver vi ote slik: σ = {t 1 /x 1,..., t n /x n } Substitusjonen ɛ slik at xɛ = x or alle variable x kalles identitetssubstitusjonen. Identitetssubstitusjonen kan skrives {} siden den har tom støttemengde. σ = {a/x, a/y} er en substitusjon slik at xσ = a yσ = a zσ = z or alle andre variable er en grunn substitusjon τ = {a/y, x/z} er en substitusjon slik at yσ = a zσ = x vσ = v or alle andre variable er ikke en grunn substitusjon Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 15 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 16 / 39

Substitusjon på termer Substitusjon på ormler Vi deinerer substitusjon på termer som tidligere. Deinisjon (Substitusjon på termer) Vi deinerer resultatet av å anvende en substitusjon σ på vilkårlige termer rekursivt ved: cσ = c or et konstantsymbol c. (t 1,..., t n )σ = (t 1 σ,..., t n σ) or en unksjonsterm (t 1,..., t n ). La σ = {gy/x, y/z}. (x, a)σ = (gy, a) h(y, z)σ = h(y, y) xσ = gy La τ = {y/x, x/y}. xτ = y (x, y)τ = (y, x) Som tidligere, ønsker vi at substitusjoner ikke skal endre bundne variable. Eksempel: or σ = {a/x, b/y} så vil x(px Qy)σ = xpx Qb. Vi begrenser substitusjonen på den bundne variabelen: Deinisjon (Begrenset substitusjon) La σ være en substitusjon. Substitusjonen σ begrenset på x, skrevet σ x, er deinert slik at { y hvis y = x yσ x = yσ ellers or enhver variabel y. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 17 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 18 / 39 Deinisjon (Substitusjon på ormler) ϕσ er deinert rekursivt ved: 1 R(t 1,..., t n )σ = R(t 1 σ,..., t n σ) 2 ψσ = (ψσ) 3 (ϕ 1 ϕ 2 )σ = (ϕ 1 σ ϕ 2 σ), hvor {,, } 4 (Qxψ)σ = Qx(ψσ x ), hvor Q {, } Vi antar, som tidligere, at ingen variable blir bundet som resultat av å anvende en substitusjon. Dette kan vi unngå ved å omdøpe bundne variable. La σ = {x/x, a/y, y/z} σ x = { x/x, a/y, y/z} σ y = {x/x, a/y, y/z} σ z = {x/x, a/y, y/z } P(x, y)σ = P(x, a) xp(x, y)σ = x(p(x, y)σ x ) = xp(x, a) z(px Qz)σ = z((px Qz)σ z ) = z(px Qz) Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 19 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 20 / 39

Komposisjon av substitusjoner Komposisjon av substitusjoner med endelig støtte La σ og τ være substitusjoner. Anta at vi ørst anvender σ og så τ på en ormel ϕ: (ϕσ)τ. Vi har av og til bruk or å snakke om den substitusjonen som tilsvarer å anvende σ etterulgt av τ. Deinisjon (Komposisjon av substitusjoner) La σ og τ være substitusjoner. Komposisjonen av σ og τ er en substitusjon skrevet στ slik at x(στ) = (xσ)τ or hver variabel x. Oppgave: vis at ϕ(στ) = (ϕσ)τ or alle ormler ϕ og alle substitusjoner σ og τ. Påstand La σ 1 = {s 1 /x 1,..., s n /x n } og σ 2 = {t 1 /y 1,..., t k /y k }. Da er σ 1 σ 2 = {(s 1 σ 2 )/x 1,..., (s n σ 2 )/x n, (z 1 σ 2 )/z 1,..., (z m σ 2 )/z m } der z 1,..., z m er de variablene blant y 1,..., y k som ikke er blant x 1,..., x n. La σ = {z/x, a/y} og τ = {b/y, a/z}. Da er στ = {(zτ)/x, (aτ)/y, (zτ)/z} = {a/x, a/y, a/z}. La σ = {y/x} og τ = {x/y}. Da er στ = {(yτ)/x, (yτ)/y} = {x/x, x/y} = {x/y}. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 21 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 22 / 39 1 I ri-variabel sekventkalkyle kan vi ha løvsekventer på ormen Γ, P(s 1,..., s n ) P(t 1,..., t n ), der hver s i og t i er termer som kan inneholde variable. For å lukke løvsekventen må vi inne en substitusjon σ slik at s i σ = t i σ or hver i. Det er ikke sikkert at noen slik substitusjon innes! sproblemet La s og t være termer. Finn alle substitusjoner som gjør s og t syntaktisk like, dvs. alle σ slik at sσ = tσ. En substitusjon som gjør termene s og t syntaktisk like, kalles en uniikator or s og t. To termer er uniiserbare hvis de har en uniikator. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 23 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 24 / 39

Er (x) og (a) uniiserbare? Ja. Vi ser at σ = {a/x} er en uniikator: (x)σ = (a) Er (x, b) og (a, y) uniiserbare? Kan være lettere å se hvis vi skriver termene som trær: Er (a, b) og g(a, b) uniiserbare? a b a b x b a y g Symbolene i posisjon 0 (rotposisjonen) er like. Symbolene i venstre barn er ulike, men kan uniiseres med {a/x}. Symbolene i høyre barn er ulike, men kan uniiseres med {b/y}. Symbolene i posisjon 0 er ulike, og kan ikke uniiseres! Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 25 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 26 / 39 Er x og (x) uniiserbare? Er (x, x) og (a, b) uniiserbare? x x a b Symbolene i posisjon 0 er like. Symbolene i venstre barn er ulike, men kan uniiseres med {a/x}. Vi må anvende {a/x} på x i både venstre og høyre barn. Symbolene i høyre barn er nå ulike, og kan ikke uniiseres! x x Symbolene i posisjon 0 er ulike, men kan uniiseres med { (x)/x}. Vi må samtidig anvende { (x)/x} på x i høyre tre. På posisjon 1 ser vi nå at symbolene x og er ulike. Hvis vi uniiserer med { (x)/x}, må vi igjen erstatte x i høyre tre. Sånn kan vi holde på en stund... Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 27 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 28 / 39

Generelt har vi: To ulike konstantsymboler eller unksjonssymboler er ikke uniiserbare. En variabel x er ikke uniiserbar med en term som inneholder x. Vi skal lage en uniiseringsalgoritme, som inner alle uniikatorer or to termer. Problem: To termer har potensielt uendelig mange uniikatorer! Vi kan ikke returnere alle... Løsning: Finne en representant σ or mengden av uniikatorer slik at alle andre uniikatorer kan konstrueres ra σ. En slik uniikator kalles en mest generell uniikator. Deinisjon (Mer generell substitusjon) La σ 1 og σ 2 være substitusjoner. Vi sier at σ 2 er mer generell enn σ 1 hvis det innes en substitusjon τ slik at σ 1 = σ 2 τ. Er { (y)/x} mer generell enn { (a)/x}? Ja, siden { (a)/x} = { (y)/x}{a/y}. Er { (a)/x} mer generell enn { (y)/x}? Nei, or det innes ingen substitusjon σ slik at { (y)/x} = { (a)/x}σ. Er { (y)/x} mer generell enn { (y)/x}? Ja, siden { (y)/x} = { (y)/x}ɛ. (Husk: ɛ er identitetssubstitusjonen.) Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 29 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 30 / 39 Deinisjon (Uniikator) La s og t være termer. En substitusjon σ er en uniikator or s og t hvis sσ = tσ. en mest generell uniikator (mgu) or s og t hvis den er en uniikator or s og t, og den er mer generell enn alle andre uniikatorer or s og t. Vi sier at s og t er uniiserbare hvis de har en uniikator. La s = (x) og t = (y). σ 1 = {a/x, a/y} er en uniikator or s og t σ 2 = {y/x} og σ 3 = {x/y} er også uniikatorer or s og t σ 2 og σ 3 er de mest generelle uniikatorene or s og t Variabelomdøping Fra det oregående eksempelet ser vi at to termer kan ha lere orskjellige mest generelle uniikatorer. Disse mgu-ene er imidlertid like opp til omdøping av variable. Deinisjon (Variabelomdøping) En substitusjon η er en variabelomdøping hvis 1 xη er en variabel or alle x V, og 2 xη yη or alle x, y V slik at x y. Er disse substitusjonene variabelomdøpinger? σ 1 = {z/x, x/y, y/z} Ja. σ 2 = {z/x, y/z} Nei, siden yσ 2 = zσ 2. σ 3 = {z/x, x/y, y/z, a/u} Nei, siden uσ 3 ikke er en variabel. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 31 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 32 / 39

Unikhet opp til omdøping av variable Deltermer Deinisjon (Deltermer) Påstand Hvis σ 1 og σ 2 er mest generelle uniikatorer or to termer s og t, så innes en variableomdøping η slik at σ 1 η = σ 2. Mengden av deltermer av en term t er den minste mengden T slik at t T, og hvis (t 1,..., t n ) T, så er hver t i T. Alle termer i T utenom t er ekte deltermer av t. Bevis som oppgave? La s = gx. Deltermer er: x, gx Ekte deltermer er: x La t = (x, a). Deltermer er: x, a, (x, a) Ekte deltermer er: x, a En term er altså en delterm av seg selv. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 33 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 34 / 39 Nummererte termtrær Vi har sett at termer kan representeres med trær. Når vi uniiserer er det gunstig å nummerere barna til noder i termtreet: a g x Slike trær kalles nummererte termtrær. c h a, 1 x, 2 g, 1, 0 c, 1 h, 2 Vi reerer til roten til det nummererte termtreet til en term t som rot(t). Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 35 / 39 Kritisk par Når vi skal uniisere to termer t 1 og t 2 er vi interessert i å inne par av deltermer som er ulike. Samtidig er det ønskelig å se på ulike deltermer så nærme roten som mulig. Deinisjon (Kritisk par) Et kritisk par or to termer t 1 og t 2 er et par k 1, k 2 slik at k 1 er en delterm av t 1 k 2 er en delterm av t 2 når vi tenker på termer som nummererte termtrær så er rot(k 1 ) orskjellig ra rot(k 2 ) stien ra rot(t 1 ) til rot(k 1 ) er lik stien ra rot(t 2 ) til rot(k 2 ) Merk: stiene kan være tomme, dvs. at termene er ulike allerede i rotsymbolet. Tomme stier er trivielt like... Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 36 / 39

Eksempel La s = (x, gb) og t = (a, hc). Vi år ølgende nummererte termtrær: x, 1 g, 2, 0 b, 1 a, 1 h, 2, 0 c, 1 Er b, c kritisk par or s og t? Nei, stien ra rot(s) til rot(b) er ulik stien ra rot(t) til rot(c). Er x, a kritisk par or s og t? Ja. Er gb, hc kritisk par or s og t? Ja. Algoritme: uniiser(t 1, t 2 ) σ := ɛ; while (t 1 σ t 2 σ) do velg et kritisk par k 1, k 2 or t 1 σ, t 2 σ; i (hverken k 1 eller k 2 er en variabel) then return ikke uniiserbare ; end i x := den av k 1, k 2 som er variabel (hvis begge er, så velg én); t := den av k 1, k 2 som ikke er x; i (x orekommer i t) then return ikke uniiserbare ; end i σ := σ{t/x}; end while return σ; Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 37 / 39 Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 38 / 39 Egenskaper ved uniiseringsalgoritmen Hvis termene t 1 og t 2 er uniiserbare, så returnerer algoritmen en mest generell uniikator or t 1 og t 2. Denne mgu-en er en representant or alle andre uniikatorer or t 1 og t 2. Hvis t 1 og t 2 ikke er uniiserbare, så returnerer algoritmen ikke uniiserbare. Institutt or inormatikk (UiO) INF3170 Logikk 16.04.2007 39 / 39