ons jaarverslag

Logica voor Informatica
Mehdi Dastani
Literals

Een literal is een propositieletter, of de negatie
van een propositieletter, bijvoorbeeld:
¬p , q , ¬r , r
Literals = { p , ¬p | p is een propositieletter }

Als A is een literal, dan ~A is het complement
van A.
~p = ¬p
en
~¬p = p
Normaalvormen

Disjunctieve normaalvorm (DNF)
Disjunctie van conjuncties van literals
(r ∧ q ∧ ¬r) ∨ (¬q ∧ s ∧ t) ∨ (¬p ∧ r)

Conjunctieve normaalvorm (CNF)
Conjunctie van disjuncties van literals
(r ∨ q ∨ ¬r) ∧ (¬q ∨ s ∨ t) ∧ (¬p ∨ r)
Disjunctieve normaalvormen
(DNF)
(r ∧ q ∧ ¬r) ∨ (¬q ∧ r) ∨ (¬p ∧ r)

Een DNF is waar a.e.s.a. tenminste een
component waar is.

Een component is waar a.e.s.a. er geen
complementair paar literals in voorkomt.

Dus, een DNF is waar a.e.s.a. een component
geen complementair paar literals bevat.
Converteren naar DNF
m.b.v. waarheidtafel
(p→q)→p
p
q
p→q (p→q)→p
F
F
T
T
F
T
F
T
T
T
F
T
F
F
T
T
(p ∧ ¬q) ∨ (p ∧ q)
Converteren naar DNF
m.b.v. herschrijven
1.
Elimineer → dmv
A → B ≡ ¬A ∨ B
2.
Elimineer ↔ dmv
A ↔ B ≡ (¬A ∨ B) ∧ (¬B ∨ A)
3.
4.
5.
Pas distributieve wet
A ∧ (B ∨ C)
(A ∨ B) ∧ C
≡ (A ∧ B) ∨ (A ∧ C)
≡ (A ∧ C) ∨ (B ∧ C)
Breng negatietekens binnen haakjes
¬(A ∧ B) ≡ ¬A ∨ ¬B
&
¬(A ∨ B) ≡ ¬A ∧ ¬B
Elimineer dubbele negaties mbv ¬¬A ≡ A
Conjunctieve normaalvormen
(CNF)
(r ∨ q ∨ ¬r) ∧ (¬q ∨ s ∨ t) ∧ (¬p ∨ r)

Een CNF is waar a.e.s.a. alle componenten waar
zijn.

Een component is waar a.e.s.a. er een
complementair paar literals in voorkomt.

Dus, een CNF is een waar a.e.s.a. in alle
componenten een complementair paar literals
voorkomen.
Converteren naar CNF
m.b.v. herschrijven
(¬p ∧ (¬q → r)) ↔ s
((¬p ∧ (¬q → r)) → s)
((¬p ∧ (¬¬q ∨ r)) → s)
((¬p ∧ (q ∨ r)) → s)
(¬(¬p ∧ (q ∨ r)) ∨ s)
((¬¬p ∨ ¬(q ∨ r)) ∨ s)
((p ∨ (¬q ∧ ¬r)) ∨ s)
(((p ∨ ¬q) ∧ (p ∨ ¬r)) ∨ s)
(((p ∨ ¬q) ∨ s) ∧ ((p ∨ ¬r) ∨ s))
(p ∨ ¬q ∨ s) ∧ (p ∨ ¬r ∨ s)
∧
∧
∧
∧
∧
∧
∧
∧
∧
(s →(¬p ∧ (¬q → r)))
(s →(¬p ∧ (¬¬q ∨ r)))
(s →(¬p ∧ (q ∨ r)))
(¬s ∨ (¬p ∧ (q ∨ r)))
(¬s ∨ (¬p ∧ (q ∨ r)))
(¬s ∨ (¬p ∧ (q ∨ r)))
((¬s ∨ ¬p) ∧ (¬s ∨ (q ∨ r)))
((¬s ∨ ¬p) ∧ (¬s ∨ (q ∨ r)))
(¬s ∨ ¬p) ∧ (¬s ∨ q ∨ r)
Converteren naar CNF
via DNF

Laat A een willekeurige propositie zijn.

Converteer ¬A naar DNF vorm, bijv.
¬A = (p1 ∧ p2 ∧ … ) ∨ (q1 ∧ q2 ∧ …) ∨ …
CNF van A is dan
¬¬A = ¬ ((p1 ∧ p2 ∧ … ) ∨ (q1 ∧ q2 ∧ …) ∨ …
= ¬(p1 ∧ p2 ∧ … ) ∧ ¬(q1 ∧ q2 ∧ …) ∧ …)
= (¬p1 ∨ ¬p2 ∨ … ) ∧ ¬(¬q1 ∨ ¬q2 ∨ …) ∧ …)

Toepassing: logische circuits
A
B
∧
A
A∧B
A∨B
B
A
¬
¬A
Van waarheidstafel naar circuit

Gegeven een (waarheidstafel voor een)
waarheidsfunctie R kunnen we op systematische
manier een logisch circuit maken dat R realiseert:

Beschouw alle rijen waarvoor v(R) = T


Iedere rij levert een disjunct op die zelf bestaat uit
een conjunctie van zgn literals
Vereenvoudig zo mogelijk mbv regels voor ≡
Voorbeeld
A B C R(A,B,C)
F
F
F
F
F
F
T
F
F
T
F
T
F
T
T
F
T
F
F
F
T
F
T
T
T
T
F
T
T
T
T
F
Voorbeeld

Deze procedure levert nu op voor R:
(¬A ∧B ∧ ¬C) ∨
(A ∧¬B ∧ C) ∨
(A ∧ B ∧ ¬C)
Een formule in zgn ‘Disjunctieve Normaalvorm’ (DNF)

Dit is logisch equivalent (≡) met:
(B ∧ ¬C) ∨ (A ∧¬B ∧ C)

Hiervoor circuit maken
Alternatieve methoden om
geldigheid formules te bepalen

In de praktijk is het werken met waarheidstafels
onhandig omdat ze erg groot worden in een beetje
realistische toepassing: een waarheidstafel met n
atomen heeft 2n rijen.

Voor het vaststellen van geldigheid alle rijen te
bekijken: (te)veel werk.

Zoeken naar alternatieven: bijv. zgn. semantische
tableaux en (natuurlijke) deductie.
Semantische tableaux
Semantische tableaux

Een semantisch tableau is een (vertakkende)
sequentie van propositionele vormen,
geconstrueerd volgens bepaalde regels, vaak
gerepresenteerd in een boom.

Deze methode levert modellen voor een
formule als deze bestaan: ze geeft op
systematische wijze aan welke atomen waar
moeten worden gemaakt om een formule waar
te maken, en geeft ook aan als dit niet kan!
Semantische tableaux

Kan een verzameling proposites waar zijn,
d.w.z. kan een verzameling proposities een
model hebben.

Voorbeeld: kan {p∧q , ¬p} een model hebben?
p∧q ° p
p,q ° p
X
Regels semantische tableaux

Regel (∧-links)

Regel (∧-rechts)
°A ∧ B
A∧B°
A,B°
°A
°B
Regels semantische tableaux

Regel (∨-links)

Regel (∨-rechts)
A∨B°
°A∨B
A°
°A,B
B°
Regels semantische tableaux

Regel (→-links)
A→B°
°A

Regel (→-rechts)
°A → B
B°
A°B
Regels semantische tableaux

Regel (↔-links)
A↔B°
A→B, B→A °

Regel (↔-rechts)
°A ↔ B
°A→B
°B→A
Regels semantische tableaux

Regel (¬-links)
¬A °
°A

Regel (¬-rechts)
°¬A
A°
Regels semantische tableaux

Regel 0
Als een logische vorm A in beide kanten van °
voorkomt, dan is A inconsistent en wordt de tak
gesloten (‘closed’).
Voorbeeld: {¬(A → B), ¬A ∨ B}
is inconsistent
¬(A → B),¬A ∨ B °
¬A °
°A
°A→B
A°B
closed
B°
°A → B
A°B
Wel of geen modellen?

Als alle takken ‘sluiten’ dan is de
verzameling proposities waar je mee begon
inconsistent (d.w.z. heeft geen model)

Als minstens een tak ‘open’ blijft, geeft dit
een model voor de verzameling proposities!
Voorbeeld: { P, Q, Q →¬P }
is inconsistent
P , Q , Q →¬P °
°Q
closed
°P
closed
Voorbeeld: {P, ¬Q, Q →¬P}
is consistent
P , Q →¬P ° Q
°Q
°P
closed
Model: v(Q)=F, v(P)=T
Geldigheid van een formule

Semantische tableaux leveren een
systematische manier om modellen van
een propositie te vinden

Als een propositie geen modellen heeft, is
deze inconsistent

Geldigheid is indirect te checken via:
A is inconsistent (contradictie)
⇔
¬A is geldig (tautologie)
Voorbeeld: A ∨ (¬B → ¬A)
is geldig (tautologie)
¬(A ∨ (¬B → ¬A)) °
°A ∨ (¬B → ¬A)
°A , ¬B → ¬A
¬B °A , ¬A
A °A , B
closed
Semantische tableaux en
argumenten

We kunnen de semantische tableaux methode
ook gebruiken om te checken of argumenten
geldig zijn

Beschouw weer het argument:
R → N, R N

De geldigheid hiervan is aan te tonen door te
controleren of de verzameling { R→N , R , ¬N }
inconsistent is, d.w.z. geen modellen heeft.
Semantische tableaux en
argumenten
R → N, R ° N
°R
closed
N°
closed
Dwz geen modellen: {R → N, R, ¬N} inconsistent,
dus argument R → N, R N geldig
Semantische tableaux en
argumenten


A, B → A
B is geen geldig argument.
We laten met sem. tableaux zien dat de verzameling
{A, B → A, ¬B} consistent is, d.w.z. een model heeft:
A, B → A ° B
°B
open
A°
open
model v(A)=T, v(B)=F
Nogmaals
Logische Gevolg en Model

Model (Interpretatie):
m B
Het model m (of interpretatie m) maakt B waar.
Merk op dat een model een rij van de
waarheidstafel is.

Logische Gevolg:
A1 , … , An B
Elk model van proposities A1 , … , An is ook een
model van propositie B.
Semantische tableaux:
Correctheid

Gezondheid


Als A1 , … , An
beginnend met
een open tak.
B, dan elk mogelijk tableaux
A1 , … , An °B heeft tenminste
Volledigheid

Als A1 , … , An B, dan elk mogelijk tableaux
beginnend met A1 , … , An °B bestaat uit
alleen takken die gesloten kunnen worden.
Normaalvormen met tableaux

DNF van een propositie A is te verkrijgen
door een tableaux te maken voor A °

CNF van een propositie A is te verkrijgen
door een tableaux te maken voor ° A.
(p→q)→p °
°p→q
° (p→q)→p
p°
p°q
(p ∧ ¬q) ∨ (p)
p→q ° p
q°p
°p
(¬q ∨ p) ∧ (p)