Logica voor Informatica Proeftentamen (deel 2) VOORBLAD Aanwijzingen • De toets is gesloten boek: je mag geen boek, lesmateriaal, of college aantekeningen gebruiken. • Je mag wel één A4-tje met eigen aantekeningen gebruiken. Dit A4-tje mag aan beide zijden beschreven zijn. • Er zijn 10 opgaven. Elk opgave telt voor 1 punt. De moeilijkheidsgraad van de onderdelen is niet altijd gelijk en kan dus variëren. • Laptops, iPads, (grafische) rekenmachines, mobiele telefoons, en alle andere soortgelijke apparaten en gadgets dienen niet gebruikt en in de tas te blijven. • Beantwoord alle opgaven op deze tentamenbladen (beide zijden van de 2 bladen). Haal de nietjes niet eruit. Alle antwoorden dienen op de aangegeven boxen ingevuld te worden. Je mag geen extra papier met antwoorden erop inleveren. Schrijf daarom je antwoorden helemaal aan het eind op deze tentamen papieren. • Schrijf leesbaar en niet met potlood. VUL EERST HET ONDERSTAANDE IN: Naam: Studentnummer: Nummer werkcollegegroep: Schrijf je naam ook op het tweede blad. 1 Vertaal de onderstaande zinnen in de taal van de predikatenlogica (gebruik de bijbehorende vertaalsleutel). a. Ieder die Jan bemint, bemint Marie. (j: Jan, m: Marie, B: bemint) b. Geen natuurlijk getal is zowel even als oneven. (N: nat.getal, E: even, O: oneven) c. Elk natuurlijk getal is óf even óf oneven. (N: nat.getal, E: even, O: oneven) d. Honden zijn huisdieren, maar sommige honden zijn vals. (H: hond, D: dier, V:vals) a. b. c. d. 2 Bepaal de deelformule die het bereik is van elke kwantor in de volgende formules. Bepaal ook de vrije variabele in deze formules. – ∀x B(x, y) Bereik van ∀x is: Vrije variabelen zijn: – ∀x∀y (A(x, y, z) → ∃zB(x, y, z)) Bereik van ∀x is: Bereik van ∀y is: Bereik van ∃z is: Vrije variabelen zijn: – p(x) ∧ ∀y (∀xA(x, y) → ∃x B(x, y)) Bereik van ∀x is: Bereik van ∀y is: Bereik van ∃x is: Vrije variabelen zijn: 3 Bepaal of de term f (x3 ) vrij substitueerbaar is voor x2 in de volgende formules (omcirkel het goede antwoord). - A(x1 , x2 , x3 ) Ja / Nee - ∀x1 (A(x1 , x2 ) → ∃x3 B(x1 , x2 , x3 )) Ja / Nee - ∀x2 (A(x1 , x2 ) ∧ ¬∃x3 B(x1 , x2 , x3 )) Ja / Nee - ∀x1 ∀x3 (A(x1 , x2 ) → ∃x2 B(x1 , x2 , x3 )) Ja / Nee Naam: Studentnummer: 4 Laat met behulp van de semantische tableaumethode (in boomvorm of tabellen) zien dat de volgende redenering geldig is. { ∀x (A(x) → B(x)) } |= ∃x A(x) → ∃x B(x) 5 Bewijs met behulp van Hilbert’s axiomasysteem de volgende stelling. { ∀x∀y A(x, y) } ` ∀y∀x A(x, y) 6 Bewijs met behulp van natuurlijke deductie de volgende stelling. { ¬∃x ¬P (x) } ` ∀z P (z) 7 Unificeer (als mogelijk) de volgende horende substitutie. a. plus(s(s(s(X))), s(s(0)), s(Z)) b. plus(s(s(X)), s(s(X)), s(Z)) c. plus(s(s(X)), X, s(Z)) a. b. c. paren van atomaire formules en geeft de bijbe& plus(s(s(0)), s(X), Y ) & plus(s(V ), s(s(s(0))), s(s(s(s(V ))))) & plus(s(Y ), s(s(V )), s(s(W ))) 8 Herschrijf de volgende formule tot Skolemnormaalvorm en zorg dat de matrix in CNF staat. Laat de tussenstappen zien. ∃xA(x) → ∃x∃y(B(x) ∧ C(x, y)) 9 Bewijs met behulp van de semantische tableaumethode dat r(a, 1) een logisch gevolg is van het volgende Prolog programma (Hint: Zet eerst het programma in Horn zinnen). p(a). q(a,1). r(X,Y):-p(X),q(X,Y). 10 Bewijs de correctheid van de volgende programmaspecificatie in de Floyd-Hoare logica. { x=V } begin x:=x+y; y:=y-1 einde { x=V+y+1 }