You are on page 1of 9

Oplossingen Oefeningen Grondslagen 1:

Propositielogica: Syntax en Semantiek

Oefening 1
• Σ0 = {}
• Σ1 = {a, b}
• Σ2 = {aa, ab, ba, bb}
• Σ3 = {aaa, aab, aba, abb, baa, bab, bba, bbb}

Oefening 2
a) .r : Σ∗ → Σ∗ gedefinieerd door

(a) r = 
(b) ar = a voor a ∈ Σ
(c) (aw)r = wr a voor a ∈ Σ, w ∈ Σ∗

b) (abcd)r = (bcd)r a = (cd)r ba = dr cba = dcba = dcba


c) Te bewijzen (wa)r = awr . Per inductie op w
• Basisstappen
Als |w| = 0 dan is w = . Dan is ook (wa)r = (a)r = ar = a = a = awr
Als |w| = 1 dan is w = b ∈ Σ. Dus (wa)r = (ba)r = ar b = ab = awr
• Inductiestappen
Als |w| = n > 1 dan geldt voor w0 met |w0 | = n − 1 en w = bw0 met b ∈ Σ:
(wa)r = (bw0 a)r = (w0 a)r b per inductie hebben we dan ook aw0r b.
Dit komt overeen met a(bw0 )r ofte awr
d) Te bewijzen wrr = w. Per inductie op w
• Basisstappen
Als |w| = 0, dan is w = . Dus rr = r =  = w
Als |w| = 1, dan is w = a, met a ∈ Σ. Dus arr = ar = a = w
• Inductiestappen
Als |w| = n > 1, dan w = aw0 met a ∈ Σ en w0 ∈ Σ∗ .
Dan wrr = (aw0 )rr = (w0r a)r
Uit c) weten we dat (w0r a)r = awrr en per inductie hebben we dan aw0 wat gelijk is met w

Zie cursus Lambda-calculus.

1
Oefening 3
1. Een verzameling variabelen a, b, c, ... ∈ V
2. Het symbool voor functiedefinities λ
3. Aanroep symbolen ( en )

Oefening 4
1. Een verzameling propositieletters a, b, c, ...
2. Logische symbolen ¬, ∧, ∨, →, ↔
3. Hulpsymbolen ( en )

Oefening 5
1. d verwijdert alle voorkomens van een letter a in een woord w
2. Te bewijzen per inductie op w: voor alle ∀w ∈ Σ∗ , ∀a ∈ Σ : d(w, a)r = d(wr , a)

• Basisstappen
Als |w| = 0 dan is w = , dus
– LHS = d(w, a)r = d(, a)r = r = 
– RHS = d(wr , a) = d(r , a) = d(, a) = 
Als |w| = 1 dan is w gelijk aan een letter ofwel gelijk aan, ofwel verschillend van a.
Stel w = a, dan
– LHS = d(w, a)r = d(a, a)r = r = 
– RHS = d(wr , a) = d(ar , a) = d(, a) = 
Stel w = b en b ∈ Σ en b 6= a
– LHS = d(w, a)r = d(b, a)r = br = b
– RHS = d(wr , a) = d(br , a) = d(b, a) = b
• Inductiestap
Als |w| > 1, dan w = cw0 met c ∈ Σ en w ∈ Σ∗
– LHS = d(w, a)r = d(cw0 , a)r = (d(c, a)d(w0 , a))r = d(w0 , a)r d(c, a)
– RHS = d(wr , a) = d((cw)0r , a) = d(w0r c, a) = d(w0r , a)d(c, a)
vanwege de basisstap weten we dat het laatste letter dus gelijk is en per inductie hebben we
dan ook dat d(w0 , a)r = d(w0r , a)

3. Te bewijzen per inductie op w: voor alle ∀w ∈ Σ∗ , ∀a, b ∈ Σ : d(d(w, a), b) = d(d(w, b), a)

• Basisstappen
Als |w| = 0 dan is w = , dus
– LHS = d(d(w, a), b) = d(d(, a), b) = d(, b) = 
– RHS = d(d(w, b), a) = d(d(, b), a) = d(, a) = 
Als |w| = 1 dan is w gelijk aan een letter ofwel gelijk aan, ofwel verschillend van a en/of b.
Gezien = symmetrisch is, hoeven we het maar voor één letter te bekijken. We nemen a.
Stel w = a, dan

2
– LHS = d(d(w, a), b) = d(d(a, a), b) = d(, b) = 
– RHS = d(d(w, b), a) = d(d(a, b), a) = d(a, a) = 
Stel w = c en c ∈ Σ en c 6= a en c 6= b
– LHS = d(d(w, a), b) = d(d(c, a), b) = d(c, b) = c
– RHS = d(d(w, b), a) = d(d(c, b), a) = d(c, a) = c
• Inductiestap Als |w| > 1, dan w = cw0 met c ∈ Σ en w ∈ Σ∗
– LHS = d(d(w, a), b) = d(d(cw0 , a), b) = d(d(c, a)d(w0 , a), b) = d(d(c, a), b)d(d(w0 , a), b)
– RHS = d(d(w, b), a) = d(d(cw0 , b), a) = d(d(c, b)d(w0 , b), a) = d(d(c, b), a)d(d(w0 , b), a)
vanwege de basisstap weten we dat d(d(c, a), b) = d(d(c, b), a) en per inductie hebben we ook
dat d(d(w0 , a), b) = d(d(w0 , b), a)

Oefening 6
a) De afsluitende stap zorgt ervoor dat “woorden” die niet gevormd kunnen worden via stap 1 of 2
niet beschouwd kunnen worden als een formule. Bijvoorbeeld: ¬pq en p →→ q zijn geen formules.
b) i) ja
ii) neen: er staan geen haakjes, de constructieboom zou ambigu zijn
iii) ja

Oefening 7

b = “de bus komt”, a = “de tram komt”, e = “de trein komt”

a) (¬b → (a ∧ e))
b) ((¬e → a) → ¬(e ∧ b))

Oefening 8

((p ∧ ¬q) → r), (p ∧ ¬(q → r)), (p ∧ (¬q → r))

((p^¬q)->r) (p^¬(q->r)) (p^(¬q->r))

(p^¬q) r p ¬(q->r) p (¬q->r)

p ¬q (q->r) ¬q r

q q r q

3
Oefening 9

Vermits de propositiesymbolen telkens herhaald worden, zouden we deze kunnen weglaten en ze enkel
onderaan in de bladeren van de boom schrijven.

Oefening 10

Gebalanceerde haakjes
• Basisstap: () is een rij gebalanceerde haakjes
• Opbouwstappen:

– Als H een rij gebalanceerde haakjes is, dan is ook (H) een rij gebalanceerde haakjes.
– Als H1 en H2 rij gebalanceerde haakjes zijn, dan is ook H1 H2 een rij gebalanceerde haakjes.
• Afsluitende stap: niets anders is een rij gebalanceerde haakjes

Let op: bovenstaande oplossing kan tot ambigue bomen leiden. Bijvoorbeeld ()()() heeft twee construc-
tiebomen. Men kan dit oplossen met volgende inductieve definitie:

• Basisstap: () is een rij gebalanceerde haakjes

• Opbouwstappen:
– Als H een rij gebalanceerde haakjes is, dan is ook (H) een rij gebalanceerde haakjes.
– Als H een rij gebalanceerde haakjes is, dan is ook ()H een rij gebalanceerde haakjes.
– Als H1 en H2 rij gebalanceerde haakjes zijn, dan is ook (H1 )H2 een rij gebalanceerde haakjes.

• Afsluitende stap: niets anders is een rij gebalanceerde haakjes

Natuurlijke Expressies (NE)

• Basisstap: elke n ∈ N is een natuurlijke expressie


• Opbouwstappen:
– Als N1 en N2 natuurlijke expressies zijn, dan zijn ook (N1 + N2 ), (N1 − N2 ), (N1 ∗ N2 ) en
(N1 /N2 ) natuurlijke expressies.
• Afsluitende stap: niets anders is een natuurlijke expressie

Oefening 11
a) prefix: +(1, −(∗(2, 7), 5)) en postfix:(1, ((2, 7)∗, 5)−)+

b) prefix: ∗(+(3, 4), /(8, 2)) en postfix: ((3, 4)+, (8, 2)/)∗
c) prefix: ∧(→ (↔ (q, r), p), ¬(p)) en postfix: (((q, r) ↔, p) →, (p)¬)∧

4
Oefening 12
a)

[(q ↔ r)/p]¬p = ¬[(q ↔ r)/p]p ¬ − regel


= ¬(q ↔ r) prop.letter − regel

b)

[(q → s)/p](p → q) = ([(q → s)/p]p → [(q → s)/p]q) → −regel


= ((q → s) → [(q → s)/p]q) prop.letter − regel
= ((q → s) → q) prop.letter − regel

c)

[((q ∧ s) → ¬p)/r](p → p) = ([((q ∧ s) → ¬p)/r]p → [((q ∧ s) → ¬p)/r]p) ¬ − regel


= (p → [((q ∧ s) → ¬p)/r]p) prop.letter − regel
= (p → p) prop.letter − regel

Oefening 13

Deze oplossingen zijn opgesteld in de veronderstelling dat x een natuurlijk getal is!

a)

(¬(p ∧ q) ∧ r) ' ¬(x ≤ 1 ∧ x ≤ 3) ∧ x ≥ 2


' (¬(x ≤ 1) ∧ x ≥ 2)
' (x > 1 ∧ x ≥ 2)
'x≥2

b)

((¬p ∧ q) ∧ r) ' (¬(x ≤ 1) ∧ x ≤ 3) ∧ x ≥ 2


' ((x > 1 ∧ x ≤ 3) ∧ x ≥ 2)
' ((x = 2 ∨ x = 3) ∧ x ≥ 2)
' (x = 2 ∨ x = 3)

c)

¬(p ∧ (q ∧ r)) ' ¬(x ≤ 1 ∧ (x ≤ 3 ∧ x ≥ 2))


' ¬(x ≤ 1 ∧ (x = 2 ∨ x = 3))
' alle natuurlijke getallen

Oefening 14
a) V (p ∧ q) = 0, dit kan je aflezen in de waarheidstabel van p ∧ q, bekijk de lijn waar p = 0 en q = 1.
V (p ↑ q) =?, dit is afhankelijk van de betekenis van ↑

5
b) Het boek geeft een precieze definitie voor V (p), V (q), ... met p, q, ... propositieletters. Het geeft
echter niet de definitie va V (ϕ) met ϕ een willekeurig propositieformule. Hiervoor zijn nodig: een
definitie voor de waarderingen van de connectieven en hoe deze gecombineerd kunnen worden.
c) Definitie: de waardering van een k-plaatsige connectief ◦ is een functie f◦ : {0, 1}k → {0, 1} = V (◦)
Definitie: zij V een waardering. De waardering van een formule ϕ is gedefinieerd door:

• Als ϕ = p, met p een propositieletter, dan is V (ϕ) = V (p)


• Als ◦ een k-plaatsige connectief is, en σ1 , ..., σr zijn formules en ϕ = ◦(σ1 , ..., σr ) dan is
V (ϕ) = V (◦)(V (σ1 ), ..., V (σr ))
Let op: er zijn nu 3 V’s in het spel: V voor propositieletters, V voor connectieven, en V voor
formules, die de semantiek van formules berekent door middel van d).

d) • V (→) = f→ met f→ = 1 als x = 0 of y = 1 en f→ = 0 anders.


• V (↔) = f↔ met f↔ = 1 ⇔ x = y
• V (∧) = f∧ met f∧ (x, y) = min(x, y)
• V (∨) = f∨ met f∨ (x, y) = max(x, y)
• V (¬) = f¬ met f¬ (x) = 1 − x

e)

V ((p ∧ q) → r) = f→ (V ((p ∧ q)), V (r))


= f→ (f∧ (V (p), V (q)), 0)
= f→ (f∧ (0, 1), 0)
= f→ (0, 0)
=1

Oefening 15

Zie volgende pagina

6
a) (¬pv¬q)

Eerste manier:

p q ¬p ¬q ¬pv¬q
0 0 1 1 1
0 1 1 0 1
1 0 0 1 1
1 1 0 0 0

Tweede manier

p q ¬pv¬q
0 0 111
0 1 110
1 0 011
1 1 000

b) (p^(q^p))

Eerste manier:

p q q^p (p^(q^p))
0 0 0 0
0 1 0 0
1 0 0 0
1 1 1 1

Tweede manier:

p q (p^(q^p))
0 0 0 0
0 1 0 0
1 0 0 0
1 1 1 1

c) (¬p^(¬q^r))v((q^r)v(p^r))

Eerste manier

p q r (q^r) (p^r) ¬q ¬p ¬q^r ¬p^(¬q^r) (q^r)v(p^r) (¬p^(¬q^r))v


((q^r)v(p^r))
0 0 0 0 0 1 1 0 0 0 0
0 0 1 0 0 1 1 1 1 0 1
0 1 0 0 0 0 1 0 0 0 0
0 1 1 1 0 0 1 0 0 1 1
1 0 0 0 0 1 0 0 0 0 0
1 0 1 0 1 1 0 1 0 1 1
1 1 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 1 1
Oefening 16
1. (p ∧ ¬q) ∨ (¬p ∧ q)
2. Exclusive OR (XOR, ∨)
3. p → q is equivalent met ¬p ∨ q
p ↔ q is equivalent met (p ∧ q) ∨ (¬p ∧ ¬q)

Oefening 17
1. XOR
2. ∧
3. c1 is hier de carry. Voor elke pi , qi , i = 1..8:

(a) ri = (ci ∨(pi ∨qi ))


(b) ci+1 = (pi ∧ qi ) ∨ ((pi ∨qi ) ∧ ci )

Oefening 18
a) ϕ = ((¬p ∨ q) ↔ (p → q))
p q ¬p ¬p ∨ q p→q ((¬p ∨ q) ↔ (p → q))
v1 0 0 1 1 1 1
v2 0 1 1 1 1 1
v3 1 0 0 0 0 1
v4 1 1 0 1 1 1
M od(ϕ) = {v1, v2, v3, v4}
Merk op: tautologie (¬p ∨ q) ⇔ (p → q)
b) ϕ = (q ∧ (¬p ∨ p))
p q ¬p ¬p ∨ p (q ∧ (¬p ∨ p))
v1 0 0 1 1 0
v2 0 1 1 1 1
v3 1 0 0 1 0
v4 1 1 0 1 1
M od(ϕ) = {v2, v4}
Merk op: q ⇔ (q ∧ (¬p ∨ p))
c) ϕ = (q ∧ (¬p ∧ p))
p q ¬p ¬p ∧ p (q ∧ (¬p ∧ p))
v1 0 0 1 0 0
v2 0 1 1 0 0
v3 1 0 0 0 0
v4 1 1 0 0 0
M od(ϕ) = {}
Merk op: (p ∧ ¬p) = vals

8
Oefening 19
a) Σ = {((p ↔ q) ↔ ((p → q) ∧ (q → p)))}
p q ((p ↔ q) ↔ ((p → q) ∧ (q → p)))
v1 0 0 1
v2 0 1 1
v3 1 0 1
v4 1 1 1
M od(Σ) = {v1, v2, v3, v4}

b) Σ = {((p ↔ q) ↔ ((p → q) ∧ (q → p))), (p ∨ q)}


p q ((p ↔ q) ↔ ((p → q) ∧ (q → p))) (p ∨ q)
v1 0 0 1 0
v2 0 1 1 1
v3 1 0 1 1
v4 1 1 1 1
M od(Σ) = {v2, v3, v4}

Opmerking: M od(Σ ∪ {ϕ}) ⊆ M od(Σ) ten opzichte van alle waarderingen die je kan maken met de
propositieletters in zowel Σ en ϕ.

You might also like