Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!

Storlek: px
Starta visningen från sidan:

Download "Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!"

Transkript

1 Filosofiska institutionen Göteborgs universitet UTKAST Resolution, unifiering och syntaktiska modeller En introduktion till logikprogrammeringens teori Björn Haglund Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!

2 Innehåll 0 Några konventioner 2 1 Definitioner 2 2 Notation 3 3 Terminologi 5 4 Från standardform till klausulform 5 5 Herbrand-tolkningar 10 6 Herbrands sats och grundresolution 11 7 Unifiering 15 8 Allmän resolution 19 9 En indeterministisk bevisalgoritm 21 1

3 0 Några konventioner I det följande kommer vi att använda ω som symbol för mängden av naturliga tal, dvs ω = {0, 1, 2, 3,...} i, k ω betyder att i och k är naturliga tal, dvs att i = 0 eller 1 eller 2 eller... och att k = 0 eller 1 eller 2 eller... Märk att om vi skriver A 1, A 2,..., A n,... (n ω), så inkluderar vi fallen n = 0 (innebär tom lista) och n = 1 (innebär lista med ett element). Listan A 0, A 1,..., A n, (n ω) har dock alltid minst ett element. För att ange att två formler är logiskt ekvivalenta använder vi ibland symbolen. φ ψ betyder alltså att φ och ψ är logiskt ekvivalenta. används för att beteckna en absurd sats, dvs en sats som är falsk i varje modell, eller m.a.o. en sats som inte är satisfierbar. x (x = x) eller (φ φ) för lämpligt φ används för att beteckna en valid sats, dvs en sats som är sann i varje modell. x(x = x), eller (φ φ) för lämpligt φ 1 Definitioner En atom är en atomär formel, dvs en predikatsymbol följd av så många termförekomster (inom parentes och åtskiljda av kommatecken) som dess ställighet anger. En atom är således en formel utan (andra) logiska konstanter (än identitetssymbolen). En literal är en atom (=positiv literal) eller en negerad atom (=negativ literal). En klausul är en disjunktion av literaler, dvs av atomer och negerade atomer. En sats sägs vara i klausulform om den är av formen x 1 x 2... x i (C 1 C 2... C k ), (i, k ω), där varje konjunkt är en klausul. (Följden av kvantifikatorer ( x 1 x 2... x i ) kallas formelns prefix, och konjunktionen av klausuler (C 1 C 2... C k ) kallas formelns matris.) 2

4 x y z((p (x) Q(y)) (R(x, f(y)) P (z)) Q(a)) är en sats i klausulform. (Kontrollera!) 2 Notation Eftersom satser i klausulform spelar så stor roll i logikprogrammering har man infört en speciell notation för dem. En klausul är ju en disjunktion av literaler. Men eftersom disjunktion dels är kommutativ (dvs A B är logiskt ekvivalent med B A) och dels är associativ (dvs (A B) C är ekvivalent med A (B C)) och dessutom idempotent (dvs A A är ekvivalent med A), så kan vi i praktiken betrakta en klausul som en mängd av formler. (Vi bortser med andra ord från ordning mellan, och antal förekomster av, literaler i en klausul, liksom naturligtvis från parentesstrukturer.) Vi kan till att börja med införa beteckningssättet (A 1 ; A 2 ;... ; A n ; B 1 ; B 2 ;... ; B m ) för en klausul, där A 1, A 2,..., A n är de positiva literalerna (=atomerna) och B 1, B 2,..., B m är de negativa literalerna (=negerade atomerna) i klausulen, (n, m ω). Att det är fråga om en klausul framgår bl.a. av att vi använder semikolon, som alltså skall utläsas som ett disjunktionstecken. Vanligtvis skriver man dock inte på detta sätt utan på följande: (A 1 ; A 2 ;... ; A n B 1, B 2,..., B m ) Detta är alltså den vanliga notationen för en klausul. (Ofta utelämnas dessutom parenteserna). Den kan läsas ut på följande sätt: A 1 eller A 2 eller... eller A n om B 1 och B 2 och... och B m. Märk att vi läser ut kommatecknen som konjunktioner. En motivering till detta får vi om vi lägger märke till att bara är ett annat sätt att skriva formeln (A 1 ; A 2 ; B 1 ; B 2 ) (A 1 A 2 B 1 B 2 ) 3

5 som är ekvivalent med och med och, slutligen, med enligt vanlig satslogik. (( B 1 B 2 ) (A 1 A 2 )) ( (B 1 B 2 ) (A 1 A 2 )) (B 1 B 2 A 1 A 2 ) Skriver vi ut den sista formeln med implikationspilen baklänges och med disjunktioner och konjunktioner utbytta mot semikolon respektive kommatecken, så får vi den vanliga klausulnotationen. Låt oss nu kort återvända till satser i klausulform, dvs satser av formen x 1 x 2... x i (C 1 C 2... C k ) där varje C n är en klausul Eftersom (generellt) x(φ ψ) xφ xψ, dvs allkvantifikatorn distribuerar över konjunktion, är en sats i klausulform ekvivalent med en konjunktion av universellt slutna klausuler. Eftersom vidare konjunktion (liksom disjunktion) är associativ, kommutativ och idempotent, kan vi identifiera en sats i klausulform med en mängd av sådana universellt slutna klausuler. Vi kommer i fortsättningen, om inget annat sägs, att underförstå att klausuler är universellt slutna, dvs att varje förekomst av en variabel i en klausul är bunden av en (ej utskriven) allkvantifikator framför klausulen. En kommentar: Eftersom allkvantifikatorn distribuerar över konjunktion, och slutna variabler kan bytas mot andra slutna variabler utan förändring av formlers mening, finns det ingen möjlighet att uttrycka samband mellan olika klausuler med hjälp av variabler. T.ex. betyder x(p (x) Q(x)) detsamma som zp (z) yq(y)( z y(p (z) Q(y))) Däremot kan samband mellan olika literaler inom en klausul anges med hjälp av variabler. x(p (x) Q(x)) betyder något annat (svagare) än zp (z) yq(y)( z y(p (z) Q(y))) (Man brukar säga att variabler har lokal betydelse inom en klausul.) 4

6 3 Terminologi I en klausul (A 1 ; A 2 ;... ; A n B 1, B 2,..., B m ), (n, m ω) kallas delen A 1 ; A 2 ;... ; A n, dvs den del av klausulen som omfattar de positiva literalerna, för klausulens huvud (konsekvensdel, konsekvent) och delen B 1, B 2,..., B m, dvs den del som omfattar de negativa literalerna, för klausulens kropp (villkorsdel, antecedent). En programklausul (Hornklausul) är en klausul av formen (A B 1,..., B m ), dvs en klausul med exakt en positiv literal. En enhetsklausul (ovillkorlig klausul, faktum ) är en programklausul med tom kropp, dvs en klausul av formen (A ). Ett logikprogram är en ändlig mängd av programklausuler. I ett logikprogram kallas mängden av programklausuler med samma huvud A en definition av predikatet i A. (Kom ihåg att A är en atom, dvs av formen P (t 1,..., t n ) för ett predikat P och termer t 1,..., t n.) Elementen i en definition kallas ibland definitionsklausuler eller regler. En målklausul (frågeklausul) är en klausul med tomt huvud, dvs en klausul av formen ( B 1,..., B m ). B i (i = 1,..., m) kallas för målklausulens delmål (delfrågor). Några kommentarer: Låt oss först konstatera att varje logikprogram är ekvivalent med en sats i klausulform. (Däremot gäller inte omvändningen, eftersom inte varje klausul är en programklausul.) Med hjälp av t ex en sanningsvärdestabell kan vi konstatera att A A för alla formler A. För en icketom klausul C, betraktad som en mängd av literaler, innebär detta att C C { } och (eftersom ) att C C { }. Vi kan m.a.o. alltid lägga till i klausulhuvudet och/eller i klausulkroppen utan att ändra klausulens logiska egenskaper. Vi bestämmer oss nu för att detsamma skall gälla även för tomma klausuler, dvs ( ) ( ) 4 Från standardform till klausulform Vi skall här presentera metoder att till en given sats φ i ett första ordningens språk konstruera en sats ψ i klausulform, så att φ har en modell omm ψ har en modell (eller m.a.o. så att φ är satisfierbar omm ψ är satisfierbar). Det intressantaste i dessa metoder är sättet att eliminera existenskvantifikatorer i 5

7 formler. (Minns att prefixet i en sats i klausulform endast innehåller allkvantifikatorer.) Existenskvantifikatorer kan elimineras via introduktion av s.k. Skolemfunktioner. Så först en kort introduktion till sådana. Att en sats xφ(x) är sann i en modell M betyder ju att det finns en individ a i modellens domän som satisfierar φ(x) (dvs att M φ(c), där c är en individkonstant som denoterar a) Om, omvänt, M φ(c) (för ngt c) så M xφ(x). Det följer att xφ(x) är satisfierbar omm φ(c) är satisfierbar för någon individkonstant c. (Däremot gäller inte att xφ(x) φ(c).) Vi kan alltså, med bevarande av satisfierbarhetsegenskaper, eliminera en existenskvantifikator som står först i en formel genom att införa en ny individkonstant. Om existenskvantifikatorn föregås av allkvantifikatorer fungerar dock inte metoden med individkonstanter. T ex är x y(x y) sann i varje modell med minst två element i domänen (och alltså satisfierbar), medan x(x c) inte är satisfierbar. Det gäller dock att om x yφ(x, y) har en modell M, så kan man till varje a M hitta b M så att (a, b) satisfierar φ(x, y) i M. Alltså finns en funktion f : M M sådan att för alla a M gäller att (a, f(a)) satisfierar φ(x, y) i M. En sådan funktion kallas en Skolemfunktion. Det är också klart att om xφ(x, f(x)) är sann i en modell M, så är x yφ(x, y) sann i samma modell. På liknande sätt kan man se att x 1... x n yφ(x 1,..., x n, y) är satisfierbar omm x 1... x n φ(x 1,..., x n, f(x 1,..., x n )) är det. Genom att införa nya funktionssymboler i språket kan vi alltså eliminera även existenskvantifikatorer som föregås av allkvantifikatorer. Även konstanter kan betraktas som funktioner (med konstant värde).eftersom värdet på en sådan funktion är oberoende av argumentens värden kan man låta den vara argumentlös, dvs nollställig. Med en sådan konvention kan man alltså ge en uniform beskrivning av metoden att eliminera existenskvantifikatorer. En existenskvantifikator y som föregås av n allkvantifikatorer x 1 x 2... x n, n ω kan elimineras genom att alla förekomster av variabeln y ersätts med förekomster av termen f(x 1, x 2,..., x n ), där f är en ny funktionssymbol. Vi skall nu beskriva en metod att till en given formel φ konstruera en sats ψ i klausulform, så att φ är satisfierbar omm ψ är det. (Märk att metoden faktiskt gäller för godtyckliga formler, även om vi egentligen bara är intresserade av satser. Förklaringen finns i steg 1a i följande algoritm: 6

8 (Stegen 1b, 5 och 9 är inte obligatoriska) 1. (a) Forma det existentiella höljet av φ, dvs lägg till ett prefix av existenskvantifikatorer framför φ så att alla fria variabler i φ blir bundna. (Om φ redan är en sats händer alltså ingenting i detta steg.) Ex: x yr(z, x) z x yr(z, x) (b) Stryk alla redundanta kvantifikatorer, dvs stryk alla kvantifikatorer som inte binder någon vaniabel. Ex: z x yr(z, x) z xr(z, x) 2. Byt variabler som är kvantifierade mer än en gång tills varje kvantifikator binder en unik variabel. Ex: x( xp (x) y(q(x) xr(x, y))) x( zp (z) y(q(x) ur(u, y))) 3. Eliminera alla konnektiver utom, och. φ ψ ( φ ψ) ( ψ φ) φ ψ ( φ ψ) 4. Flytta alla negationer så långt in som möjligt, tills alla negationstecken står omedelbart framför en atomär formel, och eliminera dubbla negationer. xφ x φ xφ x φ (φ ψ) φ ψ (φ ψ) φ ψ φ φ 5. Flytta kvantifikatorer åt höger: Qx(φ ψ) φ Qxψ om x ej fri i φ Qx(φ ψ) Qxφ ψ om x ej fri i ψ där Q =, och =,. T ex: x(φ ψ) φ xψ om x ej fri i φ x(φ ψ) xφ ψ om x ej fri i ψ 6. Eliminera alla existenskvantifikatorer (med början från vänster) med hjälp av (symboler för) Skolemfunktioner. 7. Flytta allkvantifikatorer åt vänster, tills alla sådana står i början av formeln (dvs tills ingen allkvantifikator föregås av något annat än allkvantifikatorer). 8. Distribuera (så långt det går) över (dvs skriv om formelns matris på konjunktiv normalform). 7

9 (φ ψ) γ (φ γ) (ψ γ) φ (ψ γ) (φ ψ) (φ γ) 9. Förenkla formeln på sådana sätt som bevarar satisfierbarhetsegenskaper, t ex genom att (a) eliminera dubblerade literaler i samma klausul Ex: (P (x, a) Q(y) P (x, a)) (P (x, a) Q(y)) (b) stryka tautologa klausuler (dvs klausuler som innehåller både en atom och dennas negation). Vi skall tillämpa algoritmen på formeln x(p (x) z( y(q(x, y) P (f(u))) y(q(x, y) P (x)))) Steg 1: Tag existentiella höljet och stryk z u x(p (x) ( y(q(x, y) P (f(u))) y(q(x, y) P (x)))) Steg 2: Byt namn på variabeln y som är kvantifierad två gånger u x(p (x) ( y(q(x, y) P (f(u))) z(q(x, z) P (x)))) Steg 3: Eliminera förekomster av u x( P (x) ( y( Q(x, y) P (f(u))) z( Q(x, z) P (x)))) Steg 4: Flytta in negationer u x( P (x) ( y(q(x, y) P (f(u))) z( Q(x, z) P (x)))) Steg 5: Flytta kvantifikatorer åt höger u x( P (x) (( yq(x, y) P (f(u)))) ( z Q(x, z) P (x)))) Steg 6: Eliminera existenkvantifikatorerna x( P (x) ((Q(x, g(x)) P (f(a)))) ( z Q(x, z) P (x)))) Steg 7: Flytta fram allkvantifikatorer x z( P (x) ((Q(x, g(x)) P (f(a)))) ( Q(x, z) P (x)))) 8

10 Steg 8: Distribuera över (i två steg) x z(( P (x) Q(x, g(x))) ( P (x) P (f(a))) ( P (x) Q(x, z) P (x))) Steg 9: Förenkla; tredje klausulen är tautolog och stryks ( z blir då redundant och stryks) x(( P (x) Q(x, g(x))) ( P (x) P (f(a)))) Man kan också, med bevarande av satisfierbarhetsegenskaper, stryka den andra förekomsten av P (x), och får då resultatet x(( P (x) Q(x, g(x))) P (f(a))) vilket dock är lite svårare att se. Några kommentarer: Skriver vi resultatet i exemplet ovan i klausulnotation får vi Q(x, g(x)) P (x) P (x), P (f(a)) eller med den antydda ytterligare förenklingen Q(x, g(x)) P (x) P (f(a)) Märk att satsen i exemplet alltså inte svarar mot ett logikprogram! Låt oss också kort beröra motivet för att ta med steg 5 algoritmen. Skälet är att vi vill minimera antalet argument i de Skolemfunktioner som introduceras i steg 6. Om vi t ex applicerar steg 6 direkt på får vi som resultat: x y z u(p (z, y) Q(x, u)) x z(p (z, f(x)) Q(x, g(x, z))) dvs vi måste införa en 1-ställig och en 2-ställig funktionssymbol. Om vi istället först applicerar steg 5 får vi till att börja med y zp (z, y) x uq(x, y) varefter steg 6 ger och steg 7 ger zp (z, a) xq(x, h(x)) z x(p (z, a) Q(x, h(x))) 9

11 dvs vi behöver bara introducera en konstant (eller 0-ställig funktion) och en 1- ställig funktion. Ur logisk synvinkel (dvs satisfierbarhetsmässigt) är resultaten likvärdiga, men från en praktisk (evalueringsmässig) synpunkt är den senare formeln bättre. Även redundanta allkvantifikatorer som föregår existenskvantifikatorer ger upphov till onödiga argument i Skolemfunktioner, så även steg 1b (som ur strikt logisk synvinkel är likgiltigt) leder till beräkningsmässiga vinster. (Formuleringen av steg 5 förutsätter för övrigt att steg 1b genomförts.) 5 Herbrand-tolkningar Definitionsmässigt är en sats osatisfierbar omm den är falsk i varje tolkning (för formelns språk). Från beviset av fullständighetssatsen I LOGIKKOMPENDIET vet vi dock att vi inte behöver ta hänsyn till alla tolkningar, utan det räcker att betrakta Henkin-tolkningar, dvs sådana vilkas domän består av (ekvivalensklasser av) individkonstanter. Vi skall här kort beskriva en annan typ av syntaktiska tolkningar, sk Herbrandtolkningar, vilkas domän består av slutna termer. För att förenkla framställningen skall vi tills vidare utgå från språk utan identitetssymbol (och i form av anmärkningar påpeka vilka förändringar som måste till för att klara även språk med identitet). Vi börjar med att till en sats φ definiera φ s Herbrand-domän, som vi betecknar med H(φ): H(φ) är mängden av alla slutna termer som kan konstrueras utifrån de individkonstanter och funktionssymboler som förekommer i φ. (Om φ inte innehåller någon individkonstant, så använder vi en godtycklig ny individkonstant vid konstruktionen.) φ = x(p (a) Q(b) P (f(x))) H(φ) = {a, b, f(a), f(b), f(f(a)), f(f(b)), f(f(f(a))),...} ψ = x yp (f(x), y, g(x, y)) H(ψ) = {c, f(c), g(c, c), g(c, f(c)), f(g(c, c)), g(c, g(f(c), c)),...} En Herbrand-tolkning för φ är en tolkning (H(φ), T ) (för L φ ) sådan att: 10

12 1. T (t) = t för varje sluten term i L φ 2. T (f) är en funktion som avbildar (t 1,..., t n ) på f(t 1,..., t n ) för varje n- ställig funktionssymbol f L φ, t 1,..., t n H(φ) Några restriktioner på hur predikat i L φ skall tolkas finns inte. Olika tolkningar av predikat ger alltså upphov till olika Herbrand-tolkningar. En Herbrand-modell för φ är en Herbrand-tolkning för φ i vilken φ är sann. Huvudresultatet i detta avsnitt är följande: En sats i klausulform är satisfierbar omm den har en Herbrand-modell eller (ekvivalent): En sats φ i klausulform är osatisfierbar omm den är falsk i varje Herbrand-tolkning för φ. Observera att satsen är formulerad endast för satser i klausulform. T ex är satsen φ = P (a) x P (x) satisfierbar (i en tolkning med (minst) två element i domänen), men falsk i varje Herbrand-tolkning för φ. (H(φ) = {a}.) φ är inte heller på klausulform. Skriver vi om φ med algoritmen i förra avsnittet får vi satsen ψ = P (a) P (b) eller: P (a) P (b) som är på klausulform, och har en Herbrand-modell. (H(ψ) = {a, b}.) I en Herbrand-tolkning denoterar varje sluten term sig själv, dvs olika termer denoterar alltid olika objekt. Vill man utvidga resultatet i detta avsnitt till språk med identitet måste man därför göra vissa modifieringar (precis som i fallet med Henkin-tolkningar I LOGIKKOMPENDIET). Det som behövs är att man övergår till domäner av ekvivalensklasser av slutna termer, och bestämmer att dessa klasser denoteras av sina element. 6 Herbrands sats och grundresolution Först lite terminologi: Låt φ = x 1... x n (C 1... C m ) vara en sats i klausulform. En Herbrandinstans av en klausul C i i φ är resultatet av att ersätta alla förekomster av variabler 11

13 i C i med element i H(φ), dvs med förekomster av slutna termer ur φ s Herbranddomän (så att förekomster av samma variabel ersätts med förekomster av samma term). (Det som här kallats Herbrand-instanser kallas ibland grundinstanser, slutna instanser eller konstanta instanser. Dessa uttryck används dock även för resultatet av att ersätta variabler med godtyckliga slutna termer, alltså inte enbart termer ur H(φ).) Ett viktigt teorem som utgör grundvalen för resolutionsmetoden och därmed för logikprogrammering är Herbrands sats: En sats i klausulform är satisfierbar omm varje konjunktion av Herbrandinstanser av dess klausuler är satisfierbar. Eller (ekvivalent): En sats i klausulform är osatisfierbar omm det finns en (ändlig) konjunktion av Herbrand-instanser av dess klausuler som är osatisfierbar (dvs en kontradiktion). Poängen med satsen är, lite löst uttryckt, att den låter oss reducera ett predikatlogiskt avgörbarhetsproblem till ett satslogiskt (eller mer precist till en mängd av sådana). För en given sats φ kan vi först konstruera en sats ψ i klausulform som är satisfierbar omm φ är det. För ψ kan vi succesivt generera elementen i H(ψ), och därmed Herbrand-instanserna av ψ s klausuler, och efterhand testa konjunktioner av sådana med avseende på satisfierbarhet. (Sådana förfaringssätt kallas Herbrandmetoder.) Som vi vet kan testning av satisfierbarhet för satslogiska formler göras med tabellmetoden. Detta är dock en (vedervärdigt) ineffektiv metod. För konjunktioner av slutna klausuler (dvs satser på konjunktiv normalform) kan man i stället använda s.k. grundresolution, som bygger på följande bevisregel: Givet två (slutna) klausuler C 1 och C 2 som innehåller en literal L respektive dennas negation L, konstruera en ny klausul C 3 (kallad resolventen av C 1 och C 2 ) genom att stryka alla förekomster av L och L i C 1 och C 2, bilda disjunktionen av alla återstående literaler i C 1 och C 2, och eliminera eventuella dubbla förekomster av literaler. C 1 = (P (a) Q(b) R(a, c)) = P (a); Q(b) R(a, c) C 2 = (R(a, c) P (b) Q(b)) = R(a, c); Q(b) P (b) 12

14 C 3 = (P (a) Q(b) P (b)) = P (a); Q(b) P (b) Huvudsatsen för grundresolutionsmetoden (för språk utan identitet) är: En konjunktion σ av (slutna) klausuler är osatisfierbar omm den tomma klausulen kan härledas från σ med hjälp av resolutionsregeln. σ = (P (a) Q(b)) (P (a) R(a)) ( P (a) R(a)) ( P (a) Q(b)) (R(a) Q(b)) ( R(a) Q(b)) eller i klausulnotation: 1. P (a); Q(b) 2. P (a) R(a) 3. R(a) P (a) 4. P (a), Q(b) 5. R(a) Q(b) 6. Q(b) R(a) Med resolutionsregeln får vi: 7. Q(b); R(a) (ur (1) och (3)) 8. Q(b) (ur (6) och (7)) 9. R(a), Q(b) (ur (2) och (4)) 10. Q(b) (ur (5) och (9)) 11. (ur (8) och (10)) σ är alltså inte satisfierbar. Låt σ bestå av följande klausuler 1. P (a); Q(b) 13

15 2. Q(b) 3. Q(b) P (a), R(a) Genom att systematiskt gå igenom alla sätt att använda resolutionsregeln finner vi att R(a) är den minsta klausul som kan härledas. σ är alltså satisfierbar. Låt σ bestå av följande klausuler 1. R(a) P (a), Q(b) 2. Q(b) P (a) 3. P (a) 4. R(a) Med resolutionsregeln får vi 5. R(a) P (a) (ur (1) och (2)) 6. R(a) (ur (3) och (5)) 7. (ur (4) och (6)) σ är alltså kontradiktorisk. Låt oss också titta på ett exempel som visar att inskränkningen till språk utan identitet är väsentlig. Satsen (P (a) a = b P (b)) är uppenbarligen motsägelsefull. Men ur 1. P (a) 2. a = b 3. P (b) kan vi inte med resolutionsregeln härleda den tomma klausulen. Vad som skulle behövas vore ytterligare en regel (en s.k. substitutionsregel) som låter oss härleda 4. P (b) 14

16 ur (1) och (2) eller 5. P (a) ur (2) och (3). Herbrand-metoder som bygger på grundresolution är fortfarande mycket ineffektiva, eftersom de kräver att vi genererar (och lagrar!) Herbrand-instanser av klausuler. Även för måttligt komplicerade satser är tids- och minnesåtgången på tok för stor för att metoden skall vara praktiskt användbar. Naturligtvis är det också en smula egendomligt att först generera instansieringar för att sedan stryka dem igen (med resolutionsregeln). Ett stort steg mot en praktiskt implementerbar logikprogrammeringsteori togs därför när Robinson, byggande på bl a idéer och resultat av den svenske logikern Dag Prawitz, introducerade allmän resolution. Denna form av resolution gör det möjligt att hoppa över instansieringssteget genom att utnyttja unifiering. 7 Unifiering En variabelersättare är ett par v t av en variabel v och en term t v. (Pilen kan läsas ut byts mot eller ersätts av.) En substitutionsmängd är en ändlig mängd av variabelersättare {v 1 t 1,..., v n t n }, sådan att alla variablerna v 1,..., v n är olika. En substitutionsmängd kan uppfattas som en beskrivning av ett sätt att transformera uttryck (termer och formler) som innehåller variabler. Vi kan med andra ord uppfatta en substitutionsmängd som inducerande en syntaktisk funktion definierad för godtyckliga uttryck i enlighet med följande definition: En substitution θ är en syntaktisk funktion som svarar en-en-tydigt mot en substitutionsmängd {v 1 t 1,..., v n t n } och vars värde för ett uttryck E är resultatet av att i E ersätta varje förekomst av variabeln v k med en förekomst av termen t k (för alla k = 1,..., n samtidigt). Resultatet av ett applicera substitutionen θ på uttrycket E betecknas Eθ (eller ibland (E)θ för tydlighets skull), och kallas en instans av E (via θ). (Ibland t.o.m. för en substitutionsinstans av E (via θ) eller en θ-instans av E. Mot {x b, y x} svarar en funktion θ sådan att (t.ex.) P (x, y, f(a))θ = 15

17 P (b, x, f(a)) och Q(f(x), g(x, y))θ = Q(f(b), g(b, x)) Kommentarer: Av det ovanstående framgår det att en substitution lämnar alla utom ändligt många variabler fixa, eftersom substitutioner svarar en-en-tydigt mot ändliga mängder av variabelersättare. Mot en substitution θ svarar närmare bestämt substitutionsmängden {x xθ : x är en variabel och x xθ}. Identitetsfunktionen (Id) på mängden av uttryck kan betraktas som en substitution sådan att (E)Id = E för alla uttryck E. Den svarar således mot den tomma substitutionsmängden. Eftersom substitutioner och substitutionsmängder svarar en-en-tydigt mot varandra brukar man identifiera dem, och skriver t.ex. Id =. Vi kommer ibland att ansluta oss till denna praxis i det följande, om det av kontexten är klart vad som avses. Sammansättningen av två substitutioner θ och τ är en substitution som betecknas θτ (eller ibland för tydlighets skull (θτ)), och som definieras av villkoret: E(θτ) = (Eθ)τ för alla uttryck E Med andra ord är resultatet av att applicera funktionen θτ på uttrycket E identiskt med resultatet av att applicera τ på resultatet av att applicera θ på E. Låt θ vara den substitution som svarar mot {x f(y), y z}, och τ den som svarar mot {x a, y b, z y}, och låt E vara P (x, y, z, f(x), g(y), h(z)). Då är Eθ = P (f(y), z, z, f(f(y)), g(z), h(z)); (Eθ)τ = E(θτ) = P (f(b), y, y, f(f(b)), g(y), h(y)). Kommentar: I exemplet ovan ser man att Eθτ kunde erhållits i ett steg via den substitution som svarar mot {x f(b), z y}. Detta är ett specialfall av följande generella sats: Om θ svarar mot {v 1 t 1,..., v n t n } och om τ svarar mot {u 1 s 1,..., u m s m }, så svarar θτ mot unionen av mängderna {v i t i τ : v i v i τ, i = 1,..., n} och {u k s k : u k / {v 1,..., v n }, k = 1,..., m}. Två uttryck E 1 och E 2 sägs vara unifierbara om det finns en substitution θ sådan att E 1 θ = E 2 θ, och θ kallas i så fall en unifierare för E 1 och E 2. 16

18 En unifierare θ för E 1 och E 2 kallas en mest generell unifierare (mgu) för E 1 och E 2 om det till varje unifierare τ för E 1 och E 2 finns en substitution σ så att τ = θσ. P (f(x), z) och P (y, a) är unifierbara via θ = {y f(a), x a, z a}, ty P (f(x), z)θ = P (y, a)θ = P (f(a), a). θ är dock inte en mgu för uttrycken. En mgu är t.ex. {y f(x), z a} som ger den gemensamma instansen P (f(x), a). P (f(x), a) och P (y, f(z)) är inte unifierbara eftersom ingen substitution kan få andraargumenten att sammanfalla. Ett deluttryck E till ett uttryck E är en delsträng av E som själv är ett välformat uttryck (= formel eller term). P (f(x, a), h(y)) har följande deluttryck: P (f(x, a), h(y)), f(x, a), h(y), x, a, y (Ett uttryck är alltså alltid ett deluttryck till sig själv.) Om två uttryck E 1 och E 2 är olika, så finns det en (räknat från vänster) första plats där de skiljer sig åt. Låt E 1 och E 2 vara de deluttryck av E 1 resp. E 2 som börjar på denna plats i E 1 resp. E 2. Paret (E 1, E 2 ) kallas första skillnaden mellan E 1 och E 2. (För att detta skall vara ett väldefinierat begrepp måste vi räkna predikat- och funktionssymboler som olika om de har olika ställighet; jfr sista raden i exemplet nedan.) E 1 E 2 (E 1, E 2 ) P (f(a), g(x)) P (y, y) (f(a), y) Q(f(a), h(y), a) Q(f(x), z, b) (h(y), z) P (x, a) Q(x, a) (P (x, a), Q(x, a)) Q(x, y, z) Q(x, y) (Q(x, y, z), Q(x, y)) Vi skall nu presentera en algoritm som till två uttryck E 1 och E 2 konstruerar en mgu om de är unifierbara, och meddelar att de ej är unifierbara annars. Unifieringsalgoritm: Sätt k = 0 och θ 0 = Id och gå till (1) 1. Om E 1 θ k = E 2 θ k : stanna; θ k är en mgu. Annars: ta reda på första skillnaden D k mellan E 1 θ k och E 2 θ k och gå till (2) 2. Om D k = (v, t) där t är en term och v är en variabel som inte förekommer i t: sätt θ k+1 = θ k τ, där τ = {v t}, öka k med 1 och gå till (1) 17

19 Annars: stanna; E 1 och E 2 är ej unifierbara. E 1 = P (f(a), g(x)), E 2 = P (y, y) θ 0 = Id D 0 = (f(a), y) τ = {y f(a)} = θ 1, E 1 θ 1 = P (f(a), g(x)) E 2 θ 1 = P (f(a), f(a)) D 1 = (g(x), f(a)) E 1 och E 2 är ej unifierbara. E 1 = P (a, x, h(g(z))), E 2 = P (z, h(y), h(y)) θ 0 = Id D 0 = (a, z) τ = {z a} = θ 1, E 1 θ 1 = P (a, x, h(g(a))) E 2 θ 1 = P (a, h(y), h(y)) D 1 = (x, h(y)) τ = {x h(y)}, θ 2 = θ 1 τ = {z a, x h(y)} E 1 θ 2 = P (a, h(y), h(g(a))) E 2 θ 2 = P (a, h(y), h(y)) D 2 = (y, g(a)) τ = {y g(a)}, θ 3 = θ 2 τ = {z a, x h(g(a)), y g(a)} E 1 θ 3 = E 2 θ 3 = P (a, h(g(a)), h(g(a))) Alltså är E 1 och E 2 unifierbara, och θ 3 är en mgu. E 1 = P (x, x), E 2 = P (y, f(y)) θ 0 = Id D 0 = (x, y) τ = {x y} = θ 1, E 1 θ 1 = P (y, y) E 2 θ 1 = P (y, f(y)) D 1 = (y, f(y)) Eftersom y förekommer i f(y) är E 1 och E 2 ej unifierbara. Huvudresultatet i detta avsnitt är följande: Om två uttryck är unifierbara så har de en mgu, och unifieringsalgoritmen ger en sådan i ändligt många steg. Om två uttryck inte är unifierbara meddelar unifieringsalgoritmen detta efter ändligt många steg. Kommentar: Den unifieringsalgoritm som presenterats ovan är inte speciellt effektiv. Huvudskälet till detta är förekomsten av villkoret utmärkt med fetstil i steg (2). Detta villkor (s.k. förekomstkontroll eller occur-check ) kan leda till att algoritmens beräkningstid blir en exponentiell funktion av uttryckens längd. I många PROLOG- 18

20 versioner har man därför helt enkelt utelämnat villkoret (förekomstkontrollen) i den implementerade unifieringsalgoritmen, vilket i sin tur leder till att dessa PROLOG-versioner kan ge felaktiga svar på frågor. Mer om detta senare. 8 Allmän resolution Den allmänna resolutionsregeln lyder: Givet två klausuler C 1 och C 2 utan gemensamma variabler som innehåller en positiv literal P resp. en negativ literal N = L sådana att det finns en substitution θ som unifierar P och L (dvs P θ = Lθ), bilda en ny klausul C 3 (kallad resolventen av C 1 och C 2 under θ) genom att stryka alla förekonister av P och N i C 1 och C 2, bilda disjunktionen av alla θ-instanser av literaler i C 1 och C 2, och eliminera eventuella dubbla förekomster av literaler. Huvudresultatet för allmän resolution lyder: En mängd av klausuler är osatisfierbar omm den tomma klausulen kan härledas ur mängden med hjälp av den allmänna resolutionsregeln (och sådana variabelbyten som krävs för att göra regeln tillämpbar). Vi skall i det följande bara behandla det specialfall av regeln som rör körning av logikprogram, dvs fall där vi har en ändlig mängd av programklausuler och en målklausul, och där vi i varje tillämpning av regeln härleder en (ny) målklausul. Detta specialfall kallas (allmän) top-down resolution. Regeln kan då ges följande formulering: Om A B 1,..., B n och C 1,..., C k,..., C m är två klausuler utan gemensamma variabler, och A och C k (k {1,..., m}) har en mgu θ, så får man dra slutsatsen C 1 θ,..., B 1 θ,..., B n θ,..., C m θ. Låt P vara ett logikprogram som består av följande klausuler: (P1) F (x 1, y 1 ) Q(x 1, y 1 ) (P2) R(x 2, y 2 ) F (x 2, z 2 ), F (y 2, z 2 ) (P3) Q(b, c) (P4) Q(a, c) 19

21 Vi skall undersöka om xr(a, x) är en konsekvens av P, och om så är fallet få ett exempel på en individ som a står i relationen R till. Vi lägger därför till målklausulen: (M5) R(a, x 5 ) till programmet och försöker härleda den tomma klausulen med allmän top-down resolution. (M5) R(a, x 5 ) (P2) R(x 2, y 2 ) F (x 2, z 2 ), F (y 2, z 2 ) ger via θ 1 = {x 2 a, y 2 x 5 } (M6) F (a, z 2 ), F (x 5, z 2 ) som tillsammans med (P1) F (x 1, y 1 ) Q(x 1, y 1 ) ger via θ 2 = {x 1 a, y 1 z 2 } (M7) Q(a, z 2 ), F (x 5, z 2 ) som tillsammans med (P4) Q(a, c) ger via θ 3 = {z 2 c} (M8) F (x 5, c) som tillsammans med (P1) F (x 1, y 1 ) Q(x 1, y 1 ) ger via θ 4 = {x 1 x 5, y 1 c} (M9) Q(x 5, c) som tillsammans med (P3) Q(b, c) ger via θ 5 = {x 5 b} (M10) dvs en motsägelse. Vi har alltså med resolution visat att P { R(a, x 5 )} är osatisfierbar (eller inkonsistent). Genom att följa med i de substitutioner som gjorts under härledningens gång kan vi också se att R(a, b) är en konsekvens av programmet P. (Variabeln x 5 följer med ända till sista steget, där den byts mot b via θ 5.) Näst sista steget i härledningen kunde istället sett ut på följande sätt: (M9) Q(x 5, c) (P4) Q(a, c) som via θ 5 = {x 5 a} ger (M10 ) vilket visar att också R(a, a) är en konsekvens av P. De två lösningarna x 5 = b och x 5 = a är dock de enda. 20

22 9 En indeterministisk bevisalgoritm Vi kan nu sammanställa metoderna i de två föregående avsnitten till en bevismetod som är sund och fullständig. Vi gör detta i form av en algoritm för att härleda den tomma klausulen ur ett logikprogram och en målklausul med allmän top-down resolution. Ingångsvärden ar ett logikprogram P, en målklausul G och en tom lista S (av substitutioner). 1. Genomför (om det behövs) lämpliga substitutioner på programklausuler, så att ingen variabel förekommer i mer än en klausul i P {G} 2. Välj en literal L i målklausulens kropp om detta går; annars: stanna, målklausulen är tom och härledningen har lyckats 3. Välj en programklausul vars huvud L har samma predikat som L om detta går; annars: stanna, härledningen har misslyckats 4. Beräkna med unifieringsalgoritmen en mgu θ till L och L om detta går; annars gå till (3) 5. Utför ett resolutionssteg med L, L och θ, lägg θ sist i S, sätt resolventen som nytt G och gå till (1) Varje lyckad härledning enligt algoritmen resulterar i en lista S av substitutioner som kallas härledningens substitutionshistoria. Genom att bilda sammansättningen av alla substitutionerna i S (i den ordning de förekommer i S) får vi en substitution θs som kallas en härledd svarssubstitution för P {G}. (Om S är tom sätter vi θs = Id, och om S bara har ett element är θs lika med detta element.) För att exakt formulera sundhets- och fullständighetssatserna för metoden behöver vi ännu några begrepp: Låt φ vara en formel vars alla fria variabler är v 1,..., v n. Det universella höljet av φ är satsen v 1... v n φ. Låt P vara ett logikprogram och G = A 1,..., A n en målklausul. En substitution θ är en korrekt svarssubstitution för P {G} omm universella höljet av (A 1... A n )θ är en logisk konsekvens av P. Bevisalgoritmen har följande egenskaper: Sundhet: 21

23 1. Om den tomma klausulen kan härledas ur P {G} så är P {G} osatisfierbar 2. Om θs är en härledd svarssubstitution för P {G} så är θs en korrekt svarssubstitution för P {G}. Fullständighet: 1. Om P {G} är osatisfierbar så kan den tomma klausulen härledas ur P {G} 2. Om θ är en korrekt svarssubstitution för P {G} så finns en härledd substituton θs och en substitution τ så att θ = θsτ Kommentar: Att inte alla korrekta svarssubstitutioner fås direkt som härledda substitutioner beror på att vi med unifieringsalgoritmen varje gång beräknar en mgu (snarare än bara en godtycklig unifierare) och en härledd svarssubstitution är därför alltid så generell som möjligt för den väg att härleda den tomma klausulen som valts. Låt t.ex. P vara ett program i vilket individkonstanten a och funktionssymbolen f förekommer, och antag att H(x) är definitionen av predikatet H i P (dvs H förekommer inte i huvudet på någon annan programklausul i P ). Ställer vi frågan H(x) till programmet genererar bevisalgoritrnen bara en svarssubstitution θ sådan att Id = θτ, (dvs θ byter på sin höjd några variabler mot andra variabler), trots att H(a), H(f(a)), H(f(f(a))),... är konsekvenser av P. Motsvarande korrekta svarssubstitutioner {x a}, {x f(a)},... etc erhålls dock lätt ur θ med hjälp av lämpliga sammansättningar. 22

Predikatlogik: Normalformer. Klas Markström

Predikatlogik: Normalformer. Klas Markström 1 Precis som i satslogik så är det bekvämt att kunna hitta en normalform för meningar. Om vi kan utgå från att alla meningar är på normalform så behöver vi t.e.x. inte bekymra oss om en massa specialfall

Läs mer

En introduktion till predikatlogik

En introduktion till predikatlogik rasmus.blanck@gu.se FT1200, LC1510 och LGFI52 VT2017 (Premiss 1) (Premiss 2) (Slutsats) Alla människor är dödliga Sokrates är en människa Sokrates är dödlig Detta argument är intuitivt giltigt: Det finns

Läs mer

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102) Tentamen 2013-10-31 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 11 Maximalt antal poäng 30 Krav för 3 i betyg 14 poäng Krav för 4 i betyg 19 poäng,

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 4: Konjunktiv och disjunktiv normalform Henrik Björklund Umeå universitet 15. september, 2014 CNF och DNF Konjunktiv normalform (CNF) Omskrivning av en formel

Läs mer

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler Normalisering av meningar inför resolution På samma sätt som i satslogiken är resolution i predikatlogiken en process vars syfte är att vederlägga att en klausulmängd är satisfierbar. Det förutsätter dock

Läs mer

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102) Tentamen 2014-01-10 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 10 Maximalt antal poäng 30 Krav för 3 i betyg 1 Krav för 4 i betyg 19 poäng, vara minst

Läs mer

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet Robin Stenwall Lunds universitet Vik$gt a) tänka på Innehållet i kursen formell logik förutsätts vara inhämtat (repetera om du är osäker). I allmänhet gäller att kursinnehållet, som ska instuderas på relativt

Läs mer

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet Robin Stenwall Lunds universitet Avsnitt 10.3 Några nyttiga ekvivalenser Två sätt att använda tautologa ekvivalenser i första-ordningens logik (1) Satser vars sanningsfuntionella former är tautologt ekvivalenta

Läs mer

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet Robin Stenwall Lunds universitet Vik$gt a) tänka på Innehållet i kursen formell logik förutsätts vara inhämtat (repetera om du är osäker). I allmänhet gäller att kursinnehållet, som ska instuderas på relativt

Läs mer

K2 Något om modeller, kompakthetssatsen

K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2005 Kompletteringsmaterial till kursen 5B1928 Logik för D1: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och fullständighetssatsen

Läs mer

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2008 Kompletteringsmaterial till kursen SF1642, Logik för D1 och IT3: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och

Läs mer

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas? Avslutning Anmärkningar inför tentan Vad ska kunnas? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna och gruppövningarna räcker i princip.

Läs mer

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik DD1350 Logik för dataloger Fö 3 Satslogikens semantik 1 Kort repetition Satslogik formellt språk för att uttrycka påståenden med variabler och konnektiv /\, \/,, t.ex. p /\ q r 1 Kort repetition Naturlig

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 8: Predikatlogik Henrik Björklund Umeå universitet 2. oktober, 2014 Första ordningens predikatlogik Signaturer och termer Första ordningens predikatlogik Formler

Läs mer

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19 Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium IV v. 2.0, den 29/4 2013 III. Metalogik 17-19 Modeller för satslogiken 18.1 Vi har tidigare sagt att en modell är en tolkning av en teori

Läs mer

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar Innehåll Föreläsning 7 Logik med tillämpningar 99-03-01 Första ordningens predikatlogik Objekt, predikat, kvantifierare Funktioner, termer, wffs Bindning och räckvidd Tolkningar och värderingar Satisfiering,

Läs mer

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},

Läs mer

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden. MATEMATISK LOGIK Matematisk logik formaliserar korrekta resonemang och definierar formellt bindeord (konnektiv) mellan påståenden (utsagor, satser) I matematisk logik betraktar vi påståenden som antingen

Läs mer

Semantik och pragmatik

Semantik och pragmatik Semantik och pragmatik OH-serie 5 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Så här långt Konjunktion (p q): att två enklare satser

Läs mer

Logik för datavetare DVK:Log Tisdagen 28 oktober 2014. Institutionen för dataoch systemvetenskap David Sundgren

Logik för datavetare DVK:Log Tisdagen 28 oktober 2014. Institutionen för dataoch systemvetenskap David Sundgren Institutionen för dataoch systemvetenskap David Sundgren Logik för datavetare DVK:Log Tisdagen 28 oktober 2014 Skrivtid: 9 00-13 00. Inga hjälpmedel utom formelsamlingen på nästa sida är tillåtna. För

Läs mer

Semantik och pragmatik (Serie 4)

Semantik och pragmatik (Serie 4) Semantik och pragmatik (Serie 4) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 30 Så här långt (satslogik) Konjunktion (p q): att två enklare satser båda är uppfyllda.

Läs mer

Logik och bevisteknik lite extra teori

Logik och bevisteknik lite extra teori Logik och bevisteknik lite extra teori Inger Sigstam 2011-04-26 1 Satslogik (eng: propositional logic) 1.1 Språket Alfabetet består av följande symboler: satssymbolerna p 0, p 1, p 2,.... konnektiverna,,,,.

Läs mer

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Formell logik Kapitel 9. Robin Stenwall Lunds universitet Formell logik Kapitel 9 Robin Stenwall Lunds universitet Kapitel 9: Introduktion till kvantifiering Vi har hittills betraktat logiska resonemang vars giltighet enbart beror på meningen hos konnektiv som

Läs mer

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik II 1 Predikatlogik, generella

Läs mer

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna? Avslutning Anmärkningar inför tentan Vad ska ni kunna? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna, inlämningsuppgifterna och gruppövningarna

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 12: Logikprogrammering Henrik Björklund Umeå universitet 16. oktober, 2014 Prolog Prolog har två klasser av formler. Atomära formler: country(sweden, 9000000).

Läs mer

Om semantisk följd och bevis

Om semantisk följd och bevis Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om semantisk följd och bevis Logik handlar bla om studiet av korrekta slutledningar, dvs frågan om när det är riktigt

Läs mer

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar) Satslogik grundläggande definitioner Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar) Modeller, logisk konsekvens och ekvivalens Några notationella förenklingar Kompletta mängder

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3 Föreläsning 2 Semantik 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 27 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 2.1 Innehåll Innehåll 1 Lite mer syntax 1 2 Strukturer

Läs mer

DD1361 Programmeringsparadigm HT15

DD1361 Programmeringsparadigm HT15 DD1361 Programmeringsparadigm HT15 Logikprogrammering 1 Dilian Gurov, TCS Innehåll Logikprogrammering Kontrollflöde Unifiering Backtracking Negation Snitt Induktiva datatyper och rekursion Inbyggda datatyper:

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 7: SAT-lösare Henrik Björklund Umeå universitet 29. september, 2014 SAT En instans av SAT är en mängd av mängder av literaler. Exempel: {{p, q, r}, {p, q, s},

Läs mer

DD1350 Logik för dataloger

DD1350 Logik för dataloger DD1350 Logik för dataloger Fö 4 Predikatlogik 1 Kort repetition Satslogik Naturlig deduktion är ett sunt och fullständigt bevissystem för satslogik Avgörbarhet Så vad saknas? Egenskaper Satslogiken är

Läs mer

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan. Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 3 Predikatlogik 3.1 Motivering I satslogiken är de minsta beståndsdelarna satslogiska variabler som kan anta värdena

Läs mer

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 729G06 Logik FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 160208 Idag C-regeln, informell (och formell) inledning till predikatlogik (Bevis kommer senare.) 2 3 Vår (Snöfritt Cykla) (Vår Snöfritt) Cykla Lätt

Läs mer

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet Filosofisk logik Kapitel 19 Robin Stenwall Lunds universitet Dagens upplägg Gödels fullständighetsteorem Sundhet och fullständighet Fullständighetsbeviset Vittneskonstanter Henkinteorin Eliminationsteoremet

Läs mer

DD1350 Logik för dataloger

DD1350 Logik för dataloger DD1350 Logik för dataloger Fö 8 Axiomatiseringar 1 Modeller och bevisbarhet Sedan tidigare vet vi att: Om en formel Φ är valid (sann i alla modeller) så finns det ett bevis för Φ i naturlig deduktion.

Läs mer

Lite om bevis i matematiken

Lite om bevis i matematiken Matematik, KTH Bengt Ek februari 2013 Material till kursen SF1662, Diskret matematik för CL1: Lite om bevis i matematiken Inledning Bevis är centrala i all matematik Utan (exakta definitioner och) bevis

Läs mer

9. Predikatlogik och mängdlära

9. Predikatlogik och mängdlära Objektorienterad modellering och diskreta strukturer 9. Predikatlogik och mängdlära Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik naturlig härledning predikatlogik

Läs mer

DD1361 Programmeringsparadigm HT17

DD1361 Programmeringsparadigm HT17 DD1361 Programmeringsparadigm HT17 Logikprogrammering 1 Dilian Gurov, KTH Delkursinnehåll Logisk versus procedurell läsning Kontrollflöde: Unifiering, Backtracking, Snitt Induktiva datatyper och rekursion

Läs mer

Primitivt rekursiva funktioner och den aritmetiska hierarkin

Primitivt rekursiva funktioner och den aritmetiska hierarkin Primitivt rekursiva funktioner och den aritmetiska hierarkin Rasmus Blanck 0 Inledning En rad frågor inom logiken, matematiken och datavetenskapen relaterar till begreppet beräkningsbarhet. En del i kursen

Läs mer

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW *USS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW 8SSJLIW Här kommer några teoretiska frågor, skriv svaren med egna ord, dvs skriv inte av ohbilderna: a. Vad är en beslutsprocedur? En algoritm som terminerar och som

Läs mer

DD1361 Programmeringsparadigm HT16

DD1361 Programmeringsparadigm HT16 DD1361 Programmeringsparadigm HT16 Logikprogrammering 1 Dilian Gurov, TCS Delkursinnehåll Logikprogrammering Logisk versus procedurell läsning Kontrollflöde Unifiering, Backtracking, Snitt Negation Induktiva

Läs mer

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet Robin Stenwall Lunds universitet Dagens föreläsning Informella bevismetoder för kvantifikatorer Universell elimination Existentiell introduktion Existentiell elimination Universell introduktion General

Läs mer

Substitution och unifiering

Substitution och unifiering Substitution och unifiering Exempel varför behövs substitution? Substitution Unifiering Den mest generella unifieraren Substitution och unifiering 1 Resolution kräver substitution ett enkelt exempel Gäller

Läs mer

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,

Läs mer

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013 Logik I Åsa Hirvonen Helsingfors universitet Våren 2013 Inledning Logik är läran om härledning. Med hjälp av logiken kan vi säga när ett resonemang är korrekt och när det inte är det. För att kunna studera

Läs mer

Föreläsning 9: NP-fullständighet

Föreläsning 9: NP-fullständighet Föreläsning 9: NP-fullständighet Olika typer av problem: 1. Beslutsproblem: A(x) =Ja. 2. Optimeringsproblem: A(x) =m Vanligen max/min. 3. Konstruktionsproblem: A(x) =En struktur. Vanligen lösningen till

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion 2 2.1 Varför logik?... 2 2.2 Satslogik... 2

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion 2 2.1 Varför logik?... 2 2.2 Satslogik... 2 Föreläsning 1 Syntax 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 21 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 1.1 Innehåll Innehåll 1 Kursadministration 1 2 Introduktion

Läs mer

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande

Läs mer

8. Naturlig härledning och predikatlogik

8. Naturlig härledning och predikatlogik Objektorienterad modellering och diskreta strukturer 8. Naturlig härledning och predikatlogik Sven Gestegård Robertz Datavetenskap, LTH 2013 Outline 1 Inledning 2 Inferensregler 3 Predikatlogik 8. Naturlig

Läs mer

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1. UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1

Läs mer

Kap. 7 Logik och boolesk algebra

Kap. 7 Logik och boolesk algebra Ka. 7 Logik och boolesk algebra Satslogik Fem logiska konnektiv: ej, och, eller, om-så, omm Begre: sats, sanningsvärde, sanningsvärdestabell tautologi, kontradiktion Egenskaer: Räkneregler för satslogik

Läs mer

Hornklausuler i satslogiken

Hornklausuler i satslogiken Hornklausuler i satslogiken Hornklausuler (efter logikern Alfred Horn) är ett viktigt specialfall som tillåter effektiva algoritmer och ligger till grund för regelbaserade expertsystem och logiska programspråk

Läs mer

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet Filosofisk logik Kapitel 15 Robin Stenwall Lunds universitet Dagens upplägg Första ordningens mängdlära Naiv mängdlära Abstraktionsaxiomet (eg. comprehension) Extensionalitetsaxiomet Små mängder Ordnade

Läs mer

En introduktion till logik

En introduktion till logik rasmus.blanck@gu.se FT1200, LC1510 och LGFI52 VT2017 Först: Tack till Martin Kaså, som gett mig tillstånd att använda och bearbeta dessa ljusbilder. Vad är logik? Slogan: Logik undersöker vilka argument

Läs mer

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas: FTEA12:2 Föreläsning 2 Grundläggande argumentationsanalys II Repetition: Vid förra tillfället började vi se närmre på vad som utmärker filosofisk argumentationsanalys. Vi tittade närmre på ett arguments

Läs mer

10. Mängder och språk

10. Mängder och språk Objektorienterad modellering och diskreta strukturer 10. Mängder och språk Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Rekaputilation Vi har talat om satslogik, predikatlogik och härledning

Läs mer

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet Formell logik Kapitel 5 och 6 Robin Stenwall Lunds universitet Kapitel 5 Bevismetoder för boolesk logik Visa att en sats är en tautologisk konsekvens av en mängd premisser! Lösning: sanningstabellmetoden

Läs mer

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS 729G06 Logik FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS 160309 Idag Sammanfattning*/uppsamling 2 Mer problemöversikt (och lite definitioner) Inte ersättning för andra föreläsningar! 3 Vad är enlogik? Syntax

Läs mer

Logik: sanning, konsekvens, bevis

Logik: sanning, konsekvens, bevis Logik: sanning, konsekvens, bevis ft1100 samt lc1510 HT 2016 Giltiga argument (Premiss 1) (Premiss 2) (Slutsats) Professorn är på kontoret eller i lunchrummet Hon är inte på kontoret Professorn är i lunchrummet

Läs mer

MATEMATIKENS SPRÅK. Avsnitt 1

MATEMATIKENS SPRÅK. Avsnitt 1 Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en

Läs mer

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system Vad är det? Översikt Discrete structure: A set of discrete elements on which certain operations are defined. Discrete implies non-continuous and therefore discrete sets include finite and countable sets

Läs mer

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet Robin Stenwall Lunds universitet Dagens föreläsning Informella bevismetoder för kvantifikatorer Universell elimination Existentiell introduktion Existentiell elimination Universell introduktion General

Läs mer

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet Robin Stenwall Lunds universitet Avsnitt 14.1 Numerisk kvantifikation Kvantifikatorerna i FOL är begränsade till och. Detta innebär att vi kan uttrycka satser som säger någonting om allting och någonting.

Läs mer

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion DD1350 Logik för dataloger Fö 2 Satslogik och Naturlig deduktion 1 Satslogik En sats(eller utsaga)är ett påstående som kan vara sant eller falskt. I satslogik(eng. propositionallogic) representeras sådana

Läs mer

1 Duala problem vid linjär optimering

1 Duala problem vid linjär optimering Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)

Läs mer

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 3: Bevissystem, Hilbertsystem Henrik Björklund Umeå universitet 8. september, 2014 Bevissystem och Hilbertsystem Teorier och deduktionsproblemet Axiomscheman

Läs mer

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet Dagens upplägg Antalet element i en mängd Kardinalitet Humes princip Cantors teorem Den universella mängden Några mängdteoretiska paradoxer

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar

Läs mer

Semantik och pragmatik

Semantik och pragmatik Semantik och pragmatik OH-serie 4 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Om barnet har svårt att andas eller har ont i bröstet

Läs mer

Kontinuitet och gränsvärden

Kontinuitet och gränsvärden Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika

Läs mer

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett

Läs mer

Tentamen i logik 729G06 Programmering och logik

Tentamen i logik 729G06 Programmering och logik Tentamen i logik 729G06 Programmering och logik 2016-08-19 Poänggränser: På tentan kan du som mest få 25 poäng. Om du har fått 12 poäng är du garanterad åtminstone godkänt betyg, 19 väl godkänt. Tillåtna

Läs mer

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

Första ordningens logik

Första ordningens logik Första ordningens logik Christian Bennet Christian Bennet, februari 2013 Detta verk är licensierat under en Creative Commons Erkännande- Ickekommersiell-IngaBearbetningar 3.0 Unported license. För att

Läs mer

Föreläsning 5. Deduktion

Föreläsning 5. Deduktion Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske

Läs mer

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning? Formalisering av rimlig tid Föreläsning 7+8: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner

Läs mer

Härledning av Black-Littermans formel mha allmänna linjära modellen

Härledning av Black-Littermans formel mha allmänna linjära modellen Härledning av Black-Littermans formel mha allmänna linjära modellen Ett sätt att få fram Black-Littermans formel är att formulera problemet att hitta lämpliga justerade avkastningar som ett skattningsproblem

Läs mer

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar Föreläsning 8 Logik med tillämpningar 000413 Innehåll Lite mer om värderingar och tolkningar Semantiska tablåer i predikatlogiken Kapitel 3.5 Satisfierbarhet hos en formel En formel A är satisfierbar om

Läs mer

Filosofisk logik Kapitel 18. Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 18. Robin Stenwall Lunds universitet Filosofisk logik Kapitel 18 Robin Stenwall Lunds universitet Dagens upplägg Modeller för FOL Sanning i FOL Tarskis idé Satisfiering Definitionen på sanning i en modell Definitionen på FO-konsekvens Definitionen

Läs mer

PCP-satsen på kombinatoriskt manér

PCP-satsen på kombinatoriskt manér austrin@kth.se Teorigruppen Skolan för Datavetenskap och Kommunikation 2005-10-24 Agenda 1 Vad är ett bevis? Vad är ett PCP? PCP-satsen 2 Vad, hur och varför? Lite definitioner Huvudresultatet 3 Ännu mer

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1 Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen 2016-12-09 Sal (1) TER1 Tid 14-18 Kurskod 729G06 Provkod TEN1 Kursnamn/benämning Provnamn/benämning Institution Antal

Läs mer

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Repetition: I Haskell är mönster-passning (pattern-matchning) jättepraktiskt: När vi gör ett anrop av en funktion med ett visst argument

Läs mer

1 Konvexa optimeringsproblem grundläggande egenskaper

1 Konvexa optimeringsproblem grundläggande egenskaper Krister Svanberg, april 2012 1 Konvexa optimeringsproblem grundläggande egenskaper Ett optimeringsproblem är i viss mening godartat om det tillåtna området är en konvex mängd och den målfunktion som ska

Läs mer

Formell logik Kapitel 10. Robin Stenwall Lunds universitet

Formell logik Kapitel 10. Robin Stenwall Lunds universitet Formell logik Kapitel 10 Robin Stenwall Lunds universitet Kapitel 10: Kvantifikatorernas logik Förra gången introducerade vi kvantifikatorer och variabler Vi har därmed infört samtliga symboler i FOL Brännande

Läs mer

Övningshäfte 1: Logik och matematikens språk

Övningshäfte 1: Logik och matematikens språk GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter

Läs mer

Om modeller och teorier

Om modeller och teorier Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om modeller och teorier Hittills i kursen har vi studerat flera olika typer av matematiska strukturer, bl.a. (partial)ordnade

Läs mer

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning? Formalisering av rimlig tid Föreläsning 8+9: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.

Läs mer

KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007

KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007 KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007 1) Det handlar om knarröborna A, B och C. A säger: Om C är kung är vi alla det. B säger: A och C är olika sorter. Vad

Läs mer

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2. Logik Vid alla matematiskt resonemang måste man vara säker på att man verkligen menar det man skriver ner på sitt papper. Därför måste man besinna hur man egentligen tänker. Den vetenskap, som sysslar

Läs mer

F. Drewes Datavetenskapens grunder, VT02. Lite logik

F. Drewes Datavetenskapens grunder, VT02. Lite logik F Drewes 2002-05-23 Datavetenskapens grunder, VT02 Lite logik Den här texten är en sammanfattning av logikdelen i kursen Datavetenskapens grunder Den handlar om satslogik och predikatlogik, några av deras

Läs mer

Semantik och pragmatik (Serie 3)

Semantik och pragmatik (Serie 3) Semantik och pragmatik (Serie 3) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 37 Logik: språk tanke (Saeed kapitel 4.) Satser uttrycker (ofta) tankar. Uttrycksrikedom

Läs mer

Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm. Axiom som är ekvivalenta med urvalsaxiomet

Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm. Axiom som är ekvivalenta med urvalsaxiomet Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm Vi har tidigare nämnt Zermelo-Fraenkels axiom för mängdläran, de upprepas på sista sidan av dessa

Läs mer

Något om logik och logisk semantik

Något om logik och logisk semantik UPPSALA UNIVERSITET Semantik och pragmatik (HT 08) Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv08/sempht/ Något om logik och logisk semantik 1 Språk och sanning

Läs mer

Innehåll. Föreläsning 4-5. Logiska system. Alfabet. Calculus. Well-formed formulas. Vanliga termer i logik Satslogik. Första ordningens predikatlogik

Innehåll. Föreläsning 4-5. Logiska system. Alfabet. Calculus. Well-formed formulas. Vanliga termer i logik Satslogik. Första ordningens predikatlogik Innehåll Föreläsning 4-5 Logik med tillämpningar 010220 Vanliga termer i logik Satslogik syntax och semantik beslutsprocedurer Första ordningens predikatlogik syntax och semantik Kapitel 3-5: Topic 8-11

Läs mer

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet Formell logik Kapitel 3 och 4 Robin Stenwall Lunds universitet Kapitel 3: De Booleska konnektiven Vi sade att predikaten och namnen kan variera mellan olika FOL Vi ska nu titta på några språkliga element

Läs mer

Varför är logik viktig för datavetare?

Varför är logik viktig för datavetare? Varför är logik viktig för datavetare? 1. Datavetenskap handlar ofta om att automatisera processer som tidigare styrts av människor. Intuition, intelligens och mänskliga resonemang ersätts av beräkningar.

Läs mer