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 med sanningstabell. Här? * Premisser ungefär sanna för Linköping i normal talspråklig tolkning. 4
Nästanpremiss-slutsats-struktur Men man måste följa regler! 5
Konditionalisering (C) Informell intuition: A B och A B verkar ungefär jämförbara. (Vilka är premisserna?) Antag det i VL (vänsterledet) av implikationen, härled det i HL Lägg till premissen A, härled B OBS! Ger fel premissmängd ( påhittade A-premissen) C-regeln lyfter in premissen i formeln. 6
Vår (Snöfritt Cykla) (Vår Snöfritt) Cykla 7
Konditionalisering (C) Vi har härlett fram formeln ψ(i vårt exempel: formeln Cykla) Premissmängden kanske innehåller något som bygger på extra-antagandet φ(i vårt exempel: formeln Vår...) Därmed φ ψutifrån samma premisser som för ψ, minus raden förφ I vårt exempel X 6 = {1}, nästa rad får X 7 = X 6 {1} = {} Anm: mängdlära {1,2,3,4} {1,5} = {2,3,4} (ta bort existerande element från mängden) OBS! Mängden premisser är samma som för ψ, men man tar bort radnumret k. 8
Sommar Sol,Sol Varmt Varmt Sommar Förbered inför lektionen. 9
Introduktion PREDIKATLOGIK 10
Varje heltal är udda eller jämnt. Sju är ett heltal. 11
addera(fem, tre) = multiplicera(två, fyra) och fyra = multiplicera(två,två). Alltså är addera(fem, tre) = multiplicera(två, multiplicera(två, två)) (Korrekt?) 12
Vissa sidekicks är irriterande. Jarvis är en sidekick. Alltså är Jarvis irriterande. (Korrekt resonemang?) 13
Howard är rik. Alltså finns någon som är rik. (Korrekt resonemang?) 14
Tolkningar i satslogik Tilldelning sanningstabell räcker. 15
Vad behöver vi? Informellt. Vad är giltiga formler? Syntax + lexikon. L-formler i Bennet. Mängd element i världen. Domän. Vad formlerna betyder. Tolkning. 16
Fyrtiotal Hjälte(peggy)... x[hjälte(x) -> Besegrar(x, skurken)]... Bär(carter, fedora) peggy = carter Möjligt lexikon? Möjlig domän, tolkning? 17
m fml Strukturen m modell för formeln om formeln sann under strukturen 18
m fml Strukturen m inte en modell, om formeln falsk under strukturen 19
OBS! Ytterligare användning (inte bara S,P, Q R som R sant om S,P, Q sanna, R följer av S, P, Q ) 20
m x[besegrar(peggy, x)]? Är detta sant för det m vi tog fram ovan? 21
addera(tre, fem)=multiplicera(två, fyra)...... multiplicera(två, två) = fyra Hitta modell. (Skillnad mellan addera och Besegrar?) 22
Syntax PREDIKATLOGIK 23
Kvantifierare Existensiell ( ) några Universell ( ) - alla 24
Räckvidd för kvantifierare...är precis formeln som står efter. 25
Konventioner? Läs noga, använd parenteser! 26
xblå(x) Bil(x) Första x bundet, andra fritt 27
xblå(x) Bil(x) Olika författare tolkar olika Vi (Sjögren, Ben-Ari...): Första x bundet, andra fritt 28
Begrepp En bunden variabel står inom räckvidd för någon kvantifierare Annars kallas den fri En formel utan fria variabler kallas en sats Formel med fria variabler varken sann eller falsk beror på tilldelning 29
x[p(x) v y(p(y) Q(x,y)] 30
x[p(x,y) v y x(p(x,y) Q(x,y)] 31
Predikatlogik Utöka syntaxen med Predikat (P, R, Q, Besegrar,...). Konstanter (a,b,c,carter,...) Funktioner (f,g,addera, multiplicera,...) Variabler (x,y,z,...) Identitet (=) Kvantifierare (, ) Konnektiv som förr (,,v,, ) 32
Kategorier Termer Formler 33
Termer Vad är termer? Variabler Tänk x,y,z... Konstanter Tänk 1,2,3,... f(t 1,...,t n ), om f är en funktion som tar n argument, och alla t i är termer. Tänk addera(1, addera(2, 0)),... 34
Atomära formler Ersätter satssymboler. Detta är atomära formler Q, där Q är en atomär sats. P(t 1,...,t n ) är en atomär formel. P predikat som tar n argument, alla t i termer. Tänk Hjälte(carter), Bär(peggy, fedora)... t = u t och u termer. Tänk fyra = multiplicera(två,två)... 35
Formler Detta är formler Alla atomära formler Formler som byggs upp med hjälp av konnektiven (,,v,, ) x φ, xφdär φär en formel 36
Informella tumregler Tänk sifferdomän, och tillhörande tolkning. Termer gemener. När vi tolkar termer, får vi värden ur domänen (här: siffror). T(fem) = 5, T(plus(fem, nitton)) =... Formler versaler. När vi tolkar dem får vi sanningsvärden. T(Udda(5)) = s, T(fem = plus(ett, sju)) = f 37
Not om notation Bennet talar om L-termer, L-formler... L lexikon/alfabet där vi hämtar alla konstantsymboler, funktionssymboler. 1 f Lite mer begränsat och stiliserat språk. Funktionssymboler f 53, där 3 betyder 3 argument (treställig, aritet 3) 38
Än så länge: (mest) språk Nu: definiera betydelse 39
Strukturer, mer formellt Domän + tolkning 40
Strukturer, definition En struktur m = (M,T) består av En icke-tom mängd M, domänen. Alla objekt i världen (kanske av blandat slag). Ex: M = {...,-1,0,1,...} = {x x är heltal},... En tolkningsfunktion (tolkning) T 41
Tolkningar En tolkning T ger betydelse åt symbolerna. Om c konstantsymbol, blir T(c) ett objekt i M. T(peggy) = carter, T(fem) = 5 Formellt: T(c) M [jfr mängdläran] Om V atomär sats, blir T(V) sanningsvärde T(Fyrtiotal) = s Formellt: T(A) {s,f}, där A satssymbol 42
Tolkningar Om f funktionssymbol, blir T(f) en funktion med argument från M, och värdemängd i M. T(addera) = additionsfunktionen. Tar två heltal och ger ett heltal (med domän heltal) T(addera) : M 2 -> M Formellt: T(f) : M n -> M, om f är n-ställig (tar n argument) 43
Tolkningar Om P predikatsymbol, blir T(P) en relation. T(Hjälte) = {...,carter,...} M T(Besegrar) = {..., (carter, frost),...} M M = M 2 Formellt: för P som är n-ställig (n argument): T(P) M n 44
Tolkningar Om P predikatsymbol, tolkas T(P(t 1,..., t n )) = s omm (T(t 1 ),..., T(t n )) T(P) där t i är slutna termer (inga fria variabler) T(Udda(fem)) T(Besegrar(peggy, skurken)) 45
Tolkningar Om f funktionssymbol, tolkas T( f(t 1,..., t n ) ) = T(f)(T(t 1 ),..., T(t n )) där t i är slutna termer. T(addera(fem, tio)) Notera att T(f(...)) M (varför?) 46
Tolkningar av funktionssymboler T( f(t 1,..., t n ) ) = T(f)(T(t 1 ),..., T(t n )) Jämför här Python: f( 100 + 17, g(50) ) Beräkna f (slå upp vad det är för funktion) Beräkna alla argumentens värde. (men lite fler parenteser) 47
Tolkningar Vi tolkar T(t 1 = t 2 ) = s omm T(t 1 )=T(t 2 ) där t i är slutna termer. T(addera(tre, två) = fem) Notera: ger alltid s/f 48
Tolkningar Vi måste hantera mer komplicerade formler. T( A) = s omm T(A) = f T(A B) = s omm T(A) = s och T(B) = s T(AvB) = s ommt(a) = s eller T(B) = s(eller båda) T(A B) = s ommt(a) = f eller T(B) = s(eller båda) T(A B) = s omm T(A) = T(B) Logiskt likhetstecken 49
Tolkningar...och kvantifierare (halvformellt) T( xa(x)) = s omm T(A(x)) = sför något x M Hittar vi något exempel x där A(x) uppfylls... T( xa(x)) = s omm T(A(x)) = s för alla x M Testa alla möjliga värden i domänen. Stämmer A(x) för alla? 50
Nästa gång Mönster och bevissystem (inledning) 51
www.liu.se