Meer oefenen TI1300: Redeneren en Logica College 13: Synta en Semantiek van de Predicatenlogica Tomas Klos Algoritmiek Groep Vertaal: Niet alle paarden zijn bruin Geef ook je vertaalsleutel (welke predicaten, en namen) Vertaalsleutel: predicaten: P(): is een paard B(): is bruin (P() B()) of (P() B()) of (P() B()) 1 2 Vertalen Meerdere wegen leiden naar Rome Vertaal en geef je vertaalsleutel: 1 Alle jongens houden van een meisje 2 Alle jongens houden van één meisje 3 Niet alle mensen hebben staarten 4 Elk kind is jonger dan zijn/haar moeder (geen verschil) 5 Jan en Piet hebben dezelfde oma aan moeders-kant namen: j = Jan, p = Piet predicaten: J(): is een jongen, M(): is een meisje H(): is menselijk (human) L(,y): houdt van y (loves) S(): draagt een staart M(,y): is de moeder van y J(,y): is jonger dan y K(): is een kind 3 Niet alle mensen hebben staarten: (M() S()). predicaten: S(): draagt een staart Wil je redeneren of: S(): is een staart D(,y): draagt y (M() y(s(y) D(,y))) over staarten dragen, of over staarten en over (staarten en andere) dingen dragen? 4
De gegeven formules zijn niet equivalent Elk kind is jonger dan zijn/haar moeder Ander voorbeeld Wanneer zijn de formules niet waar? (K() y(m(y,) J(,y))) K(a) y( M(y,a) J(a,y)) y((k() M(y,)) J(,y)) (K(a) M(b,a)) J(a,b) Elk kind is jonger dan zijn/haar moeder (K() y(m(y,) J(,y))) y((k() M(y,)) J(,y)) Elk kind is jonger dan zijn oom(s): y((k() O(y,)) J(,y)) Je kunt meerdere ooms hebben, maar slechts één moeder Zo n gegeven stop je in een formule m.b.v. een functie 5 6 moeder: predicaat M(, y) of functie m()? Vertalen met functies M(,y) veronachtzaamt het feit dat er voor elke y één bestaat! De relatie M Mensen 2 M = {(zwaantje, bas),(trijntje, daan),(berendina, tomas),...} Met een functie schrijf je: m(bas) = zwaantje m(daan) = trijntje m(tomas) = berendina predicaat: K(), M(,y), J(,y) speciaal predicaat: = (tussen argumenten geschreven) functies: m(): de moeder van namen: j (Jan) en p Piet Elke kind is jonger dan zijn/haar moeder y((k() M(y,)) J(,y)) of (K() J(,m())) Jan en Piet hebben dezelfde oma aan moeders-kant,y,u,v((m(,y) M(y,j) M(u,v) M(v,p)) = u) of m(m(j)) = m(m(p)) 7 8
Vertalen Redeneren Vertalen van kennis in predicaatlogische formules maakt dat je over die kennis (automatisch) kunt redeneren. Vertaal deze zinnen: Alle mensen zijn sterfelijk Socrates is een mens Socrates is sterfelijk (M() S()) M(s) S(s) Waar of onwaar? Bewering (M() S()),M(s) = S(s)? Voor de predicatenlogica behandelen we college 14: Boommethode college 15: Resolutie geen Fitch college 13: Synta en Semantiek 9 10 Eerste-ordetalen: alfabet 2 typen dingen zijn van belang De objecten waar we het over hebben / Uitspraken over objecten die waar of onwaar zijn Een eerste-ordetaal wordt ontworpen per toepassing, door niet-logische symbolen te specificeren (Vertalen naar) niet-logische symbolen: predicaatsymbolen P 0,P 1,..., > 0-plaatsig (P,Q,R,...) functiesymbolen f 0,f 1,..., > 0-plaatsig (f,g,...). namen c 0,c 1,..., eigenlijk 0-plaatsige functies (a,b,c,...) Daarnaast hebben ze allemaal logische symbolen: variabelen: 0, 1,..., we schrijven,y,z,... connectieven:,,,, kwantoren:, gelijkheidssymbool (optioneel): = haakjes ( en ) en de komma,. Termen: de objecten waar we het over hebben De verzameling termen TERM is de kleinste verzameling zdd: 1 alle variabelen i termen zijn (i N), 2 alle namen c i termen zijn, 3 als f een n-plaatsig functiesymbool is en t 1,...,t n termen, ook f(t 1,...,t n ) een term is. Voorbeelden van termen j (jan), p (piet), s (socrates),, z, m(s) (de moeder van socrates), +(3,5) (8), +(,2) ( +2). 11 12
2 typen dingen zijn van belang De objecten waar we het over hebben / Uitspraken over objecten die waar of onwaar zijn Ontledingsbomen: Niet alle paarden zijn bruin Formules: die kunnen een waarheidswaarde kunnen hebben De verzameling formules FORM is de kleinste verzameling zdd: 1 als P i een n-plaatsig predicaatsymbool is en t 1,...t n termen zijn, P(t 1,...,t n ) een formule is, 2 als t 1 en t 2 termen zijn, t 1 = t 2 een formule is, 3 als A en B formules zijn, A en (A B) formules zijn, 4 als A een formule is en een variabele, A, A formules zijn. Voorbeelden van formules (kunnen waar of onwaar zijn) A(b), B(), R(,a), P(a,f(,b)) A() B(a), B(a) R(,a) m(j) = m(p), = 8, 2 = 5, b = m(t), f() = 4 R(,a), y(r(,y) A(y)) (P() B()) (P() B()) (P() B()) P P B P B B Alleen en samen in een knoop 13 14 Oefening (Echte) Subformules Maak ontledingsbomen voor de volgende formules: (K() J(,m())) (M() y(j(y) L(y,))) (M() S()) ( P(a,b) y(h(y) yh(,y))) Subformule Een formule A is een subformule van formule F als aan één van de volgende 4 voorwaarden wordt voldaan: 1 A = F, 2 F = C en A is een subformule van C, 3 F = (C D) en A is een subformule van C of D, 4 F = QC en A is een subformule van C (waarbij Q {, }). Echte subformule Een formule A is een echte subformule van formule F als A een subformule is van F en A F. 15 16
Variabelen en Kwantoren Opgave Maak een ontledingsboom voor A(,y) zb(,z) in A(,y) is gebonden aan de kwantor y in A(,y) is vrij in B(,z) is vrij, niet gebonden aan het bereik van is A(,y) vrij en gebonden hebben betrekking op een voorkomen (optreden) van een variabele, niet op de variabele zelf. let dus op de scope! Geef aan welke variabelen in de onderstaande formules vrij zijn, en welke gebonden worden door welke kwantor. 1 (P(,y) Q()) 2 yp(,y) Q() 3 ( yp(,y) Q()) 4 y((p(,y) Q(y)) R(,z)) 17 18 Waarheid van formules vaststellen Waarheid in een structuur a c P Wanneer is (S() Sl()) waar? En wanneer je alleen studenten beschouwt? b Q Ry Dan is (S() Sl()) equivalent met Sl() Vraag: welke formules zijn waar in deze structuur? 1 R(a, a) 2 R(, ) 3 (P() R(, )) 4 y[r(,y)] 5 [P() yr(,y)] 19 20
Opgave Een mogelijke structuur, en nog één Tenminste 5 objecten Zij L een eerste-ordetaal met daarin predicaatsymbool R(,y): staat in relatie R tot y. 1. R(, ) refleiviteit 2. y(r(,y) R(y,)) symmetrie 3. y z((r(,y) R(y,z)) R(,z)) transitiviteit Geef een structuur (plaatje) die bestaat uit tenminste 5 objecten waarin de volgende formules alledrie tegelijkertijd waar zijn: a b R(,y) 1. R(, ) refleiviteit 2. y(r(,y) R(y,)) symmetrie 3. y z((r(,y) R(y,z)) R(,z)) transitiviteit c d e 21 22