Algebra KubusiaCzęść II
Operatory OR i AND w zbiorach
Część I
viewtopic.php?p=811580#p8115801.0 NotacjaSpójniki logiczne w algebrze Kubusia:
Operatory OR i AND:
* - spójnik „i” w mowie potocznej
+ - spójnik „lub” w mowie potocznej
Operatory implikacji i równoważności:
=> - warunek wystarczający, spójnik „na pewno” w całym obszarze matematyki
~> - warunek konieczny, spójnik „może” w implikacji
[~>] - wirtualny warunek konieczny w równoważności, nie jest to spójnik „może”
~~> - naturalny spójnik „może” wystarczy pokazać jeden przypadek prawdziwy
<=> - wtedy i tylko wtedy
$ - spójnik „albo” z naturalnej logiki człowieka
3.0 Operatory OR i AND w zbiorachMaszynowa (zero-jedynkowa) definicja operatora AND:
Kod:
p q Y=p*q
A: 1* 1 =1
B: 1* 0 =0
C: 0* 1 =0
D: 0* 0 =0
1 2 3
Y=1 <=> p=1 i q=1
inaczej:
Y=0
Maszynowa (zero-jedynkowa) definicja operatora OR:
Kod:
p q Y=p+q
A: 1+ 1 =1
B: 1+ 0 =1
C: 0+ 1 =1
D: 0+ 0 =0
1 2 3
Y=1 <=> p=1 lub q=1
inaczej:
Y=0
Fundamentem operatorów OR i AND są definicje spójników „i”(*) i „lub”(+).
Znaczenie spójników „i”(*) i „lub”(+) w algebrze Kubusia:
„i”(*) - iloczyn logiczny zbiorów (zdarzeń)
„lub”(+) - suma logiczna zbiorów (zdarzeń)
Definicja spójnika „i’(*):
Iloczyn logiczny (koniunkcja) dwóch zmiennych binarnych p i q jest równy 1 wtedy i tylko wtedy gdy obie zmienne są równe 1.
Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Maszynowa i symboliczna (źródłowa) definicja spójnika „i”(*):
Kod:
Definicja maszynowa |Definicja symboliczna (źródłowa)
spójnika „i”(*) |spójnika „i”(*)
p q Y=p*q |
A: 1* 1 =1 | Y= p* q
B: 1* 0 =0
C: 0* 1 =0
D: 0* 0 =0
1 2 3 4 5 6
Symboliczna (źródłowa) definicja spójnika „i”(*) to wyłącznie linia A456 (kod maszynowy A123) w tabeli zero-jedynkowej operatora AND, linie BCD123 będące uzupełnieniem do pełnego operatora AND są martwe i nie biorą udziału w obsłudze spójnika „i”(*). To uzupełnienie jest konieczne wyłącznie dla potrzeb rachunku zero-jedynkowego.
Definicja spójnika „lub”(+):
Suma logiczna (alternatywa) dwóch zmiennych binarnych p i q jest równy 1 wtedy i tylko wtedy gdy którakolwiek zmienna jest równa 1
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Maszynowa i symboliczna (źródłowa) definicja spójnika „lub”(+):
Kod:
Definicja maszynowa |Definicja symboliczna (źródłowa)
spójnika „lub”(+) |spójnika „lub”(+)
p q Y=p+q |
A: 1+ 1 =1 | Ya= p* q
B: 1+ 0 =1 | Yb= p*~q
C: 0+ 1 =1 | Yc=~p* q
D: 0+ 0 =0
1 2 3 4 5 6
Algorytm tworzenia symbolicznej definicji spójnika „lub”(+):
Robimy spis z natury, czyli opisujemy dokładnie to co widzimy w kodzie maszynowym:
Y=1 <=> p=1 i q=1 lub p=1 i q=0 lub p=0 i q=1
Korzystając z prawa Prosiaczka:
(p=0) = (~p=1)
sprowadzamy wszystkie zmienne do jedynek:
Y=1 <=> p=1 i q=1 lub p=1 i ~q=1 lub ~p=1 i q=1
Prawda (1) jest w logice domyślna i możemy ją pominąć, stąd mamy równanie logiczne opisujące spójnik „lub”(+) w powyższej tabeli zero-jedynkowej:
Y = p*q + p*~q + ~p*q
co matematycznie oznacza:
Y=1 <=> (p*q)=1 lub (p*~q)=1 lub (~p*q) =1
Wystarczy, że którykolwiek człon po prawej stronie zostanie ustawiony na 1 i już funkcja logiczna:
Y=1
Stan pozostałych członów po prawej stronie jest nieistotny.
Wniosek:
Symboliczna (źródłowa) definicja spójnika „lub”(*) to wyłącznie obszar ABC456 (kod maszynowy ABC123) w tabeli zero-jedynkowej operatora OR, linia D123 będąca uzupełnieniem do pełnego operatora OR jest martwa i nie bierze udziału w obsłudze spójnika „lub”(+). To uzupełnienie jest konieczne wyłącznie dla potrzeb rachunku zero-jedynkowego.
Dowód iż linia D nie bierze udziału w obsłudze spójnika „lub”(+):
Y = Ya+Yb+Yc - to równanie opisuje wyłącznie obszar ABC123 (czyli bez linii D)
Y = p*q + p*~q + ~p*q
Minimalizujemy:
Y = p*(q+~q) + ~p*q
;q+~q=1
;p*1 =p
Y = p + (~p*q)
Przechodzimy do logiki ujemnej (~Y) poprzez negację zmiennych i wymianę spójników:
~Y = ~p*(p+~q)
~Y = ~p*p + ~p*~q
;~p*p =0
;0+x =x
~Y=~p*~q
Powrót do logiki dodatniej (Y) poprzez negację zmiennych i wymianę spójników:
Y = p+q
Wniosek:
Definicja spójnika „lub”(+) to wyłącznie obszar ABC123 w tabeli zero-jedynkowej operatora OR.
3.1 Definicja symboliczna operatora OR w zbiorachDefinicja operatora OR w zbiorach:
Zbiory p i q mają cześć wspólną i żaden z nich nie zawiera się w drugim
Y=p+q
… a kiedy zajdzie ~Y?
Prawo przejścia do logiki przeciwnej poprzez negację zmiennych i wymianę spójników:
~Y=~p*~q
Definicja operatora OR w zbiorach.

Diagram 1
Y = p+q - (R1=zielony + R2=niebieski) => (R3=zielony)
~Y = ~(p+q) - (R3= nie zielony => R3=żółty)
Diagram 2
Ya=p*q - (R1=zielony * R2=niebieski) => (R4=brązowy)
Yb=p*~q - (R1=zielony * R2=zielony) => (R4=zielony)
Yc=~p*q - (R1=niebieski * R2=niebieski) => (R4=niebieski)
~Y=~p*~q - (R1=niebieski + żółty) * (R2=zielony + żółty) => (R4=żółty)
Definicja operatora OR:
Zbiory p i q mają cześć wspólną i żaden z nich nie zawiera się w drugim
Y=p+q - (R3=obszar zielony)
… a kiedy zajdzie ~Y?
Prawo przejścia do logiki przeciwnej poprzez negację zmiennych i wymianę spójników:
~Y = ~p*~q - (R4=obszar żółty)
Zdefiniujmy dwa zbiory spełniające definicję operatora OR:
p=[1,2,3,4]
q=[3,4,5,6]
Zdefiniujmy dziedzinę:
D=[1,2,3,4,5,6,7,8]
Stąd otrzymujemy:
~p=[5,6,7,8]
~q=[1,2,7,8]
Definicja dziedziny:
p+~p=1
p*~p=0
p+~p=[1,2,3,4]+[5,6,7,8] = [1,2,3,4,5,6,7,8] =1 = D
p*~p=[1,2,3,4]*[5,6,7,8]=0
1 - zbiór niepusty
0 - zbiór pusty
Zadanie:
Sprawdzić dziedzinę dla q
Sprawdzenie definicji operatora OR:
A: Y=p+q=[1,2,3,4]+[3,4,5,6]=[1,2,3,4,5,6] =1
B: ~Y=~p*~q = [5,6,7,8]*[1,2,7,8] = [7,8] =1
Oczywiście matematycznie zachodzi:
Y # ~Y
Dziedzina:
Y+~Y = [1,2,3,4,5,6]+[7,8] = [1,2,3,4,5,6,7,8] =1
Y*~Y = [1,2,3,4,5,6]*[7,8] = [] =0
Porównując diagram 1 i 2 mamy:
Y=p+q = p*q+p*~q + ~p*q
~Y=~(p+q) = ~p*~q
Związek logiki dodatniej i ujemnej:
Y=~(~Y)
Stąd mamy prawo De Morgana dla operatora OR:
Y=p+q = ~(~p*~q)
Zauważmy że zbiór Y=p+q jest dokładnie tym samym zbiorem co zbiór Y=~(~p*~q), zatem prawo De Morgana jest ewidentną tożsamością.
Oczywiście każda tożsamość to automatyczna równoważność, stąd prawo De Morgana można zapisać tak:
(p+q) <=>~(~p*~q)
Zauważmy, że w powyższym diagramie zachodzi też równoważność nie będąca tożsamością.
Jeśli wiemy dla jakiego zbioru zachodzi Y:
Y = p+q = p*q + p*~q + ~p*q =[1,2,3,4,5,6] =1
to automatycznie na mocy prawa przejścia do logiki przeciwnej wiemy dla jakiego zbioru zachodzi ~Y:
~Y = ~p*~q = [7,8] =1 - dopełnienie zbioru Y do dziedziny:
D=[1,2,3,4,5,6,7,8]
i odwrotnie!
Jeśli wiemy dla jakiego zbioru zachodzi ~Y:
~Y = ~p*~q = [5,6,7,8]*[1,2,7,8] = [7,8] =1
to automatycznie na mocy prawa przejścia do logiki przeciwnej wiemy dla jakiego zbioru zachodzi Y:
Y = p+q = [1,2,3,4]+[3,4,5,6] =[1,2,3,4,5,6] =1 - dopełnienie zbioru ~Y do dziedziny:
D=[1,2,3,4,5,6,7,8]
Zachodzi zatem równoważność:
Y <=> ~Y = (Y=>~Y)*(~Y=>Y)
Oczywiście matematycznie zachodzi:
Y # ~Y
Wniosek:
Nie każda równoważność jest tożsamością.
Ta równoważność zachodzi tylko i wyłącznie dlatego, że zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, czyli spełniona jest definicja dziedziny:
Y+~Y=1
Y*~Y=0
Na mocy definicji dwa rozłączne zbiory uzupełniające się wzajemnie do dziedziny to równoważność, trzy rozłączne zbiory uzupełniające się nawzajem do dziedziny to implikacja (wkrótce poznamy).
Nasz przykład:
p=[1,2,3,4]
q=[3,4,5,6]
Dziedzina:
D=[1,2,3,4,5,6,7,8]
stąd:
~p=[5,6,7,8]
~q=[1,2,7,8]
Definicja operatora logicznego w zbiorach:
Operator logiczny to matematyczny opis relacji między wszystkimi zbiorami w obrębie założonej dziedziny.
Sprawdzamy wszystkie możliwe przeczenia p i q w zbiorach w korelacji z naszym diagramem 2:
A: Ya = p*q = [1,2,3,4]*[3,4,5,6] = [3,4] =1 - zbiór niepusty
B: Yb = p*~q = [1,2,3,4]*[1,2,7,8] = [1,2] =1 - zbiór niepusty
C: Yc = ~p*q = [5,6,7,8]*[3,4,5,6] = [5,6] =1 - zbiór niepusty
D: ~Y=~p*~q = [5,6,7,8]*[1,2,7,8] = [7,8] =1 - zbiór niepusty
Zauważmy, że spójnik „i”(*) to nic innego jak kwantyfikator mały:
\/x p(x)*q(x) =1*1 =1
Istnieje takie x, które należy do zbiorów p(x) i q(x).
Znajdziemy jedno takie x i już zbiór wynikowy nie jest zbiorem pustym, zatem wartość logiczna zdania jest równa 1.
Sprawdzamy równanie wynikłe z diagramu operatora OR:
Y = Ya+Yb+Yc
Y=p*q+p*~q+~p*q = [3,4]+[1,2]+[5,6]=[1,2,3,4,5,6]=1
~Y=~p*~q = [5,6,7,8]*[1,2,7,8]=[7,8]=1
Na mocy definicji operatora logicznego zapisujemy symboliczną definicje operatora OR w korelacji z naszym diagramem.
Symboliczna definicja operatora OR:
Kod:
Kiedy wystąpi Y?
(Y - dotrzymam słowa)
Funkcja w logice dodatniej bo Y
W: Y=p+q
W: Y=p*q+p*~q+~p*q
A: p* q= Ya
B: p*~q= Yb
C: ~p* q= Yc
Kiedy wystąpi ~Y?
(~Y - skłamię)
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
Funkcja w logice ujemnej bo ~Y
U: ~Y=~p*~q
D: ~p*~q=~Y
Operator OR to złożenie spójnika „lub”(+) w logice dodatniej (bo Y):
Y=p+q = p*q + p*~q + ~p*q - wyłącznie linie A, B i C
ze spójnikiem „i”(*) w logice ujemnej (bo ~Y):
~Y = ~p*~q - wyłącznie linia D
Dla punktu odniesienia ustawionym na zdaniu W otrzymujemy zero-jedynkową definicję operatora OR w logice dodatniej (bo Y):
W.
Y=p+q
p=1, ~p=0
q=1, ~q=0
Y=1, ~Y=0
Dla punktu odniesienia ustawionym na zdaniu U otrzymujemy zero-jedynkową definicje operatora AND w logice ujemnej (bo ~Y)
U.
~Y=~p*~q
~p=1, p=1
~q=1, q=0
~Y=1, Y=0
Kompletne, zero-jedynkowe kodowanie symbolicznej definicji operatora OR:
Kod:
|Punkt |Punkt |Kodowanie definicji
|odniesienia |odniesienia |symbolicznej OR (Y)
|W: Y=p+q |U: ~Y=~p*~q |bez wyróżnionego
Definicja |Definicja |Definicja |punktu odniesienia
symboliczna OR (Y) |zero-jedynkowa |zero-jedynkowa|
p q Y=p+q | p q Y=p+q |~p ~q ~Y=~p*~q|
---------------------------------------------------------------
W: Y=p*q+p*~q+~p*q | | | p q Y=p+q
A: p* q = Ya | 1+ 1 =1 | 0* 0 =0 | 1*1 =1 / Ya
B: p*~q = Yb | 1+ 0 =1 | 0* 1 =0 | 1*1 =1 / Yb
C:~p* q = Yc | 0+ 1 =1 | 1* 0 =0 | 1*1 =1 / Yc
U: ~Y=~p*~q
D:~p*~q =~Y | 0+ 0 =0 | 1* 1 =1 | 1*1 =1 /~Y
1 2 3 4 5 6 7 8 9 a b c
Operator OR to złożenie spójnika „lub”(+) w logice dodatniej (bo Y):
Y=p+q = p*q + p*~q + ~p*q - wyłącznie obszar ABC123
ze spójnikiem „i”(*) w logice ujemnej (bo ~Y):
~Y = ~p*~q - wyłącznie linia D123
Odpowiedź na pytanie kiedy zajdzie Y (kiedy dotrzymam słowa) otrzymujemy w obszarze ABC123 bo tylko tu widzimy niezanegowane:
Y=Ya+Yb+Yc = p*q + p*~q + ~p*q
Odpowiedź na pytanie kiedy zajdzie ~Y (kiedy skłamię) widzimy w linii D123 bowiem tylko tu widzimy zanegowane Y (~Y):
~Y = ~p*~q
W definicji symbolicznej nie ma wyróżnionego punktu odniesienia, wszystkie zmienne mamy sprowadzone do jedynek (do teorii zbiorów, tabela ABCDabc), w zerach i jedynkach nie ma tu zatem żadnej logiki.
W definicji maszynowej (zero-jedynkowej) wszystkie linie kodujemy spójnikiem widocznym w nagłówku tabeli zero-jedynkowej. Dotyczy to wszystkich operatorów logicznych.
Dla punktu odniesienia:
W: Y=p+q
otrzymujemy maszynową (zero-jedynkową) definicję operatora OR w obszarze ABCD456.
Definicja maszynowa spójnika „lub”(+) w zdaniu W to wyłącznie obszar ABC456, pozostałe linie tabeli zero-jedynkowej ABCD456 kodujemy zgodnie z definicją maszynową widoczną w nagłówku tabeli (tu „+”). Linie te zaznaczone na czerwono (tu tylko D456) nie biorą udziału w obsłudze spójnika „lub”(+), potrzebne są wyłącznie dla potrzeb rachunku zero-jedynkowego.
Dla punktu odniesienia:
U: ~Y=~p*~q
otrzymujemy maszynową (zero-jedynkową) definicję operatora AND w obszarze ABCD789
Definicja maszynowa spójnika „i”(*) w zdaniu U to wyłącznie linia D789, pozostałe linie tabeli zero-jedynkowej ABCD789 kodujemy zgodnie z definicją maszynową widoczną w nagłówku tabeli (tu „*”). Linie te zaznaczone na czerwono (ABC789) nie biorą udziału w obsłudze spójnika „i”(*), potrzebne są wyłącznie dla potrzeb rachunku zero-jedynkowego.
Doskonale widać fundamentalną różnicę między definicją symboliczną ABCD123 a definicjami maszynowymi ABCD456 i ABCD789.
W definicji maszynowej dowolnego operatora logicznego wykorzystywanej w rachunku zero-jedynkowym zera i jedynki znaczymy spójnikiem widocznym w nagłówku tabeli zero-jedynkowej od góry do dołu.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Doskonale widać, że twierdzenie śfinii działa tu doskonale.
Definicja symboliczna operatora OR (obszar ABCD123):
Operator OR to złożenie spójnika „lub”(+) w logice dodatniej bo Y (obszar ABC123) ze spójnikiem „i”(*) w logice ujemnej bo ~Y (linia D123):
Doskonale widać, iż w obsłudze spójnika „lub”(+) bierze udział wyłącznie obszar ABC456, bo tylko i wyłącznie tu mamy zero-jedynkową definicję spójnika “lub”(+) w obsłudze zdania wypowiedzianego W.
W: Y = p+q = p*q + p*~q +~p*q
Linia D nie bierze udziału w obsłudze spójnika „lub”(+), jest „martwa”.
Linia D jest aktywna wyłącznie wtedy gdy wypowiemy zdanie U:
U: ~Y=~p*~q
Zauważmy że w linii D poprawną, zero-jedynkową definicję spójnika „i”(*) mamy wyłącznie w linii D789 i tylko ta część całej powyższej tabeli zero-jedynkowej jest aktywna w obsłudze zdania U, reszta jest „martwa”
Przykład przedszkolaka:
W.
Jutro pójdę do kina lub do teatru
Y = K+T
... a kiedy skłamię?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
~Y=~K*~T
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) i nie pójdę do teatru (~T=1)
~Y=1 <=> ~K=1 i ~T=1
Czytamy:
Prawdą jest (=1), że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) i nie pójdę do teatru (~T=1)
Analiza równoważna:
Pełna definicja spójnika „lub”(+) w logice dodatniej (bo Y):
Y= p+q = p*q + p*~q +~p*q
Definicja operatora logicznego:
Operator logiczny to analiza zdania przez wszystkie możliwe przeczenia p i q
Dla naszego zdania mamy:
W.
Jutro pójdę do kina lub do teatru
Y=K+T - logika dodatnia (bo Y)
Zdanie wypowiedziane W znaczy dokładnie to samo co:
Y=K*T + K*~T + ~K*T
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy:
A: K*T=1*1=1 - jutro pójdę do kina (K=1) i do teatru (T=1)
lub
B: K*~T=1*1=1 - jutro pójdę do kina (K=1) i nie pójdę do teatru (~T=1)
lub
C: ~K*T=1*1=1 - jutro nie pójdę do kina (~K=1) i pójdę do teatru (T=1)
... a kiedy skłamię?
Przejście ze zdaniem W do logiki ujemnej (bo ~Y)
~Y=~K*~T
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy:
D: ~K*~T=1*1=1 - jutro nie pójdę do kina (~K=1) i nie pójdę do teatru (~T=1)
3.2 Definicja symboliczna operatora AND w zbiorachDefinicja operatora AND w zbiorach:
Zbiory p i q mają cześć wspólną i żaden z nich nie zawiera się w drugim
Y=p*q
… a kiedy zajdzie ~Y?
Prawo przejścia do logiki przeciwnej poprzez negację zmiennych i wymianę spójników:
~Y=~p+~q
Definicja operatora AND w zbiorach.

Diagram 1
Y=p*q - (R1= zielony) * (R2=niebieski) => (R3=brązowy)
~Y=~(p*q) - (R3=nie brązowy) => (R3=żółty)
Diagram 2
Y=p*q - (R1=zielony * R2=niebieski) => (R4=brązowy)
~Yb=~p*~q - (R1=niebieski+żółty)*(R2=zielony+żółty) = (R4=żółty)
~Yc=~p*q - (R1=niebieski * R2=niebieski) => (R4=niebieski)
~Yd=p*~q - (R1=zielony * R2=zielony) => (R4=zielony)
Definicja operatora AND:
Zbiory p i q mają cześć wspólną i żaden z nich nie zawiera się w drugim
Y=p*q
… a kiedy zajdzie ~Y?
Prawo przejścia do logiki przeciwnej poprzez negację zmiennych i wymianę spójników:
~Y = ~p+~q
Zdefiniujmy dwa zbiory spełniające definicję operatora AND:
p=[1,2,3,4]
q=[3,4,5,6]
Zdefiniujmy dziedzinę:
D=[1,2,3,4,5,6,7,8]
Stąd otrzymujemy:
~p=[5,6,7,8]
~q=[1,2,7,8]
Definicja dziedziny:
p+~p=1
p*~p=0
p+~p=[1,2,3,4]+[5,6,7,8] = [1,2,3,4,5,6,7,8] =1 = D
p*~p=[1,2,3,4]*[5,6,7,8]=0
1 - zbiór niepusty
0 - zbiór pusty
Zadanie:
Sprawdzić dziedzinę dla q
Sprawdzenie definicji operatora AND:
A: Y=p*q=[1,2,3,4]*[3,4,5,6]=[3,4] =1
B: ~Y=~p+~q = [5,6,7,8]+[1,2,7,8]= [1,2,5,6,7,8]=1
Oczywiście matematycznie zachodzi:
Y # ~Y
bo to dwa rozłączne obszary
Dziedzina:
Y+~Y = [3,4]+[1,2,5,6,7,8] = [1,2,3,4,5,6,7,8] =D =1
Y*~Y = [3,4]*[1,2,5,6,7,8] = [] =0
Porównując diagram 1 i 2 mamy:
~Y=~(p*q) = ~p+~q = ~p*~q+~p*q+p*~q
Związek logiki dodatniej i ujemnej:
Y=~(~Y)
Podstawiając A i B mamy prawo De Morgana dla operatora AND:
Y=p*q = ~(~p+~q)
Zbiór Y=p*q jest dokładnie tym samym zbiorem co zbiór Y=~(~p+~q), zatem prawo De Morgana jest ewidentną tożsamością.
Oczywiście każda tożsamość to automatyczna równoważność, stąd prawo De Morgana można zapisać tak:
(p*q) <=>~(~p+~q)
Zauważmy, że w powyższym diagramie zachodzi też równoważność nie będąca tożsamością.
Jeśli wiemy dla jakiego zbioru zachodzi Y:
Y=p*q =[3,4] =1
to automatycznie na mocy prawa przejścia do logiki przeciwnej wiemy dla jakiego zbioru zachodzi ~Y:
~Y=~p+~q = [5,6,7,8]+[1,2,7,8]= [1,2,5,6,7,8]=1 - dopełnienie zbioru Y do dziedziny
D=[1,2,3,4,5,6,7,8]
i odwrotnie!
Jeśli wiemy dla jakiego zbioru zachodzi ~Y:
~Y = ~p+~q = [5,6,7,8]+[1,2,7,8] = [1,2,5,6,7,8] =1
to automatycznie na mocy prawa przejścia do logiki przeciwnej wiemy dla jakiego zbioru zachodzi Y:
Y = p*q = [1,2,3,4]*[3,4,5,6] =[3,4] =1 - dopełnienie zbioru ~Y do dziedziny:
D=[1,2,3,4,5,6,7,8]
Zachodzi zatem równoważność:
Y <=> ~Y = (Y=>~Y)*(~Y=>Y)
Oczywiście matematycznie zachodzi:
Y # ~Y
Wniosek:
Nie każda równoważność jest tożsamością.
Ta równoważność zachodzi tylko i wyłącznie dlatego, że zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, czyli spełniona jest definicja dziedziny:
Y+~Y=1
Y*~Y=0
Na mocy definicji dwa rozłączne zbiory uzupełniające się wzajemnie do dziedziny to równoważność, trzy rozłączne zbiory uzupełniające się nawzajem do dziedziny to implikacja (wkrótce poznamy).
Nasz przykład:
p=[1,2,3,4]
q=[3,4,5,6]
Dziedzina:
D=[1,2,3,4,5,6,7,8]
stąd:
~p=[5,6,7,8]
~q=[1,2,7,8]
Symboliczna definicja operatora logicznego:
Operator logiczny to odpowiedź układu na wszystkie możliwe przeczenia p i q
Sprawdzamy wszystkie możliwe przeczenia p i q w zbiorach w korelacji z naszym diagramem:
A: Y = p*q = [1,2,3,4]*[3,4,5,6] = [3,4] =1 - zbiór niepusty
B: ~Yb =~p*~q = [5,6,7,8]*[1,2,7,8] = [7,8] =1 - zbiór niepusty
C: ~Yc = ~p*q = [5,6,7,8]*[3,4,5,6] = [5,6] =1 - zbiór niepusty
D: ~Yd = p*~q = [1,2,3,4]*[1,2,7,8] = [1,2] =1 - zbiór niepusty
Sprawdzamy równanie wynikłe z diagramu operatora AND:
~Y = ~Yb+~Yc+~Yd
~Y = [7,8]+[5,6]+[1,2]= [1,2,5,6,7,8] =1
~Y=~p+~q = [5,6,7,8]+[1,2,7,8]=[1,2,5,6,7,8]]=1
Na mocy definicji operatora logicznego zapisujemy symboliczną definicje operatora AND w korelacji z naszym diagramem.
Symboliczna definicja operatora AND:
Kod:
Kiedy wystąpi Y?
(Y - dotrzymam słowa)
Funkcja w logice dodatniej bo Y
W: Y=p*q
A: p* q= Y
Kiedy wystąpi ~Y?
(~Y - skłamię)
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
Funkcja w logice ujemnej bo ~Y
U:~Y=~p+~q
U:~Y=~p*~q+~p*q+p*~q
B: ~p*~q=~Yb
C: ~p* q=~Yc
D: p*~q=~Yd
Operator AND to złożenie spójnika „i”(*) w logice dodatniej (bo Y):
Y=p*q - wyłącznie linia A
ze spójnikiem „lub”(*) w logice ujemnej (bo ~Y):
~Y = ~p+~q = ~Yb+~Yc+~Yd = ~p*~q + ~p*q + p*~q - wyłącznie linie B, C i D.
Dla punktu odniesienia ustawionym na zdaniu W otrzymamy zero-jedynkową definicję operatora AND w logice dodatniej bo Y:
W.
Y=p*q
p=1, ~p=0
q=1, ~q=0
Y=1, ~Y=0
Dla punktu odniesienia ustawionym na zdaniu U otrzymujemy zero-jedynkową definicje operatora OR w logice ujemnej bo ~Y:
U.
~Y=~p+~q
~p=1, p=1
~q=1, q=0
~Y=1, Y=0
Kompletne, zero-jedynkowe kodowanie symbolicznej definicji operatora AND:
Kod:
|Punkt |Punkt |Kodowanie definicji
|odniesienia |odniesienia |symbolicznej AND
|Y=p*q |~Y=~p+~q |bez wyróżnionego
Definicja |Definicja |Definicja |punktu odniesienia
symboliczna AND (Y) |zero-jedynkowa |zero-jedynkowa|
p q Y=p*q | p q Y=p*q |~p ~q ~Y=~p+~q|
-----------------------------------------------------------------------
W: Y=p*q | | | p q Y=p*q
A: p* q = Y | 1* 1 =1 | 0+ 0 =0 | 1*1 =1
U:~Y=~p*~q+~p*q+p*~q| | |
B:~p*~q =~Yb | 0* 0 =0 | 1+ 1 =1 | 1*1 =1
C:~p* q =~Yc | 0* 1 =0 | 1+ 0 =1 | 1*1 =1
D: p*~q =~Yd | 1* 0 =0 | 0+ 1 =1 | 1*1 =1
1 2 3 4 5 6 7 8 9 a b c
Operator AND to złożenie spójnika „i”(*) w logice dodatniej (bo Y):
Y=p*q - wyłącznie linia A123
ze spójnikiem „lub”(*) w logice ujemnej (bo ~Y):
~Y = ~p+~q = ~Yb+~Yc+~Yd = ~p*~q + ~p*q + p*~q - wyłącznie obszar BCD123
Odpowiedź na pytanie kiedy zajdzie Y (kiedy dotrzymam słowa) otrzymujemy w linii A bo tylko tu widzimy niezanegowane Y:
Y=p*q
Odpowiedź na pytanie kiedy zajdzie ~Y (kiedy skłamię) widzimy w obszarze BCD123 bowiem tylko tu widzimy zanegowane Y (~Y):
~Y = ~p+~q = ~Yb+~Yc+~Yd = ~p*~q + ~p*q + p*~q
W definicji symbolicznej nie ma wyróżnionego punktu odniesienia, wszystkie zmienne mamy sprowadzone do jedynek (do teorii zbiorów, tabela ABCDabc), w zerach i jedynkach nie ma tu zatem żadnej logiki.
W definicji maszynowej (zero-jedynkowej) wszystkie linie kodujemy spójnikiem widocznym w nagłówku tabeli zero-jedynkowej. Dotyczy to wszystkich operatorów logicznych.
Dla punktu odniesienia:
W: Y=p*q
otrzymujemy maszynową (zero-jedynkową) definicję operatora AND w obszarze ABCD456.
Definicja maszynowa spójnika „i”(*) w zdaniu W to wyłącznie linia A456, pozostałe linie tabeli zero-jedynkowej ABCD456 kodujemy zgodnie z definicją maszynową widoczną w nagłówku tabeli (tu „+”). Linie te zaznaczone na czerwono (BCD456) nie biorą udziału w obsłudze spójnika „i”(*), potrzebne są wyłącznie dla potrzeb rachunku zero-jedynkowego.
Dla punktu odniesienia:
U: ~Y=~p+~q
otrzymujemy maszynową (zero-jedynkową) definicję operatora OR w obszarze ABCD789.
Definicja maszynowa spójnika „lub”(+) w zdaniu U to obszar BCD789, pozostałe linie tabeli zero-jedynkowej ABCD789 kodujemy zgodnie z definicją maszynową widoczną w nagłówku tabeli (tu „+”). Linia zaznaczona na czerwono (A789) nie bierze udziału w obsłudze spójnika „lub”(+), potrzebna jest wyłącznie dla potrzeb rachunku zero-jedynkowego.
Doskonale widać fundamentalną różnicę między definicją symboliczną ABCD123 a definicjami maszynowymi ABCD456 i ABCD789.
W definicji maszynowej dowolnego operatora logicznego wykorzystywanej w rachunku zero-jedynkowym zera i jedynki znaczymy spójnikiem widocznym w nagłówku tabeli zero-jedynkowej od góry do dołu.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Twierdzenie świnii działa tu doskonale.
Definicja symboliczna operatora AND (obszar ABCD123):
Operator AND to złożenie spójnika „i”(*) w logice dodatniej bo Y (linia A123) ze spójnikiem „lub”(+) w logice ujemnej bo ~Y (obszar BCD123):
Doskonale widać, iż w obsłudze spójnika “i”(*) w logice dodatniej (bo Y) bierze udział wyłącznie linia A456 bo tylko i wyłącznie tu mamy zero-jedynkową definicję spójnika “i”(*).
W obsłudze zdania wypowiedzianego W:
W: Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Linie B, C i D nie biorą w ogóle udziału, są „martwe”.
Linie B, C i D są aktywne wyłącznie wtedy gdy wypowiemy zdanie U:
U: ~Y=~p+~q = ~p*~q + ~p*q + p*~q
Zauważmy, że poprawną, zero-jedynkową definicję spójnika „lub”(+) mamy wyłącznie w obszarze BCD789 i tylko ta część całej powyższej tabeli jest aktywna w obsłudze zdania U, reszta jest „martwa”
Przykład przedszkolaka
W.
Jutro pójdę do kina i do teatru
Y = K*T
... a kiedy skłamię?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
~Y=~K+~T
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) lub nie pójdę do teatru (~T=1)
~Y=1 <=> ~K=1 i ~T=1
Czytamy:
Prawdą jest (=1), że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) lub nie pójdę do teatru (~T=1)
Definicja operatora logicznego:
Operator logiczny to analiza zdania przez wszystkie możliwe przeczenia p i q
Analiza równoważna:
Pełna definicja spójnika „lub”(+) w logice ujemnej (bo ~Y):
~Y = ~p+~q = ~p*~q + ~p*q + p*~q
Dla naszego zdania mamy:
W.
Jutro pójdę do kina i do teatru
Y=K*T - logika dodatnia (bo Y)
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy:
A: K*T =1*1=1 - jutro pójdę do kina (K=1) i pójdę do teatru (T=10
... a kiedy skłamię?
Przejście ze zdaniem W do logiki ujemnej (bo ~Y)
U: ~Y=~K+~T
U: ~Y=~K*~T+~K*T+K*~T
Skłamię (~Y=1) wtedy i tylko wtedy gdy:
B: ~K*~T=1*1=1 - jutro nie pójdę do kina (~K=1) i nie pójdę do teatru (~T=1)
lub
C: ~K*T=1*1=1 - jutro nie pójdę do kina (~K=1) i pójdę do teatru (T=1)
lub
D: K*~T=1*1=1 - jutro pójdę do kina (K=1) i nie pójdę do teatru (~T=1)
3.3 Równanie ogólne dla operatorów OR i ANDRównanie ogólne dla operatorów OR i AND:
Kod:
Operator OR ## Operator AND
Definicja symboliczna operatora OR ## Definicja symboliczna operatora AND
A1: Y=p+q ## B1: Y=p*q
Przejście do logiki ujemnej (bo ~Y) ## Przejście do logiki ujemnej (bo ~Y)
A2: ~Y=~p*~q ## B2: ~Y=~p+~q
gdzie:
## - różne na mocy definicji
Prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
Operator OR:
Z symbolicznej definicji operatora OR wynikają następujące związki matematyczne:
1.
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y):
Logika dodatnia to zanegowana logika ujemna
Y = ~(~Y)
Podstawiając A1 i A2 otrzymujemy prawo De Morgana w logice dodatniej (bo Y), czyli zdanie tożsame do A1:
A3: Y = p+q = ~(~p*~q)
2.
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y):
Logika ujemna to zanegowana logika dodatnia
~Y = ~(Y)
Podstawiając A2 i A1 otrzymujemy prawo De Morgana w logice ujemnej (bo ~Y), czyli zdanie tożsame do A2:
A4: ~Y = ~p*~q = ~(p+q)
Operator AND:
Z symbolicznej definicji operatora AND wynikają następujące związki matematyczne:
1.
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y):
Logika dodatnia to zanegowana logika ujemna
Y = ~(~Y)
Podstawiając B1 i B2 otrzymujemy prawo De Morgana w logice dodatniej (bo Y), czyli zdanie tożsame do B1:
B3: Y = p*q = ~(~p+~q)
2.
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y):
Logika ujemna to zanegowana logika dodatnia
~Y = ~(Y)
Podstawiając B2 i B1 otrzymujemy prawo De Morgana w logice ujemnej (bo ~Y), czyli zdanie tożsame do B2:
B4: ~Y = ~p+~q = ~(p*q)
Zauważmy, że miedzy operatorem OR a operatorem AND nie zachodzi prawo przejścia do logiki przeciwnej między dowolnymi dwoma punktami.
Dowód:
W powyższej tabeli prawo przejścia do logiki przeciwnej może zachodzić wyłącznie po przekątnej A1-B2:
A1: Y=p+q
B2: ~Y=~p+~q
albo po przekątnej B1-A2:
B1: Y=p*q
A2: ~Y=~p*~q
Doskonale widać, że w obu przypadkach nie zachodzi prawo przejścia do logiki przeciwnej.
Wniosek:
Po obu stronach znaku ## mamy do czynienia z dwoma niezależnymi układami logicznymi pomiędzy którymi nie zachodzą żadne tożsamości matematyczne. Wszelkie znaczki z lewej strony znaku ## (Y,p,q) nie mają nic wspólnego ze znaczkami z prawej strony znaku ## (Y,p,q)
Pod parametry formalne p i q po obu stronach znaku ## możemy podstawiać co nam się podoba, w szczególności identyczne parametry aktualne.
Definicje.
1.
Parametry formalne:
Parametry formalne to ogólne nazwy zmiennych binarnych wejściowych (w logice zwykle p, q, r) wynikające z rachunku zero-jedynkowego bez związku ze światem fizycznym.
Przykład:
Y=p+q
Parametry formalne to:
p, q
2.
Parametry aktualne:
Parametry aktualne to podstawione w miejsce parametrów formalnych zmienne ze świata fizycznego
Przykład:
Jutro pójdę do kina lub do teatru
Y=K+T
Parametry aktualne to:
K = Kino
T=Teatr