Weryfikacja układów logicznych

Weryfikacja układów logicznych

Weryfikacja układów (twierdzeń) logicznych sprowadza się do weryfikacji tautologii.
Tautologia występuje wówczas, jeśli dla wszystkich możliwych kombinacji wartości wejściowych, na wyjściu dostajemy prawdę (logika boolowska).

Przykład:

Czy prawdziwe jest twierdzenie ?

~(p && q) <=> ~p || ~q

Należy udowodnić, że wyrażenie zawsze jest prawdziwe. Można to zrobić na wiele sposobów, najprostszy polega na sprawdzeniu wszystkich możliwości ustawienia wejść, i badamy stan wyjść.

Dla podanej funkcji pełna analiza wygląda następująco:

p q ~p ~q P && q ~(p && q) ~p || ~q
0 0 1 1 0 1 1 1
0 1 1 0 0 1 1 1
1 0 0 1 0 1 1 1
1 1 0 0 1 0 0 1

Widzimy, że podane wyrażenie jest tautologią, gdyż w kolumnie otrzymaliśmy same jedynki.

Przedstawioną metodę można zasymulować w środowisku Prolog, w oparciu o następujące fakty
i predykaty:

% zakres dopuszczalnych wartości

boolean(true).

boolean(false).

% definicja faktów – elementarnych funkcji logicznych tworzących system pełny

not(true,false).

not(false,true).

and(false,false,false).

and(false,true,false).

and(true,false,false).

and(true,true,true).

or(false,false,false).

or(false,true,true).

or(true,false,true).

or(true,true,true).

% lewa I prawa strona dowodzonego twierdzenia

f_left(X,Y,Z):-and(X,Y,O),not(O,Z).

f_right(X,Y,Z):-not(X,O1),not(Y,O2),or(O1,O2,Z).

% funkcja równoważności – dlaczego tak ?

eq(X,Y,Z):-not(X,O1),not(Y,O2),or(O1,Y,W1),or(O2,X,W2),and(W1,W2,Z).

% reguła badająca tautologię, jakie znaczenie mają podcele: \+X i ! ? Czy można je usunąć bez
% wpływu na wynik badania ?

check(X):-

maplist(boolean,[A,B]),

f_left(A,B,W1),

f_right(A,B,W2),

eq(W1,W2,X),

\+X,!.

check(X):-X=true.

W przypadku bardziej złożonych wyrażeń weryfikacji dokonuje się w postaci symbolicznej, doprowadzając wyrażenia do koniunkcyjnej postaci normalnej (CNF). Formuła w koniunkcyjnej postaci normalnej jest tautologią wtw, gdy każda z alternatyw elementarnych składających się na tę formułę jest tautologią.


Wyszukiwarka

Podobne podstrony:
Katalog skrócony układów logicznych CMOS serii 4000
laboratorium z układów logicznych komparator 3K2PVJZOBCA2ZQGNHSNH7M2IUH65NCCO5GUG55A
czesc nr 2 , Laboratorium Układów Logicznych
teoria1, Laboratorium Układów Logicznych
Modelowanie układów logicznych na elementach elektronicznych
modelowanie ukladow logicznych w oparciu o elementy elektroniczne
elementy techniki cyfrowej synteza układów logicznych 4OB6OACWS4KEY2LEMCASGMXNHXCIVHYNTDKCDUQ
czesc nr 1 , Laboratorium Układów Logicznych
cw 1 multiplekser, Laboratorium Układów Logicznych
Modelowanie układów logicznych w oparciu o elementy elektroniczne
Formalna weryfikacja wyrazen logicznych
Analiza i synteza kombinacyjnych układów logicznych, PWr W9 Energetyka stopień inż, III Semestr, Pod
Algorytmy genetyczne w projektowaniu układów logicznych 2
Formalna weryfikacja wyrazen logicznych
teoria3, Laboratorium Układów Logicznych
czesc nr 3 , Laboratorium Układów Logicznych
Formalna weryfikacja wyrażeń logicznych

więcej podobnych podstron