325
INF3170 – Logikk Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og unifisering Christian Mahesh Hansen Institutt for informatikk, Universitetet i Oslo 3. april 2006

Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

INF3170 – Logikk

Forelesning 10: Automatisk bevissøk – introduksjon,substitusjoner og unifisering

Christian Mahesh Hansen

Institutt for informatikk, Universitetet i Oslo

3. april 2006

Page 2: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Dagens plan

1 Automatisk bevissøk

Introduksjon

Substitusjoner

Unifisering

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 2 / 39

Page 3: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 4: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 5: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, og

en egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 6: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 7: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 8: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 9: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 10: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 11: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Automatisk bevissøk i førsteordens logikk

Sekventkalkylen LK tilbyr

et sett med regler for a bygge opp utledninger, ogen egenskap som skiller bevis fra utledninger.

Sunnhet sikrer oss at enhver bevisbar sekvent er gyldig.

Kompletthet sikrer oss at det finnes et bevis for enhver gyldig sekvent.

Kalkylen sier imidlertid ingenting om hvordan man finner bevis forgyldige sekventer!

Kompletthetsbeviset for LK gir hint om hvordan vi kan lage ensøkealgoritme.

La oss forsøke!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 3 / 39

Page 12: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Noen begreper

En utledning er lukket hvis alle grenene er lukket.

En utledning er utvidbar hvis det er mulig a anvende en regel pa enformel i en løvsekvent i utledningen.

En søkealgoritme er komplett hvis den finner et bevis for enhvergyldig sekvent.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 4 / 39

Page 13: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Noen begreper

En utledning er lukket hvis alle grenene er lukket.

En utledning er utvidbar hvis det er mulig a anvende en regel pa enformel i en løvsekvent i utledningen.

En søkealgoritme er komplett hvis den finner et bevis for enhvergyldig sekvent.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 4 / 39

Page 14: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Noen begreper

En utledning er lukket hvis alle grenene er lukket.

En utledning er utvidbar hvis det er mulig a anvende en regel pa enformel i en løvsekvent i utledningen.

En søkealgoritme er komplett hvis den finner et bevis for enhvergyldig sekvent.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 4 / 39

Page 15: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend whilereturn “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 16: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;

while (π ikke er lukket) doif (π ikke er utvidbar) then

return “ikke gyldig”;elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend whilereturn “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 17: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end if

end while

return “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 18: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) then

return “ikke gyldig”;elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend while

return “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 19: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend while

return “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 20: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

else

ϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend while

return “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 21: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;

utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend while

return “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 22: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend while

return “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 23: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend whilereturn “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 24: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Algoritme: gyldig?(Γ ` ∆)

π := Γ ` ∆;while (π ikke er lukket) do

if (π ikke er utvidbar) thenreturn “ikke gyldig”;

elseϕ := ikke-atomær formel i løvsekvent i π;utvid π ved a anvende riktig LK-regel pa ϕ;

end ifend whilereturn “gyldig”;

Algoritmen er komplett hvis utvelgelsen av ϕ er rettferdig.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 5 / 39

Page 25: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:

1 Hvor effektivt er det a sjekke om utledningen er lukket?2 Strategi for valg av utvidelse av utledningen.3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 26: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:1 Hvor effektivt er det a sjekke om utledningen er lukket?

2 Strategi for valg av utvidelse av utledningen.3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 27: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:1 Hvor effektivt er det a sjekke om utledningen er lukket?2 Strategi for valg av utvidelse av utledningen.

3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 28: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:1 Hvor effektivt er det a sjekke om utledningen er lukket?2 Strategi for valg av utvidelse av utledningen.3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 29: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:1 Hvor effektivt er det a sjekke om utledningen er lukket?2 Strategi for valg av utvidelse av utledningen.3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 30: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:1 Hvor effektivt er det a sjekke om utledningen er lukket?2 Strategi for valg av utvidelse av utledningen.3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 31: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Effektivitet

Effektiviteten til algoritmen avhenger av tre ting:1 Hvor effektivt er det a sjekke om utledningen er lukket?2 Strategi for valg av utvidelse av utledningen.3 Hvor effektiv er selve utvidelsen, dvs. regelanvendelsen?

Punkt 2 kommer vi i liten grad inn pa i kurset.

Punkt 1 og 3 skal vi imidlertid se pa.

La oss starte med punkt 3 – effektiviteten til regelanvendelsene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 6 / 39

Page 32: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:

Γ,A , B ` ∆L∧

Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆

All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆

Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 33: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:

Γ,A , B ` ∆L∧

Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆

Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 34: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:Γ,A , B ` ∆

L∧Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆

All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆

Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 35: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:Γ,A , B ` ∆

L∧Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆

Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 36: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:Γ,A , B ` ∆

L∧Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆

Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 37: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:Γ,A , B ` ∆

L∧Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 38: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:Γ,A , B ` ∆

L∧Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆

Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 39: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Hvor kostbare er regelanvendelsene?

α- og β-reglene henter ut delformler fra en sammensatt formel:Γ,A , B ` ∆

L∧Γ,A ∧ B ` ∆

Γ ` A,∆ Γ ` B,∆R∧

Γ ` A ∧ B,∆All nødvendig informasjon tilgjengelig i hovedformelen: kan utføres ikonstant tid.

Riktignok far vi en del formelkopiering i β-regelen, men dette kanoptimaliseres med f.eks. pekere i en objektorientert implementasjon.

δ-regelen setter inn en ny parameter for den bundne variabelen:

Γ, ϕ[a/x ] ` ∆L∃

Γ,∃xϕ ` ∆Parametrene kan nummereres: utføres i konstant tid.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 7 / 39

Page 40: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕ

Vi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 41: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 42: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕ

Vi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 43: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 44: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 45: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 46: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 47: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 48: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 49: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

γ-reglene

La oss se pa γ-reglene:

Γ,∀xϕ,ϕ[t/x ] ` ∆L∀

Γ,∀xϕ ` ∆

Γ ` ∆,∃xϕ,ϕ[t/x ]R∃

Γ ` ∆,∃xϕVi kan sette inn en vilkarlig lukket term t for x .

For a fa en komplett algoritme, ma vi (før eller senere) instansierehver γ-formel med alle termene i Herbranduniverset.

Vi kan nummerere termene i Herbranduniverset og instansiereγ-formlene i denne rekkefølgen.

Hvilken rekkefølge er gunstig med tanke pa a finne bevis sa tidlig sommulig?

∀xPx ,Pa, . . . ,Pfffa ` Pfffa,Qga...

∀xPx ,Pa ` Pfffa,Qga

∀xPx ` Pfffa,Qga

a1, fa

2, ga

3,ffa

4, fga

5, . . . ,fffa

i, . . .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 8 / 39

Page 50: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 51: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 52: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb

∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 53: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 54: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 55: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 56: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 57: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 58: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Utsette valg av γ-term

En bedre ide: Utsette valg av term i γ-reglene til et senere tidspunkt.

La γ-reglene sette inn frie variable:

a/u

∀xPx ,Pu ` Pa

∀xPx ` Pa

b/v

∀xPx ,Pv ` Pb

∀xPx ` Pb∀xPx ` Pa ∧ Pb

Substituere termer for variable slik at løvnodene blir aksiomer.

Hvilke substitusjoner vi kan anvende pa løvnoder med frie variable slikat de blir aksiomer?

Problemet kan løses med unifiseringsalgoritmer.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 9 / 39

Page 59: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 60: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 61: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 62: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 63: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 64: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 65: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 66: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 67: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 68: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon

, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 69: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 70: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 71: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 72: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 73: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 74: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

δ-reglene

Nar vi setter inn variable i γ-reglene far vi imidlertid problemer medδ-reglene.

Hvordan sikre at parameteren vi setter inn er ny nar vi enna ikke harsatt inn termer for de frie variablene?

b/u, a/v

Lua ` Lbv∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

kan ikke lukkes

Luf (u) ` Lg(v)v

∃yLuy ` ∀yLyv

∀x∃yLxy ` ∃x∀yLyx

Vi lar δ-reglene introdusere en Skolemterm:

f (u1, . . . , un),

der f er et nytt funksjonssymbol, kalt en Skolemfunksjon, ogu1, . . . , un er alle variablene som forekommer fritt i δ-formelen.

Pa den maten sikrer vi at termen introdusert av δ-regelen er nyuansett hva slags verdi vi velger a instansiere de frie variablene med.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 10 / 39

Page 75: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Oppsummering

Vi skal introdusere en fri-variabel sekventkalkyle

og vise at den ersunn og komplett.

γ-reglene introduserer nye frie variable

og δ-reglene introdusererSkolemtermer.

Ved hjelp av unifiseringsalgoritmer konstrueres lukkendesubstitusjoner for utledningene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 11 / 39

Page 76: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Oppsummering

Vi skal introdusere en fri-variabel sekventkalkyle

og vise at den ersunn og komplett.

γ-reglene introduserer nye frie variable

og δ-reglene introdusererSkolemtermer.

Ved hjelp av unifiseringsalgoritmer konstrueres lukkendesubstitusjoner for utledningene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 11 / 39

Page 77: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Oppsummering

Vi skal introdusere en fri-variabel sekventkalkyle og vise at den ersunn og komplett.

γ-reglene introduserer nye frie variable

og δ-reglene introdusererSkolemtermer.

Ved hjelp av unifiseringsalgoritmer konstrueres lukkendesubstitusjoner for utledningene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 11 / 39

Page 78: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Oppsummering

Vi skal introdusere en fri-variabel sekventkalkyle og vise at den ersunn og komplett.

γ-reglene introduserer nye frie variable

og δ-reglene introdusererSkolemtermer.

Ved hjelp av unifiseringsalgoritmer konstrueres lukkendesubstitusjoner for utledningene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 11 / 39

Page 79: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Oppsummering

Vi skal introdusere en fri-variabel sekventkalkyle og vise at den ersunn og komplett.

γ-reglene introduserer nye frie variable og δ-reglene introdusererSkolemtermer.

Ved hjelp av unifiseringsalgoritmer konstrueres lukkendesubstitusjoner for utledningene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 11 / 39

Page 80: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Introduksjon

Oppsummering

Vi skal introdusere en fri-variabel sekventkalkyle og vise at den ersunn og komplett.

γ-reglene introduserer nye frie variable og δ-reglene introdusererSkolemtermer.

Ved hjelp av unifiseringsalgoritmer konstrueres lukkendesubstitusjoner for utledningene.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 11 / 39

Page 81: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

1 Automatisk bevissøk

Introduksjon

Substitusjoner

Unifisering

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 12 / 39

Page 82: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjoner

Vi har tidligere definert ϕ[s/x ] som formelen vi far ved a erstatte allefrie forekomster av x i ϕ med s.

I fri-variabel sekventkalkyle har vi behov for a erstatte flere forskjelligevariable med termer samtidig.

Vi skal na definere en bestemt type funksjoner – substitusjoner – somgeneraliserer en-variabel substitusjon til flere variable.

Notasjon: Nar vi anvender en substitusjon σ pa en formel ϕ eller enterm t skriver vi ϕσ eller tσ istedenfor σ(ϕ)/σ(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 13 / 39

Page 83: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjoner

Vi har tidligere definert ϕ[s/x ] som formelen vi far ved a erstatte allefrie forekomster av x i ϕ med s.

I fri-variabel sekventkalkyle har vi behov for a erstatte flere forskjelligevariable med termer samtidig.

Vi skal na definere en bestemt type funksjoner – substitusjoner – somgeneraliserer en-variabel substitusjon til flere variable.

Notasjon: Nar vi anvender en substitusjon σ pa en formel ϕ eller enterm t skriver vi ϕσ eller tσ istedenfor σ(ϕ)/σ(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 13 / 39

Page 84: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjoner

Vi har tidligere definert ϕ[s/x ] som formelen vi far ved a erstatte allefrie forekomster av x i ϕ med s.

I fri-variabel sekventkalkyle har vi behov for a erstatte flere forskjelligevariable med termer samtidig.

Vi skal na definere en bestemt type funksjoner – substitusjoner – somgeneraliserer en-variabel substitusjon til flere variable.

Notasjon: Nar vi anvender en substitusjon σ pa en formel ϕ eller enterm t skriver vi ϕσ eller tσ istedenfor σ(ϕ)/σ(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 13 / 39

Page 85: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjoner

Vi har tidligere definert ϕ[s/x ] som formelen vi far ved a erstatte allefrie forekomster av x i ϕ med s.

I fri-variabel sekventkalkyle har vi behov for a erstatte flere forskjelligevariable med termer samtidig.

Vi skal na definere en bestemt type funksjoner – substitusjoner – somgeneraliserer en-variabel substitusjon til flere variable.

Notasjon: Nar vi anvender en substitusjon σ pa en formel ϕ eller enterm t skriver vi ϕσ eller tσ istedenfor σ(ϕ)/σ(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 13 / 39

Page 86: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjoner

Vi har tidligere definert ϕ[s/x ] som formelen vi far ved a erstatte allefrie forekomster av x i ϕ med s.

I fri-variabel sekventkalkyle har vi behov for a erstatte flere forskjelligevariable med termer samtidig.

Vi skal na definere en bestemt type funksjoner – substitusjoner – somgeneraliserer en-variabel substitusjon til flere variable.

Notasjon: Nar vi anvender en substitusjon σ pa en formel ϕ eller enterm t skriver vi ϕσ eller tσ istedenfor σ(ϕ)/σ(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 13 / 39

Page 87: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon)

En substitusjon er en funksjon σ fra mengden variable V til mengden avtermer T i et gitt førsteordens sprak.

Støtten (support) eller støttemengden (support set) til σ er mengdenav variable x slik at xσ 6= x.

σ er grunn dersom xσ er en lukket term for alle variable x istøttemengden til σ.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 14 / 39

Page 88: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon)

En substitusjon er en funksjon σ fra mengden variable V

til mengden avtermer T i et gitt førsteordens sprak.

Støtten (support) eller støttemengden (support set) til σ er mengdenav variable x slik at xσ 6= x.

σ er grunn dersom xσ er en lukket term for alle variable x istøttemengden til σ.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 14 / 39

Page 89: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon)

En substitusjon er en funksjon σ fra mengden variable V til mengden avtermer T i et gitt førsteordens sprak.

Støtten (support) eller støttemengden (support set) til σ er mengdenav variable x slik at xσ 6= x.

σ er grunn dersom xσ er en lukket term for alle variable x istøttemengden til σ.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 14 / 39

Page 90: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon)

En substitusjon er en funksjon σ fra mengden variable V til mengden avtermer T i et gitt førsteordens sprak.

Støtten (support) eller støttemengden (support set) til σ er mengdenav variable x slik at xσ 6= x.

σ er grunn dersom xσ er en lukket term for alle variable x istøttemengden til σ.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 14 / 39

Page 91: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon)

En substitusjon er en funksjon σ fra mengden variable V til mengden avtermer T i et gitt førsteordens sprak.

Støtten (support) eller støttemengden (support set) til σ er mengdenav variable x slik at xσ 6= x.

σ er grunn dersom xσ er en lukket term for alle variable x istøttemengden til σ.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 14 / 39

Page 92: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Notasjon

En substitusjon σ med endelig støtte {x1, . . . , xn} slik atx1σ = t1, . . . , xnσ = tn skriver vi ofte slik:

σ = {t1/x1, . . . , tn/xn}

Substitusjonen ε slik at xε = x for alle variable x kallesidentitetssubstitusjonen.

Identitetssubstitusjonen kan skrives {} siden den har tomstøttemengde.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 15 / 39

Page 93: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Notasjon

En substitusjon σ med endelig støtte {x1, . . . , xn}

slik atx1σ = t1, . . . , xnσ = tn skriver vi ofte slik:

σ = {t1/x1, . . . , tn/xn}

Substitusjonen ε slik at xε = x for alle variable x kallesidentitetssubstitusjonen.

Identitetssubstitusjonen kan skrives {} siden den har tomstøttemengde.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 15 / 39

Page 94: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Notasjon

En substitusjon σ med endelig støtte {x1, . . . , xn} slik atx1σ = t1, . . . , xnσ = tn

skriver vi ofte slik:

σ = {t1/x1, . . . , tn/xn}

Substitusjonen ε slik at xε = x for alle variable x kallesidentitetssubstitusjonen.

Identitetssubstitusjonen kan skrives {} siden den har tomstøttemengde.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 15 / 39

Page 95: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Notasjon

En substitusjon σ med endelig støtte {x1, . . . , xn} slik atx1σ = t1, . . . , xnσ = tn skriver vi ofte slik:

σ = {t1/x1, . . . , tn/xn}

Substitusjonen ε slik at xε = x for alle variable x kallesidentitetssubstitusjonen.

Identitetssubstitusjonen kan skrives {} siden den har tomstøttemengde.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 15 / 39

Page 96: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Notasjon

En substitusjon σ med endelig støtte {x1, . . . , xn} slik atx1σ = t1, . . . , xnσ = tn skriver vi ofte slik:

σ = {t1/x1, . . . , tn/xn}

Substitusjonen ε slik at xε = x for alle variable x kallesidentitetssubstitusjonen.

Identitetssubstitusjonen kan skrives {} siden den har tomstøttemengde.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 15 / 39

Page 97: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Notasjon

En substitusjon σ med endelig støtte {x1, . . . , xn} slik atx1σ = t1, . . . , xnσ = tn skriver vi ofte slik:

σ = {t1/x1, . . . , tn/xn}

Substitusjonen ε slik at xε = x for alle variable x kallesidentitetssubstitusjonen.

Identitetssubstitusjonen kan skrives {} siden den har tomstøttemengde.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 15 / 39

Page 98: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}

er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 99: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 100: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = a

yσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 101: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fa

zσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 102: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 103: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 104: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}

er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 105: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 106: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}er en substitusjon slik at

yσ = a

zσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 107: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}er en substitusjon slik at

yσ = azσ = fx

vσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 108: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 109: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

σ = {a/x , fa/y}er en substitusjon slik at

xσ = ayσ = fazσ = z for alle andrevariable

er en grunn substitusjon

τ = {a/y , fx/z}er en substitusjon slik at

yσ = azσ = fxvσ = v for alle andrevariable

er ikke en grunn substitusjon

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 16 / 39

Page 110: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.

f (x , a)σ

= f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 111: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.

f (x , a)σ

= f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 112: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.

f (x , a)σ

= f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 113: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.

f (x , a)σ

= f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 114: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.

f (x , a)σ

= f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 115: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ

= f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 116: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 117: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ

= h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 118: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 119: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

= gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 120: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

xσ = gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 121: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

xσ = gy

La τ = {y/x , x/y}.

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 122: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

xσ = gy

La τ = {y/x , x/y}.xτ

= y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 123: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

xσ = gy

La τ = {y/x , x/y}.xτ = y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 124: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

xσ = gy

La τ = {y/x , x/y}.xτ = y

f (x , y)τ

= f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 125: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa termer

Vi definerer substitusjon pa termer som tidligere.

Definisjon (Substitusjon pa termer)

Vi definerer resultatet av a anvende en substitusjon σ pa vilkarlige termerrekursivt ved:

cσ = c for et konstantsymbol c.

f (t1, . . . , tn)σ = f (t1σ, . . . , tnσ) for en funksjonsterm f (t1, . . . , tn).

La σ = {gy/x , y/z}.f (x , a)σ = f (gy , a)

h(y , z)σ = h(y , y)

xσ = gy

La τ = {y/x , x/y}.xτ = y

f (x , y)τ = f (y , x)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 17 / 39

Page 126: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y}

sa vil ∀x(Px → Qy)σ

= ∀xPx → Qb

.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 127: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y}

sa vil ∀x(Px → Qy)σ

= ∀xPx → Qb

.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 128: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y}

sa vil ∀x(Px → Qy)σ

= ∀xPx → Qb

.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 129: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y} sa vil ∀x(Px → Qy)σ

= ∀xPx → Qb

.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 130: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y} sa vil ∀x(Px → Qy)σ = ∀xPx → Qb.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 131: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y} sa vil ∀x(Px → Qy)σ = ∀xPx → Qb.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 132: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y} sa vil ∀x(Px → Qy)σ = ∀xPx → Qb.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 133: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y} sa vil ∀x(Px → Qy)σ = ∀xPx → Qb.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 134: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Substitusjon pa formler

Som tidligere, ønsker vi at substitusjoner ikke skal endre bundnevariable.

Eksempel: for σ = {a/x , b/y} sa vil ∀x(Px → Qy)σ = ∀xPx → Qb.

Vi begrenser substitusjonen pa den bundne variabelen:

Definisjon (Begrenset substitusjon)

La σ være en substitusjon. Substitusjonen σ begrenset pa x, skrevet σx , erdefinert slik at

yσx =

{x hvis x = y

yσ ellers

for enhver variabel y .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 18 / 39

Page 135: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ

= R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 136: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ

= R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 137: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 138: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 139: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 140: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 141: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 142: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 143: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 144: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 145: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Definisjon (Substitusjon pa formler)

ϕσ er definert rekursivt ved:

1 R(t1, . . . , tn)σ = R(t1σ, . . . , tnσ)

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 aanvende en substitusjon.

Dette kan vi unnga ved a omdøpe bundne variable.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 19 / 39

Page 146: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx

= { fx/x , a/y , y/z}

σy

= {fx/x , a/y , y/z}

σz

= {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 147: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx

= { fx/x , a/y , y/z}

σy

= {fx/x , a/y , y/z}

σz

= {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 148: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy

= {fx/x , a/y , y/z}

σz

= {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 149: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy

= {fx/x , a/y , y/z}

σz

= {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 150: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz

= {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 151: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz

= {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 152: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 153: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ

= P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 154: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ = P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 155: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ = P(fx , a)

∀xP(x , y)σ

= ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 156: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ = P(fx , a)

∀xP(x , y)σ = ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 157: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ = P(fx , a)

∀xP(x , y)σ = ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ

= ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 158: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

La σ = {fx/x , a/y , y/z}

σx = { fx/x , a/y , y/z}

σy = {fx/x , a/y , y/z}

σz = {fx/x , a/y , y/z }

P(x , y)σ = P(fx , a)

∀xP(x , y)σ = ∀x(P(x , y)σx) = ∀xP(x , a)

∃z(Px → Qz)σ = ∃z((Px → Qz)σz) = ∃z(Pfx → Qz)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 20 / 39

Page 159: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 160: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 161: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 162: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 163: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 164: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner.

Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 165: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ

slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 166: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 167: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner

La σ og τ være substitusjoner.

Anta at vi først anvender σ og sa τ pa en formel ϕ: (ϕσ)τ .

Vi har av og til bruk for a snakke om den substitusjonen som tilsvarera anvende σ etterfulgt av τ .

Definisjon (Komposisjon av substitusjoner)

La σ og τ være substitusjoner. Komposisjonen av σ og τ er ensubstitusjon skrevet στ slik at x(στ) = (xσ)τ for hver variabel x.

Oppgave: vis at ϕ(στ) = (ϕσ)τ for alle formler ϕ og allesubstitusjoner σ og τ .

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 21 / 39

Page 168: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}.

Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn,

(z1σ2)/z1, . . . , (zmσ2)/zm

}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 169: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 =

{(s1σ2)/x1, . . . , (snσ2)/xn,

(z1σ2)/z1, . . . , (zmσ2)/zm

}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 170: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn,

(z1σ2)/z1, . . . , (zmσ2)/zm

}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 171: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 172: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 173: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 174: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 175: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 176: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 177: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 178: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 179: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 180: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 181: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 182: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 183: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 184: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 185: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 186: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 187: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 188: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 189: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Substitusjoner

Komposisjon av substitusjoner med endelig støtte

Pastand

La σ1 = {s1/x1, . . . , sn/xn} og σ2 = {t1/y1, . . . , tk/yk}. Da er

σ1σ2 = {(s1σ2)/x1, . . . , (snσ2)/xn, (z1σ2)/z1, . . . , (zmσ2)/zm}

der z1, . . . , zm er de variablene blant y1, . . . , yk som ikke er blantx1, . . . , xn.

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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 22 / 39

Page 190: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

1 Automatisk bevissøk

Introduksjon

Substitusjoner

Unifisering

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 23 / 39

Page 191: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 192: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 193: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 194: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 195: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 196: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 197: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer.

Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 198: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like

, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 199: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 200: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 201: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unifisering

I fri-variabel sekventkalkyle kan vi ha løvsekventer pa formen

Γ,P(s1, . . . , sn) ` P(t1, . . . , tn),∆

der hver si og ti er termer som kan inneholde variable.

For a lukke løvsekventen ma vi finne en substitusjon σ slik atsiσ = tiσ for hver i .

Det er ikke sikkert at noen slik substitusjon finnes!

Unifiseringsproblemet

La s og t være termer. Finn allesubstitusjoner som gjør s og tsyntaktisk like, dvs. alle σ slik atsσ = tσ.

En substitusjon som gjørtermene s og t syntaktisklike, kalles en unifikator for sog t.

To termer er unifiserbarehvis de har en unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 24 / 39

Page 202: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 203: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 204: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 205: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 206: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 207: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

x b a y

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 208: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

x b a y=

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 209: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

x b a y

6=

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 210: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

a b a y

={a/x}

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike, men kan unifiseres med {a/x}.

Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 211: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

a b a y

6=

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike, men kan unifiseres med {a/x}.Symbolene i høyre barn er ulike

, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 212: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x) og f (a) unifiserbare?

Ja. Vi ser at σ = {a/x} er en unifikator: f (x)σ = f (a)

Er f (x , b) og f (a, y) unifiserbare?

Kan være lettere a se hvis vi skriver termene som trær:

f f

a b a b

={b/y}

Symbolene i posisjon 0 (rotposisjonen) er like.

Symbolene i venstre barn er ulike, men kan unifiseres med {a/x}.Symbolene i høyre barn er ulike, men kan unifiseres med {b/y}.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 25 / 39

Page 213: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (a, b) og g(a, b) unifiserbare?

Symbolene i posisjon 0 er ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 26 / 39

Page 214: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (a, b) og g(a, b) unifiserbare?

f g

a b a b

Symbolene i posisjon 0 er ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 26 / 39

Page 215: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (a, b) og g(a, b) unifiserbare?

f g

a b a b6=

Symbolene i posisjon 0 er ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 26 / 39

Page 216: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 217: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

f f

x x a b

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 218: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

f f

x x a b=

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.

Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 219: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

f f

x x a b

6=

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike

, men kan unifiseres med {a/x}.Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 220: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

f f

a x a b

={a/x}

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike, men kan unifiseres med {a/x}.

Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 221: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

f f

a a a b

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike, men kan unifiseres med {a/x}.Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 222: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er f (x , x) og f (a, b) unifiserbare?

f f

a a a b

6=

Symbolene i posisjon 0 er like.

Symbolene i venstre barn er ulike, men kan unifiseres med {a/x}.Vi ma anvende {a/x} pa x i bade venstre og høyre barn.

Symbolene i høyre barn er na ulike, og kan ikke unifiseres!

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 27 / 39

Page 223: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

Symbolene i posisjon 0 er ulike

, men kan unifiseres med {f (x)/x}.

Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 224: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

x f

x

Symbolene i posisjon 0 er ulike

, men kan unifiseres med {f (x)/x}.

Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 225: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

x f

x6=

Symbolene i posisjon 0 er ulike

, men kan unifiseres med {f (x)/x}.Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 226: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

f f

x x={f (x)/x}

Symbolene i posisjon 0 er ulike, men kan unifiseres med {f (x)/x}.

Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 227: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

f f

x f

x

Symbolene i posisjon 0 er ulike, men kan unifiseres med {f (x)/x}.Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 228: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

f f

x f

x6=

Symbolene i posisjon 0 er ulike, men kan unifiseres med {f (x)/x}.Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 229: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

f f

f

x

f

x={f (x)/x}

Symbolene i posisjon 0 er ulike, men kan unifiseres med {f (x)/x}.Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}

, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 230: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

f f

f

x

f

f

x

Symbolene i posisjon 0 er ulike, men kan unifiseres med {f (x)/x}.Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 231: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Er x og f (x) unifiserbare?

f f

f

x

f

f

x

Symbolene i posisjon 0 er ulike, men kan unifiseres med {f (x)/x}.Vi ma samtidig anvende {f (x)/x} pa x i høyre tre.

Pa posisjon 1 ser vi na at symbolene x og f er ulike.

Hvis vi unifiserer med {f (x)/x}, ma vi igjen erstatte x i høyre tre.

Sann kan vi holde pa en stund...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 28 / 39

Page 232: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 233: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 234: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 235: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 236: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 237: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 238: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Generelt har vi:

To ulike konstantsymboler eller funksjonssymboler er ikke unifiserbare.

En variabel x er ikke unifiserbar med en term som inneholder x .

Vi skal lage en unifiseringsalgoritme, som finner alle unifikatorer for totermer.

Problem: To termer har potensielt uendelig mange unifikatorer! Vikan ikke returnere alle...

Løsning: Finne en representant σ for mengden av unifikatorer slik atalle andre unifikatorer kan konstrueres fra σ.

En slik unifikator kalles en mest generell unifikator.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 29 / 39

Page 239: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?

Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?

Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 240: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner.

Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?

Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?

Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 241: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?

Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?

Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 242: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?

Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?

Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 243: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?

Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 244: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?

Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 245: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 246: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?

Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 247: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Mer generell substitusjon)

La σ1 og σ2 være substitusjoner. Vi sier at σ2 er mer generell enn σ1 hvisdet finnes en substitusjon τ slik at σ1 = σ2τ .

Er {f (y)/x} mer generell enn {f (a)/x}?Ja, siden {f (a)/x} = {f (y)/x}{a/y}.

Er {f (a)/x} mer generell enn {f (y)/x}?Nei, for det finnes ingen substitusjon σ slik at {f (y)/x} = {f (a)/x}σ.

Er {f (y)/x} mer generell enn {f (y)/x}?Ja, siden {f (y)/x} = {f (y)/x}ε. (Husk: ε er identitetssubstitusjonen.)

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 30 / 39

Page 248: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 249: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer.

En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 250: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 251: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 252: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, og

den er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 253: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 254: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 255: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 256: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 257: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 258: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Definisjon (Unifikator)

La s og t være termer. En substitusjon σ er

en unifikator for s og t hvis sσ = tσ.

en mest generell unifikator (mgu) for s og t hvis

den er en unifikator for s og t, ogden er mer generell enn alle andre unifikatorer for s og t.

Vi sier at s og t er unifiserbare hvis de har en unifikator.

La s = f (x) og t = f (y).

σ1 = {a/x , a/y} er en unifikator for s og t

σ2 = {y/x} og σ3 = {x/y} er ogsa unifikatorer for s og t

σ2 og σ3 er de mest generelle unifikatorene for s og t

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 31 / 39

Page 259: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 260: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 261: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 262: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 263: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 264: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 265: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 266: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 267: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 268: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Variabelomdøping

Fra det foregaende eksempelet ser vi at to termer kan ha flereforskjellige mest generelle unifikatorer.

Disse mgu-ene er imidlertid like opp til omdøping av variable.

Definisjon (Variabelomdøping)

En substitusjon η er en variabelomdøping hvis

1 xη er en variabel for alle x ∈ V, og

2 xη 6= yη for alle x , y ∈ V slik at x 6= 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 for informatikk (UiO) INF3170 – Logikk 03.04.2006 32 / 39

Page 269: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unikhet “opp til omdøping av variable”

Pastand

Hvis σ1 og σ2 er mest generelle unifikatorer for to termer s og t, sa finnesen variableomdøping η slik at σ1η = σ2.

Bevis som oppgave?

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 33 / 39

Page 270: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Unikhet “opp til omdøping av variable”

Pastand

Hvis σ1 og σ2 er mest generelle unifikatorer for to termer s og t, sa finnesen variableomdøping η slik at σ1η = σ2.

Bevis som oppgave?

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 33 / 39

Page 271: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er:

x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 272: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er:

x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 273: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er:

x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 274: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er:

x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 275: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er:

x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 276: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er:

x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 277: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 278: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er:

x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 279: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 280: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 281: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er:

x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 282: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er: x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 283: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er: x , a, f (x , a)

Ekte deltermer er:

x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 284: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er: x , a, f (x , a)

Ekte deltermer er: x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 285: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Deltermer

Definisjon (Deltermer)

Mengden av deltermer av en term t er den minste mengden T slik at

t ∈ T, og

hvis f (t1, . . . , tn) ∈ T, sa er hver ti ∈ T.

Alle termer i T utenom t er ekte deltermer av t.

La s = gx .

Deltermer er: x , gx

Ekte deltermer er: x

La t = f (x , a).

Deltermer er: x , a, f (x , a)

Ekte deltermer er: x , a

En term er altsa en delterm av seg selv.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 34 / 39

Page 286: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 287: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 288: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 289: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 290: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 291: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 292: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Nummererte termtrær

Vi har sett at termer kan representeres med trær.

Nar vi unifiserer er det gunstig a nummerere barna til noder itermtreet:

f

g

a x

h

c

f , 0

g , 1

a, 1 x , 2

h, 2

c , 1

Slike trær kalles nummererte termtrær.

Vi referer til roten til det nummererte termtreet til en term t somrot(t).

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 35 / 39

Page 293: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 294: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 295: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 296: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 297: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 298: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2

nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 299: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 300: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)

stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 301: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 302: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Kritisk par

Nar vi skal unifisere to termer t1 og t2 er vi interessert i a finne par avdeltermer som er ulike.

Samtidig er det ønskelig a se pa ulike deltermer sa nærme roten sommulig.

Definisjon (Kritisk par)

Et kritisk par for to termer t1 og t2 er et par 〈k1, k2〉 slik at

k1 er en delterm av t1

k2 er en delterm av t2nar vi tenker pa termer som nummererte termtrær sa er

rot(k1) forskjellig fra rot(k2)stien fra rot(t1) til rot(k1) er lik stien fra rot(t2) til rot(k2)

Merk: stiene kan være tomme, dvs. at termene er ulike allerede irotsymbolet. Tomme stier er trivielt like...

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 36 / 39

Page 303: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc).

Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t?

Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 304: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t?

Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 305: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t?

Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 306: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t?

Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 307: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t?

Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 308: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t? Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 309: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t? Ja.

Er 〈gb, hc〉 kritisk par for s og t?

Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 310: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Eksempel

La s = f (x , gb) og t = f (a, hc). Vi far følgende nummererte termtrær:

f , 0

x , 1 g , 2

b, 1

f , 0

a, 1 h, 2

c , 1

Er 〈b, c〉 kritisk par for s og t?

Nei, stien fra rot(s) til rot(b) er ulik stien fra rot(t) til rot(c).

Er 〈x , a〉 kritisk par for s og t? Ja.

Er 〈gb, hc〉 kritisk par for s og t? Ja.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 37 / 39

Page 311: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)

σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end whilereturn σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 312: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;

while (t1σ 6= t2σ) dovelg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end whilereturn σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 313: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 314: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;

if (hverken k1 eller k2 er en variabel) thenreturn “ikke unifiserbare”;

end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 315: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;

end if

x := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 316: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end if

x := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 317: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;

if (x forekommer i t) thenreturn “ikke unifiserbare”;

end ifσ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 318: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;

end if

σ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 319: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end if

σ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 320: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end while

return σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 321: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Algoritme: unifiser(t1, t2)σ := ε;while (t1σ 6= t2σ) do

velg et kritisk par 〈k1, k2〉 for t1σ, t2σ;if (hverken k1 eller k2 er en variabel) then

return “ikke unifiserbare”;end ifx := den av k1, k2 som er variabel (hvis begge er, sa velg en);t := den av k1, k2 som ikke er x ;if (x forekommer i t) then

return “ikke unifiserbare”;end ifσ := σ{t/x};

end whilereturn σ;

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 38 / 39

Page 322: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Egenskaper ved unifiseringsalgoritmen

Hvis termene t1 og t2 er unifiserbare, sa returnerer algoritmen enmest generell unifikator for t1 og t2.

Denne mgu-en er en representant for alle andre unifikatorer for t1 ogt2.

Hvis t1 og t2 ikke er unifiserbare, sa returnerer algoritmen “ikkeunifiserbare”.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 39 / 39

Page 323: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Egenskaper ved unifiseringsalgoritmen

Hvis termene t1 og t2 er unifiserbare, sa returnerer algoritmen enmest generell unifikator for t1 og t2.

Denne mgu-en er en representant for alle andre unifikatorer for t1 ogt2.

Hvis t1 og t2 ikke er unifiserbare, sa returnerer algoritmen “ikkeunifiserbare”.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 39 / 39

Page 324: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Egenskaper ved unifiseringsalgoritmen

Hvis termene t1 og t2 er unifiserbare, sa returnerer algoritmen enmest generell unifikator for t1 og t2.

Denne mgu-en er en representant for alle andre unifikatorer for t1 ogt2.

Hvis t1 og t2 ikke er unifiserbare, sa returnerer algoritmen “ikkeunifiserbare”.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 39 / 39

Page 325: Forelesning 10: Automatisk bevissøk – introduksjon, substitusjoner og … · 3. april 2006. Dagens plan 1 Automatisk bevissøk Introduksjon Substitusjoner Unifisering ... Logikk

Automatisk bevissøk Unifisering

Egenskaper ved unifiseringsalgoritmen

Hvis termene t1 og t2 er unifiserbare, sa returnerer algoritmen enmest generell unifikator for t1 og t2.

Denne mgu-en er en representant for alle andre unifikatorer for t1 ogt2.

Hvis t1 og t2 ikke er unifiserbare, sa returnerer algoritmen “ikkeunifiserbare”.

Institutt for informatikk (UiO) INF3170 – Logikk 03.04.2006 39 / 39