Zefciu, bardzo mi zależy abyś zamiast bez przerwy pisać „ściana tekstu” spróbował zrozumieć definicje kluczowych operatorów logicznych zapisanych w spójnikach „lub”(+) i „i”(*).
Przedstawiam cześć I.
W części II będą operatory implikacji i równoważności zapisane w spójnikach „lub”(+) i „i”(*).
Notację AK masz w poście wyżej.
Wykłady z algebry KubusiaZ dedykacją dla Zefcia
Temat:
Operatory logiczne w spójnikach „lub”(+) i ‘i”(*)
Część I.
7.0 Operatory logiczne w spójnikach „lub”(+) i „i”(*)Poprawna logika matematyczna to naturalna logika każdego człowieka, od 5-cio latka poczynając. Wynika z tego że dowolne logiczne myślenie człowieka musi mieć przełożenie 1:1 na matematykę, co można łatwo udowodnić udając się do przedszkola gdzie 5-cio latki bez problemu zaprojektują nam najprawdziwsze sterowanie windą dwoma równoważnymi metodami, posługując się logiką dodatnią i ujemną.
Prawa Prosiaczka:
I.
Prawda (=1) w logice dodatniej (bo p) jest tożsama z fałszem (=0) w logice ujemnej (bo ~p)
(p=1) = (~p=0)
II
Prawda (=1) w logice ujemnej (bo ~p) jest tożsama z fałszem (=0) w logice dodatniej (bo p)
(~p=1)=(p=0)
Zauważmy, że niezależnie czy jesteśmy w logice dodatniej (p), czy ujemnej (~p) znaczenie zera i jedynki jest identyczne:
1 = prawda
0 = fałsz
W algebrze Kubusia logika zaszyta jest w symbolach (p, ~p) a nie w zerach i jedynkach.
Prawa Prosiaczka są konieczne i wystarczające dla tworzenia równań algebry Boole’a z dowolnej tabeli zero-jedynkowej (i odwrotnie)
7.1 Operatory AND i OR w spójnikach „lub”(+) i „i”(*)Zacznijmy zatem od wizyty w przedszkolu, w 100-milowym lesie:
Pani:
Powiedzcie mi dzieci co trzeba zrobić aby, jechać windą?
Jaś:
A.
Aby jechać windą (J=1) trzeba wejść do windy, zamknąć drzwi (D=1) i nacisnąć przycisk piętro (P=1)
J = D * P
co matematycznie oznacza:
J=1 <=> D=1 i P=1
Pani:
Brawo Jasiu!
Zatem winda pojedzie (J=1) tylko wtedy, gdy zamkniemy drzwi (D=1) i wciśniemy przycisk piętro (P=1)
Powiedzcie mi teraz dzieci kiedy winda na pewno nie pojedzie?
Zuzia:
B.
Winda na pewno nie pojedzie (~J=1) gdy nie zamkniemy drzwi (~D=1) lub nie wciśniemy przycisku piętro (~P=1)
~J = ~D+~P
co matematycznie oznacza:
~J=1 <=> ~D=1 lub ~P=1
Zauważmy, że między rozumowaniem Jasia i Zuzi zachodzi prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki
Jaś:
J=D*P
Zuzia:
~J=~D+~P
Związek logiki dodatniej i ujemnej:
J = ~(~J)
Podstawiając A i B mamy tożsamość matematyczną, prawo de Morgana:
J = D*P = ~(~D+~P)
Fizyczna realizacja sterowania Jasia to banalna bramka AND(*) o definicji:
Y = p*q
Tożsama, fizyczna realizacja sterowania Zuzi to trzy negatory „~” plus bramka OR(+):
Y = ~(~p+~q)
Jak widzimy, Jaś zaprojektował sterowanie windą w logice dodatniej (bo J), natomiast Zuzia zaprojektowała sterowania windą w logice ujemnej (bo ~J).
Dokładnie w tak banalny sposób elektronicy praktycy projektują wszelkie sterowania w naturalnej logice człowieka, w logice bramek logicznych:
1.
Zawsze kiedy w naturalnej logice człowieka mówimy „i”(*) używamy bramki AND(*)
2.
Zawsze kiedy w naturalnej logice człowieka mówimy „lub”(+) używamy bramki OR(+)
To jest cała filozofia projektowania układów logicznych w naturalnej logice człowieka.
Zauważmy, że Jasia kompletnie nie interesuje sytuacja ~J, natomiast Zuzi nie interesuje sytuacja J.
Zobaczmy to wszystko w tabeli zero-jedynkowej:
Kod:
D P J=D*P ~D ~P ~J=~D+~P
A: 1* 1 =1 0+ 0 =0
B: 1* 0 =0 0+ 1 =1
C: 0* 1 =0 1+ 0 =1
D: 0* 0 =0 1+ 1 =1
1 2 3 4 5 6
Doskonale widać, że Jasia interesuje wyłącznie wynikowa jedynka w tabeli operatora AND (linia A123), natomiast logika Zuzi to wyłącznie wynikowe jedynki w tabeli operatora OR (obszar BCD456).
Twierdzenie śfinii:W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Jak widzimy twierdzeniem śfinii perfekcyjnie posługuje się każdy 5-cio latek:
Symboliczna definicja spójnika „i”(*) to zaledwie jedna linia w tabeli zero-jedynkowej operatora AND (A123):
J=D*P
co matematycznie oznacza:
J=1 <=> J=1 i P=1
Symboliczna definicja spójnika „lub”(+) to wyłącznie trzy linie w tabeli zero-jedynkowej operatora OR (BCD456):
~J = ~D+~P
co matematycznie oznacza:
~J=1 <=> ~D=1 lub ~P=1
Doskonale to widać w tabeli zero-jedynkowej Jasia i Zuzi.
Przedstawmy przykład Jasia i Zuzi w zapisie formalnym.
Kod:
p q Y=p*q ~p ~q ~Y=~p+~q
A: 1* 1 =1 0+ 0 =0
B: 1* 0 =0 0+ 1 =1
C: 0* 1 =0 1+ 0 =1
D: 0* 0 =0 1+ 1 =1
1 2 3 4 5 6
Definicja spójnika „i”(*) w logice dodatniej (bo Y) to wyłącznie linia A123 (czarna). Obszar BCD123 (czerwony) jest martwy i nie bierze udziału w logice.
Definicja spójnika „lub”(+) w logice ujemnej (bo ~Y) to wyłącznie obszar BCD456 (czarny). Linia A456 (czerwona) jest martwa i nie bierze udziału w logice.
Definicja spójnika „lub”(+) wynikająca z tabeli zero-jedynkowej operatora OR
p+q = p*q + p*~q + ~p*q
Stąd dla naszego przykładu mamy:
~J = ~D+~P = ~D*~P + ~D*P + D*~P
czyli:
Winda nie jedzie (~J=1) gdy:
~D*~P = 1*1 =1 - drzwi nie zamknięte (~D=1) i nie wciśnięty przycisk STARAT (~P=1)
lub
~D*P = 1*1 =1 - drzwi nie zamknięte (~D=1) i wciśnięty przycisk STARAT (P=1)
lub
D*~P =1*1 =1 - drzwi zamknięte (D=1) i nie wciśnięty przycisk STARAT (~P=1)
Twierdzenie:
Dla dowolnej tabeli zero-jedynkowej możemy utworzyć co najwyżej dwa rożne równania logiczne w spójnikach „lub”(+) i „i”(*), jedno dla wynikowych jedynek i drugie dla wynikowych zer.
Korzystając z naturalnej logiki człowieka (algebry Kubusia) ułóżmy wszystkie możliwe równania logiczne w spójnikach „lub”(+) i „i”(*) dla tabeli zero-jedynkowej ABCD123.
Równanie logiczne opisujące wynikowe jedynki w tabeli ABCD123
Krok 1.
Zapisujemy w naturalnej logice człowieka dokładnie to co widzimy w tabeli ABCD123
Y=1 <=> p=1 i q=1
Jedynka (=1) jest w logice matematycznej domyślna, stąd w równaniu wyżej możemy pominąć wszystkie jedynki nic nie tracąc na jednoznaczności.
Krok 3
W: Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Równanie logiczne opisujące wynikowe zera w tabeli ABCD123
Krok 1
Zapisujemy w naturalnej logice człowieka dokładnie to co widzimy
Y=0 <=> p=1 i q=0 lub p=0 i q=1 lub p=0 i q=0
Krok 2
Korzystając z prawa Prosiaczka:
(p=0) = (~p=0)
sprowadzamy wszystkie zmienne do jedynek:
~Y=1 <=> p=1 i ~q=1 lub ~p=1 i q=1 lub ~p=1 i ~q=1
Jedynka (=1) jest w logice matematycznej domyślna, stąd w równaniu wyżej możemy pominąć wszystkie jedynki nic nie tracąc na jednoznaczności.
Krok 3.
U: ~Y = p*~q + ~p*q + ~p*~q
co matematycznie oznacza:
~Y=1 <=> p=1 i ~q=1 lub ~p=1 i q=1 lub ~p=1 i ~q=1
Minimalizujemy równanie 3:
~Y = p*~q + ~p*q + ~p*~q
~Y = p*~q + ~p*(q+~q)
;q+~q=1
;~p*1=~p
~Y = (p*~q) + ~p
Przejście do logiki dodatniej (bo Y) poprzez negację zmiennych i wymianę spojników
Y = (~p*q)*p
Y = ~p*p + q*p
;~p*p=0
;0+x=x
Y= p*q
Powrót do logiki ujemnej:
~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
Doskonale widać, że to jest nagłówek tabeli ABCD456!
Nanieśmy nasze równania na tabelę zero-jedynkową ABCD123456:
Kod:
p q Y=p*q ~p ~q ~Y=~p+~q |Definicja symboliczna operatora AND
A: 1* 1 =1 0+ 0 =0 | p* q = Ya
B: 1* 0 =0 0+ 1 =1 | p*~q =~Yb
C: 0* 1 =0 1+ 0 =1 |~p* q =~Yc
D: 0* 0 =0 1+ 1 =1 |~p*~q =~Yd
1 2 3 4 5 6
Matematycznie zachodzi:
W.
Y=Ya
Y = p*q
co matematycznie oznacza:
Y=1 <=>p=1 i q=1
Matematycznie zachodzi także:
U.
~Y = ~Yb+~Yc + ~Yd
~Y = p*~q + ~p*q + ~p*~q
co matematycznie oznacza:
~Y=1 <=> (p*~q)=1 lub (~p*q)=1 lub (~p*~q)=1
Wyżej udowodniliśmy tożsamość:
~Y = p*~q + ~p*q + ~p*~q = ~p+~q
Definicja operatora AND w równaniach algebry Boole’a:
W.
Zdanie wypowiedziane:
Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
.. a kiedy zajdzie ~Y?
Przejście do logiki ujemnej (bo ~Y) poprzez negację zmiennych i wymianę spójników
U.
Zdanie w logice ujemnej:
~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
Zadanie:
Udowodnij że korzystając z tabeli zero-jedynkowej ABCD456 dostaniemy dokładnie tą samą, symboliczną definicję operatora AND.
Rozwiązanie:
Krok 1
Zapisujemy w naturalnej logice człowieka (algebrze Kubusia) dokładnie to co widzimy:
~Y=1 <=> ~p=0 i ~q=1 lub ~p=1 i ~q=0 lub ~p=1 i ~q=1
Krok 2.
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
Jedynka (=1) jest w logice matematycznej domyślna, stąd w równaniu wyżej możemy pominąć wszystkie jedynki nic nie tracąc na jednoznaczności.
Krok 3.
U: ~Y=p*~q + ~p*q + ~p*~q
co matematycznie oznacza:
~Y=1 <=> p=1 i ~q=1 lub ~p=1 i q=1 lub ~p=1 i ~q=1
Minimalizujemy równanie 3:
U: ~Y=p*~q + ~p*q + ~p*~q
Zauważmy, że to równanie jest identyczne do równania które wyżej już zminimalizowaliśmy.
Zapisujemy zatem rozwiązanie końcowe:
U: ~Y = p*~q + ~p*q + ~p*~q = ~p+~q
Ułóżmy na koniec równanie logiczne opisujące wynikowe zera w tabeli ABCD456.
Krok 1.
Zapisujemy w naturalnej logice człowieka (algebrze Kubusia) dokładnie to co widzimy:
~Y=0 <=> ~p=0 i ~q=0
Krok 2.
Korzystając z prawa Prosiaczka:
(~p=0) = (p=1)
sprowadzamy wszystkie zmienne do jedynek:
Y=1 <=> p=1 i q=1
Jedynka (=1) jest w logice matematycznej domyślna, stąd w równaniu wyżej możemy pominąć wszystkie jedynki nic nie tracąc na jednoznaczności.
Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Wnioski:
1.
Równania algebry Boole’a są identyczne niezależne od tego czy układamy je na podstawie tabeli zero-jedynkowej ABCD123, czy też na podstawie tabeli zero-jedynkowej ABCD456.
2.
Wszystkie zmienne w równaniach algebry Boole’a sprowadzone są do jedynek na mocy praw Prosiaczka, z czego wynika że w zerach i jedynkach nie ma tu żadnej logiki.
3.
Równania algebry Boole’a to logika każdego człowieka od 5-cio latka poczynając na prof. matematyki kończąc
Symboliczna definicja operatora AND wynikająca z naszych rozważań wraz z kodowaniem zero-jedynkowym.
Definicja symboliczna operatora AND.
Kod:
W. Y=Ya=p*q
A: p* q = Ya
… a kiedy zajdzie ~Y?
Przejście z równaniem W do logiki ujemnej
poprzez negację zmiennych i wymianę spójników na przeciwne
U. ~Y=~p+~q, ~Y=~Yb+~Yc+~Yd=~p*q+p*~q+~p*~q
B:~p* q =~Yb
C: p*~q =~Yc
D:~p*~q =~Yd
Równanie ogólne spójnika „lub”(+) w logice ujemnej (bo ~Y):
~Y=~p+~q = ~p*~q + ~p*q + p*~q
Skrócona definicja symboliczna operatora AND w równaniach algebry Boole’a:
W: Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej (bo ~Y) poprzez negację zmiennych i wymianę spójników na przeciwne
~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
Przykład:
W.
Jutro pójdziemy do kina i do teatru
A: Y=K*T
co matematycznie oznacza:
Y=1 <=> K=1 i T=1
Czytamy:
Prawdą jest (=1) że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdziemy do kina (K=1) i pójdziemy do teatru (T=1)
…. a kiedy skłamię?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
U: ~Y=~K+~T
stąd:
Skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K) lub nie pójdziemy do teatru (~T)
~Y=~K+~T
co matematycznie oznacza:
~Y=1 <=> ~K=1 lub ~T=1
Czytamy:
Prawdą jest (=1) że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K=1) lub nie pójdziemy do teatru (~T=1)
Zadanie domowe:
Korzystając z szablonu dla operatora AND przedstawionego wyżej przeprowadź symetryczne rozważania dla operatora OR.
Definicja zero-jedynkowa operatora OR:
Kod:
p q Y=p+q ~p ~q ~Y=~p*~q |Definicja symboliczna operatora OR
A: 1+ 1 =1 0* 0 =0 | p* q = Ya
B: 1+ 0 =1 0* 1 =0 | p*~q = Yb
C: 0+ 1 =1 1* 0 =0 |~p* q = Yc
D: 0+ 0 =0 1* 1 =1 |~p*~q =~Yd
1 2 3 4 5 6
Rozwiązanie końcowe to definicja symboliczna operatora OR:
Kod:
W: Y=p+q, Y=Ya+Yb+Yc=p*q+~p*q+p*~q
A: p* q = Ya
B:~p* q = Yb
C: p*~q = Yc
.. a kiedy zajdzie ~Y?
Przejście z równaniem W do logiki ujemnej (bo ~Y)
poprzez negację zmiennych i wymianę spójników na przeciwne
U: ~Y=~Yd=~p*~q
D:~p*~q =~Yd
Równanie ogólne spójnika „lub”(+):
Y=p+q = p*q + p*~q + ~p*q
Skrócona definicja symboliczna operatora OR w równaniach algebry Boole’a:
W: Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników na przeciwne
U: ~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1
Przykład:
W.
Jutro pójdziemy do kina lub do teatru
Y=K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
Czytamy:
Prawdą jest (=1) że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdziemy do kina (K=1) lub pójdziemy do teatru (T=1)
…. a kiedy skłamię?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
U: ~Y=~K*~T
stąd:
Skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K) i nie pójdziemy do teatru (~T)
~Y=~K*~T
co matematycznie oznacza:
~Y=1 <=> ~K=1 i ~T=1
Czytamy:
Prawdą jest (=1) że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K=1) i nie pójdziemy do teatru (~T=1)
7.2 Równanie ogólne operatorów AND i OR w spójnikach „lub”(+) i „i”(*)Definicje operatorów OR i AND w równaniach algebry Boole’a:
Kod:
Operator OR ## Operator AND
Y=p+q ## Y=p*q
Y=p+q=p*q+p*~q+~p*q ##
.. a kiedy zajdzie ~Y? ## .. a kiedy zajdzie ~Y?
Negujemy zmienne ## Negujemy zmienne
i wymieniamy spójniki ## i wymieniamy spójniki
~Y=~p*~q ## ~Y=~p+~q
## ~Y=~p*~q+~p*q+p*~q
gdzie:
## - różne na mocy definicji
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