Professional Documents
Culture Documents
Tutorijal 2
Rješenje:
(X ∨ Y ) ∧ X ⇒ Y = (X ∨ Y )X ⇒ Y =
= XX ∨ Y X ⇒ Y =
=⊥∨YX ⇒Y
=YX ⇒Y =
= XY ∨ Y =
=X ∨Y ∨Y =
=X ∨>=
=> (1)
(X ∨ Y ), X `R Y (2)
Za dokaz ovog teorema, pored teorema i lema sa predavanja, potrebne su nam dvije
dodatne leme koje tvrde:
1
(1) (¬A ⇒ ⊥) [hipoteza]
(2) T ⇒ ¬¬A [kontrapozicija]
(3) ¬¬A ⇒ A [dvostruka negacija]
(4) T ⇒ A [tranzitivnost (2) i (3)]
(5) A ⇒ A [dokaz slijedi iz LA1]
(6) ¬¬(A ⇒ A) [dvostruka negacija]
(7) A [MP (4) i (6)]
(8) (¬A ⇒ ⊥) `R A [teorem dedukcije]
(1) (A ⇒ B) [premisa]
(2) (A ⇒ ¬B) [premisa]
(3) A [pretpostavka]
(4) ¬B [MP (2) i (3)]
(5) B [MP (1) i (3)]
(6) ⊥ [RAA (4) i (5)]
(1) (X ∨ Y ) [premisa]
(2) ¬X [premisa]
(3) ¬Y [pretpostavka]
(4) ¬Y ⇒ ¬X [teorem dedukcije]
(5) X [pretpostavka*]
(6) ¬Y ⇒ X [teorem dedukcije]
(7) ¬¬Y [uvodenje negacije (4) i (6)]
(8) Y [dvojna negacija]
(9) X [pretpostavka]
(10) X ⇒ Y [teorem dedukcije]
(11) Y ⇒ Y [dokaz slijedi iz LA1]
(12) (X ∨ Y ), X `R Y [teorem dedukcije]
2. Pretpostavimo da ako je predstava dobra, onda nije loš tekst, ili su dobri režiser i
glumci. Takoder pretpostavimo da je predstava dobra i da su glumci dobri. Pokažite
formalnim putem da iz toga slijedi da tekst nije loš ili da je režiser dobar.
Rješenje:
2
A - Predstava je dobra
B - Tekst je loš
C - Režiser je dobar
D - Glumci su dobri
• Ako je predstava dobra, onda nije loš tekst, ili su dobri režiser i glumci :
A ⇒ B ∨ CD.
• Predstava je dobra:
• Glumci su dobri :
D
A ⇒ B ∨ CD, A, D |= B ∨ C (4)
Istinitost ovog izraza pokazaćemo na dva načina. Na prvi način, koristićemo čisto
algebarske manipulacije:
(A ⇒ B ∨ CD)AD ⇒ B ∨ C = (A ∨ B ∨ CD)AD ⇒ B ∨ C =
= ABD ∨ ACD ⇒ B ∨ C =
= AD(B ∨ C) ⇒ B ∨ C =
= AD(B ∨ C) ∨ B ∨ C =
=A∨D∨B∨C ∨B∨C =
= A ∨ D ∨ BC ∨ B ∨ C =
=A∨D∨B∨C ∨ C} = >
| {z (6)
>
3
više mjesta koristiti pravilo o neutraliziranju negacije X ∨ XY = X ∨ Y :
(A ⇒ B ∨ CD)AD ⇒ B ∨ C = (A ⇒ B ∨ CD)AD ∨ B ∨ C =
= A ⇒ B ∨ CD ∨ A ∨ D ∨ B ∨ C =
= A ∨ B ∨ CD ∨ A ∨ D ∨ B ∨ C =
= ABCD ∨ A ∨ D ∨ B ∨ C =
= AB(C ∨ D) ∨ A ∨ D ∨ B ∨ C =
= ABC ∨ ABD ∨ A ∨ D ∨ B ∨ C =
= (A ∨ ABC) ∨ (ABD ∨ D) ∨ B ∨ C =
= A ∨ BC ∨ D ∨ B ∨ C =
= A ∨ (B ∨ BC) ∨ D ∨ C =
=A∨B∨C ∨D∨C => (7)
Vidimo da smo na oba načina uspjeli dobiti da je izraz tautologija, bez nekih većih
poteškoća. Primijenimo sada metod rezolucije, koji obično dovodi mnogo brže do
rješenja u slučaju kompleksnijih izraza. Izraz čiju tautologičnost želimo dokazati u
ovom primjeru ima oblik X1 ∧ X2 ∧ X3 ⇒ Y , gdje hipoteze X1 − X3 redom glase
X1 = A ⇒ B ∨ CD, X2 = A i X3 = D, dok zaključak Y ima oblik Y = B ∨ C.
Ovaj izraz je tautologija ako i samo ako je njegova negacija kontradiktorna, tj. ako je
kontradiktoran izraz:
X1 ∧ X2 ∧ X3 ∧ Y , (8)
a u konkretnom slučaju je to izraz:
(A ⇒ B ∨ CD) ∧ A ∧ D ∧ BC (9)
(1) A ∨ B ∨ CD [hipoteza X1 ]
(2) A [hipoteza X2 ]
(3) D [hipoteza X3 ]
(4) BC [negacija zaključka]
(5) B ∨ CD [rezolucija (1) i (2)]
(6) B [simplifikacija (4)]
(7) CD [rezolucija (5) i (6)]
(8) C [simplifikacija (7)]
(9) C [simplifikacija (4)]
(10) N IL [rezolucija (8) i (9)]
4
3. Dat je logički izraz AB ∨ C ∨ A ∨ BC.
Rješenje:
AB ∨ C ∨ A ∨ BC = ABC ∨ ABC =
= (A ∨ B)C ∨ ABC =
= AC ∨ BC ∨ ABC =
= ABC ∨ A BC ∨ ABC ∨ A BC ∨ ABC =
= ABC ∨ A BC ∨ ABC (11)
5
AB ∨ C ∨ A ∨ BC = ... = AC ∨ BC ∨ ABC = AC ∨ BC = (A ∨ B)C =
= (A ∨ B ∨ C)(A ∨ B ∨ C)C =
= (A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ C)(A ∨ C) =
= (A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ B ∨ C)
(A ∨ B ∨ C)(A ∨ B ∨ C) =
= (A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ B ∨ C)
(12)
Vidimo da smo dobili isti rezultat. Sa tri tačkice je označen dio koji smo preskočili
zbog toga što je već ranije izračunat prilikom odredivanja SDNF u (11).
c) U postupku pod b) već smo pronašli neke DNF kraće od SDNF, recimo AC ∨ BC ∨
ABC i AC ∨ BC.
d) U postupku pod b) već smo pronašli neke KNF kraće od SKNF, recimo (A ∨ B)C,
zatim recimo (A ∨ B ∨ C)(A ∨ B ∨ C)C te (A ∨ B ∨ C)(A ∨ B ∨ C)(A ∨ C)(A ∨ C).
e) Za odredivanje algebarske normalne forme (ANF) poželjno je krenuti od najkraće
forme izraza, što je u ovom slučaju (A∨B)C. Zatim se primjenjuju sljedeća pravila:
X ∨ Y = X Y Y Y XY
X1 ∨ X2 ∨ ... ∨ Xn = > Y (> Y X1 )(> Y X2 )...(> Y Xn )
X =>YX (13)
AB ∨ C ∨ A ∨ BC = ... = (A ∨ B)C =
= (A Y B Y A B)C =
= (> Y A Y > Y B Y (> Y A)(> Y B))C =
= (> Y A Y > Y B Y > Y A Y B Y AB)C =
= (> Y AB)C = C Y ABC (14)
Odredimo sada ANF ovog izraza algoritamski. Ovaj postupak se najbolje prikazuje
tablicom:
I j=1 j=2 j=4 monom
⊥ ⊥ ⊥ ⊥ 000
> ⊥Y>=> > > 001 C
⊥ ⊥ ⊥Y⊥=⊥ ⊥ 010
> ⊥Y>=> >Y>=⊥ ⊥ 011
⊥ ⊥ ⊥ ⊥Y⊥=⊥ 100
> ⊥Y>=> > >Y>=⊥ 101
⊥ ⊥ ⊥Y⊥=⊥ ⊥Y⊥=⊥ 110
⊥ ⊥Y⊥=⊥ >Y⊥=> ⊥Y>=> 111 ABC
Očigledno se dobiva identičan rezultat C Y ABC.
6
f) I za odredivanje If-Then-Else (ITE) forme izraza poželjno je krenuti od najkraće
forme izraza, tj. (A ∨ B)C. Zatim se koristi Shannon-Booleova ekspanzija:
Postupak se ponavlja i za ostale varijable sve dok drugi i treći argument IT E() ne
postanu ili druge IT E() ili > ili ⊥. Vrijedi:
f = (A ∨ B)C
fA = f (A = >) = BC
fA = C (16)
pa se dobiva:
f = IT E(A, BC, C) (17)
Sada tražimo ITE forme za drugi i treći argument IT E() u (17). Vrijedi:
f 1 = BC
fB1 = f 1 (B = >) = ⊥
fB1 = C (18)
f
A=⊥
A=>
BC C
B=⊥ C=⊥
B=> C=>
⊥ C > ⊥
C=⊥
C=>
> ⊥