|
ŚFiNiA ŚFiNiA - Światopoglądowe, Filozoficzne, Naukowe i Artystyczne forum - bez cenzury, regulamin promuje racjonalną i rzeczową dyskusję i ułatwia ucinanie demagogii. Forum założone przez Wuja Zbója.
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rafal3006
Opiekun Forum Kubusia
Dołączył: 30 Kwi 2006
Posty: 35973
Przeczytał: 14 tematów
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Czw 20:41, 15 Sie 2013 Temat postu: Algebra Kubusia pisana na żywo (2013-09-16) - porzucona |
|
|
… wszystko co chcecie, żeby ludzie wam czynili, wy też im podobnie czyńcie …
Ewangelia Mateusza 7:12
Algebra Kubusia
Autorzy: Kubuś i Przyjaciele
Kim jest Kubuś?
Kubuś to wirtualny Internetowy Miś, teleportowany do ziemskiego Internetu przez zaprzyjaźnioną cywilizację z innego Wszechświata.
Algebra Kubusia to końcowy efekt siedmioletniej dyskusji na forach sfinia.fora.pl, [link widoczny dla zalogowanych], [link widoczny dla zalogowanych] i [link widoczny dla zalogowanych]. Dziękuję wszystkim, którzy dyskutując z Kubusiem przyczynili się do jej powstania. Szczególne podziękowania dla: Rafała3006(medium), Wuja Zbója, Voratha, Macjana, Quebaba, Windziarza, Fizyka, Sogorsa, Fiklita, Yorgina, Pana Baryckiego i Zbigniewamillera.
Historia powstania algebry Kubusia
Bezpośrednim przyczynkiem do powstania algebry Kubusia było starcie z Wujem Zbójem na forum [link widoczny dla zalogowanych]
Poszło o zdanie:
Kto wierzy we mnie będzie zbawiony
W=>Z
Wuj twierdził że na mocy tego zdania może być zbawiony każdy, nawet ateista.
Kubuś natomiast twierdził że na mocy tego zdania wszyscy niewierzący muszą do piekła.
… tak to się zaczęło.
Musiało minąć chyba z 6 miesięcy zaciętej dyskusji, aby Kubuś zmienił zdanie.
Kiedy pierwszy raz zapisał prawa Kubusia:
p=>q = ~p~>~q
p~>q = ~p=>~q
Wuj od razu skomentował to tak: fajne wzorki, poprawne matematycznie.
Kubuś odpisał: to jest tak piękne, że musi być prawdziwe.
Notabene ten znaczek „~>” zaproponował Wuj jako znaczek groźby (jadowity wąż) - tak się to wtedy nazywało.
Wuj był wspaniałym nauczycielem małego Kubusia, na PW zaliczyliśmy niezliczoną ilość nocek dyskutując o algebrze Boole’a. Kubuś znał technikę bramek logicznych (operatory logiczne) perfekcyjnie z racji swego wykształcenia (elektronika na PW-wa), ale operator implikacji to było coś absolutnie nowego i mu nieznanego, coś co kompletnie nie występuje w technice bramek logicznych.
Dlaczego?
Operator implikacji to w jednej połówce 100% pewność (warunek wystarczający =>), natomiast w drugiej połówce operator implikacji to najzwyklejsze „rzucanie monetą” (warunek konieczny ~>).
Operatory implikacji prostej i odwrotnej to między innymi matematyczny opis „wolnej woli” wszystkich istot żywych. Z tego powodu w technice operatory te są totalnie bezużyteczne i nigdy nie znajdą zastosowania, trudno bowiem sobie wyobrazić aby urządzenie miało „wolną wolę”. Przykładowo kierowca hamuje, samochód prawie zawsze go słucha, ale czasami dodaje gazu zamiast hamować - to jest istota „wolnej woli” w świecie żywym.
Kiedy na matematyce.pl pierwszy raz powiązałem znaczki obietnicy => i groźby ~> z warunkiem wystarczającym => i koniecznym ~>, Wuj od razu skomentował: to jest dobre, idź w tym kierunku.
Wuj zawsze podpowiadał Kubusiowi co robi źle, czyli kiedy idzie w maliny, dzięki czemu AK mogła się rozwijać.
Ważnym okresem w historii powstawania algebry Kubusia była dwuletnia bijatyka na forum [link widoczny dla zalogowanych] (2800 postów), gdzie wszyscy starali się obalić powstającą, nową ideę. Tu algebra Kubusia rosła w siłę a Kubuś który nigdy nie widział nawet okładki podręcznika do logiki matematycznej poznał „logikę” Ziemian, głównie dzięki Fizykowi, Windziarzowi, Sogorsowi i Quebabowi.
Zacięta dyskusja i zdecydowana odmowa Kubusia do przejścia na jedynie słuszną wiarę, matematykę Ziemian, tak rozwścieczyła administratorów ateisty.pl że zamknęli wszystkie tematy jakie kiedykolwiek Kubuś tu założył, zakazując dyskusji na temat AK.
Chcąc nie chcąc Kubuś skorzystał z zaproszenia Sogorsa i pojawił się na forum Yrizona, będącego własnością Sogorsa (tu Daggera) i Słupka, starych znajomych z dyskusji na ateiście.pl.
Tu również zaczęło się od bijatyki, ale w pewnym momencie doszło do [link widoczny dla zalogowanych] który przyciągnął na Yrizonę tajemniczego przybysza z [link widoczny dla zalogowanych] [link widoczny dla zalogowanych] który podobnie jak Wuj w czasach małego Kubusia z wielką cierpliwością wskazywał słabe punkty algebry Kubusia, dzięki czemu ta stawała się coraz doskonalsza. Ponad roczna dyskusja z Fiklitem była decydująca, bez niej algebra Kubusia nie zostałaby zauważona.
Co jest warta idea, nawet najwspanialsza, której nikt poza jej autorem nie rozumie?
Dzięki wszystkim,
Kubuś
Spis treści:
Część I
Fundamenty matematyczne
1.0 Algebra Kubusia w definicjach
2.0 Matematyczne fundamenty algebry Kubusia
2.1 Operatory jednoargumentowe
2.2 Abstrakcyjna budowa operatora logicznego
2.3 Prawa Prosiaczka
2.4 Wykresy czasowe w algebrze Kubusia
2.5 Operator transmisji
2.6 Operator negacji
2.7 Równanie ogólne dla operatorów transmisji i negacji
3.0 Rachunek zero-jedynkowy
3.1 Operatory dwuargumentowe
3.2 Maszynowe definicje operatorów logicznych
3.3 Prawa przemienności argumentów w operatorach OR i AND
3.4 Prawo De Morgana dla spójnika „lub”(+)
3.5 Prawo De Morgana dla spójnika „i”(*)
3.6 Równanie ogólne dla operatorów OR i AND
3.7 Związek rachunku zero-jedynkowego z naturalną logiką człowieka
3.7.1 Sterowanie windą autorstwa 5-cio latków
3.7.2 Analiza zdania ze spójnikiem „lub”(+)
3.7.3 Analiza zdania ze spójnikiem „i”(*)
4.0 Najważniejsze prawa algebry Boole’a
4.1 Tworzenie równań logicznych opisujących dowolną tabelę zero-jedynkową
4.2 Twierdzenie o niejednoznaczności tabel zero-jedynkowych
4.3 Wykresy czasowe operatorów OR i AND
4.4 Definicja symboliczna operatora OR
4.5 Definicja symboliczna operatora AND
4.6 Logika człowieka w spójnikach „lub”(+) i „i”(*)
5.0 Nowa teoria zbiorów
5.1 Aksjomatyka algebry Kubusia w zbiorach
5.2 Podstawowe definicje nowej teorii zbiorów
5.3 Podstawowe operacje na zbiorach
5.4 Definicja symboliczna operatora OR w zbiorach
5.5 Definicja symboliczna operatora AND w zbiorach
5.6 Funkcja logiczna n-argumentowa w zbiorach
6.0 Operatory implikacji i równoważności w zbiorach
6.1 Operator chaosu w zbiorach
6.2 Implikacja prosta w zbiorach
6.3 Implikacja odwrotna w zbiorach
1.0 Algebra Kubusia w definicjach
Znaczenie symboli 0 i 1 poza nową teoria zbiorów:
1 = prawda
0 = fałsz
Znaczenie symboli 0 i 1 w nowej teorii zbiorów:
1 - zbiór niepusty (istnieje)
0 - zbiór pusty (nie istnieje)
Nowa teoria zbiorów to najprostsza teoria implikacji i równoważności, zrozumiała dla każdego 5-cio latka i każdego humanisty.
~ - symbol negacji, przeczenie „nie” w naturalnej logice człowieka
Prawo podwójnego przeczenia:
p=~(~p)
Zmienna binarna:
Zmienna mogąca przyjmować w osi czasu wyłącznie dwie wartości 0 albo 1
Przykłady:
p, q, ~r
Funkcja logiczna:
Funkcja przyjmująca w osi czasu wyłącznie dwie wartości 0 albo 1 w zależności od aktualnego stanu zmiennych binarnych i użytego operatora logicznego.
Przykłady funkcji logicznych:
Y=p*q+~r
p=>q
gdzie:
„*”, „+”, => - operatory logiczne
Y, p=>q - funkcje logiczne
Spó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
Operatory OR i AND:
Funkcja logiczna Y zapisana jest w logice dodatniej wtedy i tylko wtedy gdy nie jest zanegowana
Y=p+(q*~r) - logika dodatnia bo Y
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
~Y = ~p*(~q+r) - logika ujemna do ~Y
Definicja operatora OR w układzie równań logicznych:
A: Y=p+q
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
B: ~Y=~p*~q
Matematycznie zachodzi:
Y=p+q # ~Y=~p*~q
# - kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Związek logiki dodatniej (bo Y) i ujemnej (bo ~Y):
Y = ~(~Y) - prawo podwójnego przeczenia
Podstawiając A i B mamy prawo De Morgana dla spójnika „lub”(+):
Y = p+q = ~(~p*~q)
Definicja operatora AND w układzie równań logicznych:
A: Y=p*q
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
B: ~Y=~p+~q
Matematycznie zachodzi:
Y=p*q # ~Y=~p+~q
# - kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Związek logiki dodatniej (bo Y) i ujemnej (bo ~Y):
Y = ~(~Y) - prawo podwójnego przeczenia
Podstawiając A i B mamy prawo De Morgana dla spójnika „i”(*):
Y = p*q = ~(~p+~q)
## - różne na mocy definicji
Operator OR ## Operator AND
Y = p+q # ~Y=~p*~q ## Y=p*q # ~Y=~p+~q
Po obu stronach znaku ## możemy mieć dowolne p i q.
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)
Operatory implikacji i równoważności:
Matematyczny fundament nowej teorii zbiorów:
Definicja znaczka ~~> (naturalny spójnik „może”)
~~> - zbiór na podstawie wektora ~~> musi mieć co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Definicja znaczka => (warunek wystarczający, gwarancja matematyczna):
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Definicja znaczka ~> (warunek konieczny):
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>
Definicja operatora chaosu:
p~~>q
Zbiór p ma część wspólna ze zbiorem q i żaden z nich nie zawiera się w drugim
Zdanie p~~>q jest prawdziwe we wszystkich możliwych przeczeniach p i q
Przykład:
Jeśli liczba jest podzielna przez 8 to może ~~> być podzielna przez 3
P8~~>P3
Definicja implikacji prostej:
p=>q = ~p~>~q
p=>q
Zbiór p zawiera się w zbiorze q i nie jest tożsamy ze zbiorem q
Po obu stronach tożsamości p i q muszą być tymi samymi parametrami
Przykład:
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L = ~P~>~4L
Definicja implikacji odwrotnej:
p~>q = ~p=>~q
p~>q
Zbiór p zawiera w sobie zbiór q i nie jest tożsamy ze zbiorem q
Po obu stronach tożsamości p i q muszą być tymi samymi parametrami
Przykład:
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P = ~4L=>~P
Na mocy definicji zachodzi:
Implikacja prosta ## Implikacja odwrotna
p=>q = ~p~>~q ## p~>q = ~p=>~q
gdzie:
## - różne na mocy definicji
Po obu stronach znaku ## mamy do czynienia z dwoma niezależnymi układami logicznymi pomiędzy którymi nie zachodzą żadne związki tożsamościowe. Parametry p i q po obu stronach znaku ## mogą być absolutnie dowolne, w szczególności mogą być zamienione miejscami.
Definicje implikacji prostej i odwrotnej to jednocześnie prawa Kubusia.
Prawa Kubusia:
p=>q = ~p~>~q
p~>q = ~p=>~q
Definicja równoważności:
p<=>q = (p=>q)*(~p=>~q)
p=>q
Zbiór p zawiera się w zbiorze q i jest tożsamy ze zbiorem q
Tożsamość zbiorów p=q wymusza tożsamość zbiorów ~p=~q
W równoważności zachodzą prawa kontrapozycji:
~p=>~q = q=>p
p=>q = ~q=>~p
Stąd mamy najpopularniejszą definicję równoważności:
p<=>q = (p=>q)*(q=>p)
Przykład:
Trójkąt jest prostokątny wtedy i tylko wtedy gdy zachodzi suma kwadratów
TP<=>SK = (TP=>SK)*(~TP=>~SK)
2.0 Matematyczne fundamenty algebry Kubusia
Algebra Kubusia to logika matematyczna w 100% zgodna z naturalną logiką człowieka, doskonale znana w praktyce jej ekspertom, 5-cio latkom i humanistom.
Spó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
Podstawowe definicje algebry Kubusia:
1 = prawda
0 = fałsz
~ - symbol przeczenia NIE
Aksjomaty znane ludziom od tysiącleci:
Dobro to brak zła
Zło to brak dobra
Prawda to brak fałszu
Prawda = NIE fałsz
1 = ~0
Fałsz to brak prawdy
Fałsz = NIE Prawda
0=~1
etc
Fundament algebry Kubusia:
1=~0
0=~1
Prawo podwójnego przeczenia:
p=~(~p)
Przykład:
A: Jestem uczciwy
A: U
B: Jestem nieuczciwy
B: ~U
C: Nieprawdą jest ~(…) że jestem nieuczciwy
C: ~(~U) = A: U
Zdania A i C znaczą dokładnie to samo
cnd
Zmienna binarna:
Zmienna binarna to zmienna mogąca przyjmować w osi czasu wyłącznie dwie wartości 0 albo 1.
Gdzie:
1 = prawda
0 = fałsz
Przykłady zmiennych binarnych:
p, q, ~r
Najważniejszymi operatorami w logice są operatory jednoargumentowe i dwuargumentowe.
2.1 Operatory jednoargumentowe
Definicja jednoargumentowego operatora logicznego:
Jednoargumentowy operator logiczny to funkcja logiczna Y jednej zmiennej binarnej
Możliwe są dwa użyteczne operatory jednoargumentowe:
Y=p - operator transmisji
Y=~p - operator negacji
Zwyczajowo w logice funkcję logiczną oznaczamy dużą literą Y.
Definicja logiki dodatniej i ujemnej:
Funkcja logiczna Y zapisana jest w logice dodatniej wtedy i tylko wtedy gdy nie jest zanegowana:
Y=p - logika dodatnia bo Y
~Y=p - logika ujemna bo ~Y
2.2 Abstrakcyjna budowa operatora logicznego
Wyobraźmy sobie czarną skrzynkę w której pracuje dwóch krasnoludków, Transmiterek i Negatorek.
Na przedniej ściance skrzynki zamontowany jest najzwyklejszy wyłącznik światła sterujący lampką człowieka typu zaświeć/zgaś. Po przeciwnej stronie skrzynki znajduje się lampka sterowana wyłącznie przez krasnoludka pracującego w środku skrzynki.
Po stronie człowieka dostępne są jeszcze dwa tajemnicze przyciski z opisem:
A - zezwalaj na pracę Transmiterka
A=1 - zezwalaj
A=0 - zabroń
B - zezwalaj na pracę Negatorka
B=1 - zezwalaj
B=0 - zabroń
Ustawmy na początek krasnoludkowe przełączniki w pozycję:
A=0 i B=0
1.
Jak widzimy lampką człowieka możemy sterować zaświecając ją i gasząc przełącznikiem, jednak lampka krasnoludka jest cały czas zgaszona.
2.
Pozwólmy na pracę wyłącznie Transmiterka ustawiając przełączniki:
A=1 i B=0
Jak widzimy, jeśli zaświecimy lampkę człowieka to automatycznie zapali się lampka krasnoludka, jeśli ją zgasimy to lampka krasnoludka również zgaśnie.
3.
Ustawmy teraz przełączniki w pozycję:
A=0 i B=1
pozwalając pracować wyłącznie Negatorkowi
Tym razem każde zaświecenie lampki człowieka skutkuje wygaszeniem lampki krasnoludka i odwrotnie.
4.
Ostatnia możliwość to zezwolenie na jednoczesną pracę obu krasnoludków poprzez ustawienie przełączników w pozycję:
A=1 i B=1
Ajajaj!
Jak widzimy możemy bez problemów zapalać i gasić lampkę człowieka jednak żarówka krasnoludka ledwie się pali, na dodatek z pudła wydobywa się czarny dym co jest dowodem walki na śmierć i życie między Tansmiterkiem a Negatorkiem. Jeden za wszelką cenę chce zaświecić lampkę, a drugi za wszelką cenę ją zgasić.
Ustawmy szybko przełączniki w pozycję:
A=0 i B=0
Nie możemy przecież dopuścić do zagłady krasnoludków, bo co powiedzą nasze dzieci?
W naszym abstrakcyjnym modelu wejściową zmienną binarną p jest lampka człowieka.
Wyjściem w tym modelu jest lampka krasnoludka którą oznaczamy Y.
Definicja jednoargumentowego operatora logicznego:
Jednoargumentowy operator logiczny to funkcja logiczna jednej zmiennej binarnej
Definicja operatora transmisji:
Y=p
Jeśli lampka człowieka się świeci (p=1) to lampka krasnoludka też się świeci (Y=1)
Jeśli lampka człowieka jest zgaszona (p=0) to również lampka krasnoludka jest zgaszona (Y=0)
Stąd mamy zero-jedynkową definicje operatora transmisji:
Y=p
Definicja operatora negacji:
Y=~p
Jeśli lampka człowieka się świeci (p=1) to lampka krasnoludka jest zgaszona (Y=0)
Jeśli lampka człowieka jest zgaszona (p=0) to lampka krasnoludka się świeci (Y=1)
Stąd mamy zero-jedynkową definicję operatora negacji:
Y=~p
… a jeśli nie wiemy który krasnoludek aktualnie pracuje, to czy możemy rozszyfrować który?
Oczywiście że tak.
Na wejściu p wymuszamy wszystkie możliwe stany. Odpowiedź na wyjściu Y jednoznacznie definiuje nam operator. Najważniejsze operatory jednoargumentowe właśnie poznaliśmy.
Definicja operatora logicznego w technicznej algebrze Boole’a:
Operator logiczny to odpowiedź układu na wszystkie możliwe wymuszenia 0 i 1 na wejściu układu.
Nie jest prawdą, że możemy zdefiniować wyłącznie dwa operatory jednoargumentowe jak wyżej.
Dwa kolejne operatory jednoargumentowe to:
1.
Jednoargumentowy operator chaosu o definicji:
Jak widzimy, tu lampka krasnoludka pali się cały czas, bez względu na stan wejściowej lampki człowieka p.
2.
Jednoargumentowy operator śmierci:
Tu lampka krasnoludka jest cały czas zgaszona, bez wzglądu na to co też ten człowiek na wejściu p sobie wyprawia.
W logice wyróżniamy:
1.
Operatory jednoargumentowe o jednym wejściu p i jednym wyjściu Y
2.
Operatory dwuargumentowe o dwóch wejściach p i q i jednym wyjściu Y.
Przy dwóch wejściach p i q możliwe są cztery różne wymuszenia na wejściach p i q.
3.
Operator n-argumentowy o n wejściach i tylko jednym wyjściu Y
Ogólna definicja operatora dwuargumentowego:
Kod: |
p q Y=?
1 1 =x
1 0 =x
0 1 =x
0 0 =x
|
Jak widzimy przy dwóch wejściach p i q możemy zdefiniować 16 (2^4) różnych stanów na wyjściu Y, czyli 16 różnych na mocy definicji operatorów logicznych.
Najważniejsze operatory dwuargumentowe to:
Kod: |
p q OR AND => ~> <=> XOR ~~>
1 1 1 1 1 1 1 0 1
1 0 1 0 0 1 0 1 1
0 1 1 0 1 0 0 1 1
0 0 0 0 1 1 1 0 1 |
Niebawem je poznamy.
2.3 Prawa Prosiaczka
Prawa Prosiaczka:
(p=1) = (~p=0) - prawda (=1) w logice dodatniej (bo p) jest tożsama z fałszem (=0) w logice ujemnej (bo ~p)
(p=0) = (~p=1) - fałsz (=0) w logice dodatniej (bo p) jest tożsamy z prawdą (=1) w logice ujemnej (bo ~p)
Zauważmy że zarówno w logice dodatniej jak i ujemnej mamy matematyczną świętość:
1 - prawda
0 - fałsz
Prawa Prosiaczka wyjaśnimy na przykładzie:
A.
Jutro pójdę do kina
Y=K - funkcja zapisana w logice dodatniej (bo Y)
co matematycznie oznacza:
Y=1 <=> K=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1)
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
Szczegółowo czytamy:
Prawdą jest (=1), że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1)
Y=1 <=> K=1
.. a kiedy skłamię?
Negujemy równanie A dwustronnie:
~Y=~K - funkcja zapisana w logice ujemnej (bo ~Y)
stąd:
B.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
~Y=~K
co matematycznie oznacza:
~Y=1 <=> ~K=1
Szczegółowo czytamy:
Prawdą jest (=1) że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
~Y=1 <=> ~K=1
Tabela prawdy dla naszego zdania:
Kod: |
Zapis symboliczny |Kodowanie
Równanie |Znaczenie |zero-jedynkowe
logiczne |równania | K Y=K ~K ~Y=~K
A: Y= K | Y=1<=> K=1 | 1 1 0 0
B:~Y=~K |~Y=1<=>~K=1 | 0 0 1 1
1 2 3 4 | 5 6 7 8
|
Matematycznie zachodzi:
Y # ~Y
bo kolumny wynikowe AB6 i AB8 są różne
Znaczenie zer i jedynek w logice dodatniej (Y) w kolumnie AB6:
A6: Y=1<=> K=1 - dotrzymam słowa
B6: Y=0 <=> K=0 - skłamię
Szczegółowo czytamy:
A6: Y=1 - prawdą jest (=1), że dotrzymam słowa (Y)
B6: Y=0 - fałszem jest (=0), że dotrzymam słowa (Y)
Znaczenie zer i jedynek w logice ujemnej (~Y) w kolumnie AB8:
B8: ~Y=1 <=> ~K=1 - skłamię
A8: ~Y=0 <=> ~K=0 - dotrzymam słowa
Szczegółowo czytamy:
B8: ~Y=1 - prawdą jest (=1) że skłamię (~Y)
A8: ~Y=0 - fałszem jest (=0), że skłamię (~Y)
Stąd zdanie:
A6: Y=1 - prawdą jest (=1), że dotrzymam słowa (Y)
Jest tożsame ze zdaniem:
A8: ~Y=0 - fałszem jest (=0), że skłamię (~Y)
Podobnie zdanie:
B8: ~Y=1 - prawdą jest (=1) że skłamię (~Y)
Jest tożsame ze zdaniem:
B6: Y=0 - fałszem jest (=0), że dotrzymam słowa (Y)
Prawa Prosiaczka w postaci tożsamości:
I prawo Prosiaczka
A6: (Y=1) = A8: (~Y=0)
Prawda (=1) w logice dodatniej (bo Y) jest tożsama z fałszem (=0) w logice ujemnej (bo ~Y)
II prawo Prosiaczka
B8: (~Y=1) = B6: (Y=0)
Prawda (=1) w logice ujemnej (bo ~Y) jest tożsama z fałszem (=0) w logice dodatniej (bo Y)
W dowolnej tożsamości zachodzi wynikanie w dwie strony.
Stąd prawa Prosiaczka to również równoważność:
A6: (Y=1) <=> A8: (~Y=0)
B8: (~Y=1) <=> B6: (Y=0)
Prawa Prosiaczka mówią o matematycznych tożsamościach zachodzących między logiką dodatnią (Y) i ujemną (~Y) i nie mają nic wspólnego z definicją operatora negacji.
Definicja naturalnej logiki człowieka:
Naturalna logika człowieka to funkcja logiczna gdzie wszystkie zmienne wejściowe sprowadzone są do jedynek.
Prawa Prosiaczka umożliwiają przejście z dowolnej tabeli zero-jedynkowej do równań algebry Boole’a, albo odwrotnie.
W linii A za punkt odniesienia przyjmujemy zdanie:
A: Y=K
co matematycznie oznacza:
Y=1 <=>K=1
Obsługiwane zero-jedynkowo w linii A56.
W linii B za punkt odniesienia przyjmujemy zdanie:
B: ~Y=~K
co matematycznie oznacza:
~Y=1 <=>~K=1
Obsługiwane zero-jedynkowo w linii B78.
Dlaczego w zdaniu B musimy zmienić punkt odniesienia?
Problem w tym, że jeśli w zdaniu B nie zmienimy punktu odniesienia, uznając zdanie A za świętą krowę do której wszystko musi się odnosić to zlikwidujemy logikę ujemną w algebrze Boole’a i stracimy możliwość opisania zdania B równaniem logicznym.
W tym przypadku tabela prawdy dla zdania A będzie wyglądała tak:
Kod: |
Zapis symboliczny |Kodowanie
Równanie |Znaczenie |zero-jedynkowe
logiczne |równania | K Y=K
A: Y= K | Y=1<=> K=1 | 1 1
B: Y= K?!| Y=0<=> K=0 | 0 0
1 2 3 4 | 5 6
|
Matematycznie zachodzi:
Y=1 # Y=0
Prawdą jest (=1) że dotrzymam słowa (Y) # Fałszem jest (=0) że dotrzymam słowa (Y)
Zdanie A przyjmie tu brzmienie identyczne jak poprzednio:
A.
Jutro pójdę do kina
Y=K - funkcja zapisana w logice dodatniej (bo Y)
co matematycznie oznacza:
Y=1 <=> K=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1)
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
Czytamy:
A.
Prawdą będzie (=1) że dotrzymam słowa wtedy i tylko wtedy gdy prawdą będzie (=1), że jutro pójdę do kina
Natomiast leżymy i kwiczymy na banalnym pytaniu 5-cio latka:
… tata, a kiedy skłamię?
Spróbujmy odpowiedzieć na to pytanie zgodnie z aktualną tabelą:
B.
Y=0 <=> K=0
Czytamy:
B.
Fałszem będzie (=0) że dotrzymam słowa (Y) wtedy i tylko wtedy gdy fałszem będzie (=0) że jutro pójdę do kina (K).
Zauważmy, że zdanie A bez problemu opisaliśmy równaniem algebry Boole’a (Y=K), natomiast nie mamy szans na opisanie równaniem zdania B bez skorzystania z prawa Prosiaczka, czyli bez przejścia do logiki ujemnej.
Opis linii B wyżej w postaci równania:
B: Y= K?!
to błąd czysto matematyczny, bowiem zdanie B to zupełnie co innego niż zdanie A i nie może być opisane tym samym równaniem logicznym.
Logika to równania algebry Boole’a a nie tabele zero-jedynkowe. Wszelkie prawa logiczne zapisane są w równaniach algebry Boole’a, nigdy w tabelach zero-jedynkowych.
2.4 Wykresy czasowe w algebrze Kubusia
Prawo Prosiaczka można ładnie przedstawić na wykresie czasowym.
Wyobraźmy sobie trzylatka który poznaje otaczający go świat.
W przedszkolu od pani nauczycielki dostaje worek zawierający najróżniejsze zwierzątka, jego zadaniem jest segregacja zwierząt na „psy” i „nie psy”.
Dzieciak ma dwa pudełka, zielone i brązowe, do zielonego musi wkładać „psy”, natomiast do brązowego „nie psy”.
Z: P - pies
B: ~P - nie pies
Zadanie dla trzylatka można przedstawić na wykresie czasowym, bowiem kolejne losowanie zwierząt odbywa się w czasie. Nie jest możliwa segregacja zwierząt w czasie nieskończenie krótkim.
Kolejne losowania opisane wykresem to:
I.
A.
Logika dodatnia obszar Y:
Wylosowano: Słoń
A: P=0
Fałszem jest (=0), że wylosowano „psa” (P)
B.
Logika ujemna bo obszar ~Y:
Wylosowano: Słoń
B: ~P=1
Prawdą jest (=1) że wylosowano „nie psa” (~P)
Doskonale widać prawo Prosiaczka:
A: (P=0) = B: (~P=1)
II.
A.
Logika dodatnia bo obszar Y:
Wylosowano: Pies
A: P=1
Prawdą jest (=1), że wylosowano „psa” (P)
B.
Logika ujemna bo obszar ~Y:
Wylosowano: Pies
B: ~P=0
Fałszem jest (=0), że wylosowano „nie psa” (~P)
Doskonale widać prawo Prosiaczka:
A: (P=1) = B: (~P=0)
III.
A.
Logika dodatnia obszar Y:
Wylosowano: Kura
A: P=0
Fałszem jest (=0), że wylosowano „psa” (P)
B.
Logika ujemna bo obszar ~Y:
Wylosowano: Kura
B: ~P=1
Prawdą jest (=1) że wylosowano „nie psa” (~P)
Doskonale widać prawo Prosiaczka:
A: (P=0) = B: (~P=1)
Objaśnienia do wykresu czasowego w algebrze Kubusia:
1.
Logika dodatnia (bo Y) to obszar ponad linią czasu
Logika ujemna (bo ~Y) to obszar poniżej linii czasu
2.
Świętość symbolicznej algebry Boole’a (algebry Kubusia):
1 = prawda
0 = fałsz
zachowana jest zawsze, niezależnie od tego czy mamy do czynienia z logiką dodatnią (bo Y), czy też ujemną (bo ~Y).
3.
Doskonale widać, że zmienna ~P jest lustrzanym odbiciem zmiennej P.
Zauważmy, że lustrzane odbicie nie dotyczy poziomów logicznych 0 i 1 w logice ujemnej.
Dlaczego?
W przypadku lustrzanego odbicia także 0 i 1 dla wylosowanego „psa” mielibyśmy:
IIA.
A.
Logika dodatnia bo obszar Y:
Wylosowano: Pies
A: P=1
Prawdą jest (=1), że wylosowano „psa” (P)
B.
Logika ujemna bo obszar ~Y:
Wylosowano: Pies
B: ~P=1
Prawdą jest (=1), że wylosowano „nie psa” (~P)
Matematyka ścisła, prawo Prosiaczka leży tu w gruzach, mamy sprzeczność czysto matematyczną:
A: (P=1) # B: (~P=1)
Nie można jednocześnie wylosować „psa” (P=1) i „nie psa” (~P=1) - obszar zielony.
4.
Wszelkie tabele zero-jedynkowe algebry Boole’a można przedstawić na wykresach czasowych jak wyżej, bowiem nic w przyrodzie nie dzieje się w czasie nieskończenie krótkim.
Rozpatrzmy teraz konkretne zdanie z naturalnego języka mówionego człowieka.
Nasze zdanie:
A.
Jutro pójdę do kina
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
Zdanie tożsame:
Dotrzymam słowa (Y=1), wtedy i tylko wtedy gdy jutro pójdę do kina (K=1)
Y=K
Czytamy:
Prawdą jest (=1), że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1)
.. a kiedy skłamię?
Przejście ze zdaniem A do logiki ujemnej (bo ~Y) poprzez negację zmiennych i wymianę spójników
~Y=~K
B.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
~Y=~K
co matematycznie oznacza:
~Y=1 <=> ~K=1
Czytamy:
Prawdą jest (=1), że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
O dotrzymaniu słowa w zdaniu A decyduje wyłącznie jutro, obszar zielony.
Jeśli jutro pójdziemy do kina (Y=K) to zatrzymujemy czas na czerwonej linii A-A, dalsze nasze działania nie mają żadnego znaczenia, poszliśmy do kina zatem dotrzymaliśmy słowa.
Na czerwonej linii A-A dla zmiennej K mamy tu sytuacje.
A1:
Logika dodatnia (bo Y):
K=1
Prawdą jest (=1), że byłem w kinie (K)
Zdanie tożsame w logice ujemnej (bo ~Y):
A2:
Logika ujemna (bo ~Y):
~K=0
Fałszem jest (=0), że nie byłem w kinie (~K)
Doskonale widać prawo Prosiaczka:
A1: (K=1) = A2: (~K=0)
Jeśli jutro nie pójdę do kina to skłamię.
B1.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
~Y=~K
co matematycznie oznacza:
~Y=1 <=>~K=1
Tą sytuację widać w białym obszarze pojutrze.
Mamy tu następujące sytuacje dla zmiennej K.
B1:
Logika ujemna (bo ~Y):
~K=1
Prawdą jest (=1), że nie byłem w kinie (~K)
Zdanie tożsame w logice dodatniej (bo Y):
B2:
K=0
Fałszem jest (=0), że byłem w kinie (K)
Doskonale widać prawo Prosiaczka:
B1: (~K=1) = B2: (K=0)
W zdaniu wyżej mamy sytuację gdzie o dotrzymaniu słowa/skłamaniu decyduje pewna chwila w skali nieskończonego czasu - jutro.
Tylko i wyłącznie jutro człowiek może ustawić zmienną K na dowolną wartość logiczną:
K=1 - pójdę do kina
co wymusi:
~K=0 - prawo Prosiaczka się kłania
albo:
~K=1 - nie pójdę do kina
co wymusi:
K=0 - prawo Prosiaczka się kłania
W dniu dzisiejszym nie znamy jaką wartość logiczną przyjmie zmienna K, jutro zmienna K może przyjąć dowolną wartość, dlatego matematycznie K jest zmienną binarną.
Definicja zmiennej binarnej:
Zmienna binarna to zmienna mogąca przyjąć w osi czasu dowolną wartość 0 albo 1
Zauważmy, że skalowanie osi czasu jest tu nieistotne.
Jutro może wystąpić chwila czasowa t1 gdzie pójdziemy do kina dotrzymując tym samym słowa. Jeśli chwila czasowa t1 nie zaistnieje to skłamiemy.
Oczywiście pojutrze mamy już świat totalnie zdeterminowany, gdzie możliwe są tylko i wyłącznie dwie możliwości.
A.
A.
Wczoraj byłem w kinie
czyli:
A1.
Dotrzymałem słowa (Y=1) bo wczoraj byłem w kinie
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
Czytamy:
A2
Prawdą jest (=1), że dotrzymałem słowa (Y) bowiem (wtw) prawdą jest (=1) że byłem w kinie (K)
W logice ujemnej (bo ~Y) na mocy prawa Prosiaczka ten przypadek opisuje równanie:
~Y=0 <=> ~K=0
Czytamy:
A3.
Fałszem jest (=0) że skłamałem (~Y) bowiem (wtw) fałszem jest (=0) że nie byłem w kinie
Tożsame matematycznie zdania to:
A1=A2=A3
Zauważmy, że w logice ujemnej nie możemy tu zapisać równania:
~Y=~K - to jest błąd czysto matematyczny
bowiem matematycznie znaczy ono:
~Y=1<=>~K=1 - co nie jest zgodne z prawdą
albo:
B.
B.
Wczoraj nie byłem w kinie
czyli:
B1.
Skłamałem (~Y=1) bo wczoraj nie byłem w kinie (~K=1)
~Y=~K
co matematycznie oznacza:
~Y=1 <=> ~K=1
Czytamy:
B2.
Prawdą jest (=1) że skłamałem (~Y) bowiem (wtw) prawdą jest (=1) że nie byłem w kinie (~K)
W logice dodatniej (bo Y) na mocy prawa Prosiaczka ten przypadek opisuje równanie:
Y=0 <=> K=0
Czytamy:
B3.
Fałszem jest (=0), że dotrzymałem słowa (Y) bowiem (wtw) fałszem jest (=0) że byłem w kinie (K)
Zdania tożsame matematycznie to:
B1=B2=B3
Zauważmy, że w logice dodatniej nie możemy tu zapisać równania:
Y=K - to jest błąd czysto matematyczny
bowiem matematycznie znaczy ono:
Y=1<=>K=1 - co nie jest zgodne z prawdą
Czasu nie można cofnąć, zmienna K (~K) ma tu wartość zdeterminowaną (znaną z góry) której nie możemy już zmienić.
Wniosek:
Pojutrze zmienna K nie jest już zmienną binarną.
… a czym jest?
Pojutrze K jest stałą symboliczną o znanej z góry wartości logicznej.
Definicja stałej symbolicznej:
Stała symboliczna to symbol którego wartość logiczna jest niezmienna w czasie i znana z góry.
Nie jesteśmy w stanie zmienić wartości logicznej stałej symbolicznej.
Wniosek:
Oś czasu jest koniecznie potrzebna dla zaistnienia zmiennej binarnej.
Nie istnieje pojęcie zmiennej binarnej bez osi czasu. W czasie nieskończenie krótkim wszystko w naszym Wszechświecie „stoi w miejscu”, zatem nie ma mowy o zmiennych binarnych bez osi czasu.
Dowód wyżej.
Inny przykład stałej symbolicznej:
W trójkącie prostokątnym zachodzi suma kwadratów
TP=>SK
Oczywiście w tym przypadku trójkąt prostokątny (TP) w którym zachodzi suma kwadratów jest stałą symboliczną o wartości logicznej 1, niezależną od czasu.
TP=>SK =1 - prawda
gdzie:
=> - na pewno
Nie jesteśmy w stanie znaleźć trójkąta prostokątnego, w którym suma kwadratów nie byłaby spełniona.
TP~~>~SK =0 - fałsz
gdzie:
~~> - może się zdarzyć
Ten przypadek jest niemożliwy.
2.5 Operator transmisji
Definicja operatora transmisji:
A1: Y=p
co matematycznie oznacza:
Y=1 <=> p=1
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników na przeciwne (tu ich nie ma):
A2: ~Y=~p
co matematycznie oznacza:
~Y=1 <=> ~p=1
Stąd mamy definicję operatora transmisji w układzie równań logicznych:
A1: Y=p
A2: ~Y=~p
Tabela zero-jedynkowa operatora transmisji:
Kod: |
Definicja |co matematycznie |Definicje zero-jedynkowe
symboliczna |oznacza |dla Y=p |dla ~Y=~p
| | p Y=p |~p ~Y=~p
A1: Y= p | Y=1<=> p=1 | 1 =1 | 0 =0
A2: ~Y=~p |~Y=1<=>~p=1 | 0 =0 | 1 =1
1 2 3 4 5 6
|
Dla kodowania definicji symbolicznej Ax12 z punktem odniesienia ustawionym na zdaniu A1 otrzymujemy zero-jedynkową definicję operatora transmisji w logice dodatniej (bo Y) w obszarze Ax34.
A1: Y=p
co matematycznie oznacza:
Y=1 <=> p=1
stąd:
Y=1, ~Y=0
p=1, ~p=0
Dla kodowania definicji symbolicznej Ax12 z punktem odniesienia ustawionym na zdaniu A2 otrzymujemy zero-jedynkową definicję operatora transmisji w logice ujemnej (bo ~Y) w obszarze Ax56.
A2: ~Y=~p
co matematycznie oznacza:
~Y=1 <=> ~p=1
stąd:
~Y=1, Y=0
~p=1, p=0
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y):
Logika dodatnia to zanegowana logika ujemna
Y = ~(~Y)
Podstawiając A1 i A2 mamy zdanie tożsame do A1:
A3: Y = p = ~(~p)
Stąd mamy:
Prawo podwójnego przeczenia
p=~(~p)
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y):
Logika ujemna to zanegowana logika dodatnia
~Y = ~(Y)
Podstawiając A2 i A1 mamy zdanie tożsame do A2:
A4: ~Y = ~p = ~(p)
Przykład:
A1.
Jutro pójdziemy do kina
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
Prawdą jest (=1), że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdziemy do kina (K=1)
Synek (lat 5):
… tata, a kiedy skłamiesz?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników (tu ich nie ma):
~Y=~K
A2.
Skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K)
~Y=~K
co matematycznie oznacza:
~Y=1 <=> ~K=1
Prawdą jest (=1), że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K=1)
Synek:
Tata, a czy może się zdarzyć że jutro nie pójdziemy do kina?
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y):
Y=~(~Y)
Podstawiając A1 i A2 mamy zdanie tożsame do A1:
Y = K = ~(~K)
Tata:
A3.
Nie może się zdarzyć ~(…), że jutro nie pójdziemy do kina (~K)
Y = K = ~[~(K)]
co matematycznie oznacza:
Y=1 <=> K=1
Oczywiście punktem odniesienia jest tu logika dodatnia (bo Y) i sygnał K.
Stąd wartościowanie zdania A3:
Y = 1 = ~[~(1)] = ~[0] = 1
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y):
~Y = ~(Y)
Podstawiając A2 i A1 otrzymujemy zdanie tożsame do A2:
~Y = ~K = ~(K)
A4.
Skłamię (~Y) wtedy i tylko wtedy gdy nie zdarzy się ~(…), że jutro pójdziemy do kina (K)
~Y=~K=~(K)
co matematycznie oznacza:
~Y=1 <=>~K=1
Punktem odniesienia jest tu logika ujemna (bo ~Y) i sygnał ~K.
W zdaniu A4 musimy odtworzyć sygnał odniesienia ~K korzystając z prawa podwójnego przeczenia:
K=~(~K)
Nasze równanie A4 przybiera postać potrzebną do wartościowania dla ~K=1:
A4: ~Y = ~K = ~[~(~K)] = 1 = ~[~(1)] = ~[0] =1
2.6 Operator negacji
Definicja operatora negacji:
B1: Y=~p
co matematycznie oznacza:
Y=1 <=> ~p=1
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników na przeciwne (tu ich nie ma):
B2: ~Y=p
co matematycznie oznacza:
~Y=1 <=> p=1
Stąd mamy definicję operatora negacji w układzie równań logicznych:
B1: Y=~p
B2: ~Y=p
Tabela zero-jedynkowa operatora negacji:
Kod: |
Definicja |co matematycznie |Definicje zero-jedynkowe
symboliczna |oznacza |dla Y=~p |dla ~Y=p
| |~p Y=~p | p ~Y=p
B1: Y=~p | Y=1<=>~p=1 | 1 =1 | 0 =0
B2: ~Y= p |~Y=1<=> p=1 | 0 =0 | 1 =1
1 2 3 4 5 6
|
Dla kodowania definicji symbolicznej Bx12 z punktem odniesienia ustawionym na zdaniu B1 otrzymujemy zero-jedynkową definicję operatora negacji w logice dodatniej (bo Y) w obszarze Bx34.
B1: Y=~p
co matematycznie oznacza:
Y=1 <=>~p=1
stąd:
Y=1, ~Y=0
~p=1, p=0
Dla kodowania definicji symbolicznej Bx12 z punktem odniesienia ustawionym na zdaniu B2 otrzymujemy zero-jedynkową definicję operatora negacji w logice ujemnej (bo ~Y) w obszarze Bx56.
B2: ~Y=p
co matematycznie oznacza:
~Y=1 <=> p=1
stąd:
~Y=1, Y=0
p=1, ~p=0
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y):
Logika dodatnia to zanegowana logika ujemna
Y = ~(~Y)
Podstawiając B1 i B2 mamy zdanie tożsame do B1:
B3: Y = ~p = ~(p)
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y):
Logika ujemna to zanegowana logika dodatnia
~Y = ~(Y)
Podstawiając B2 i B1 mamy zdanie tożsame do B2:
B4: ~Y = p = ~(~p)
Stąd mamy:
Prawo podwójnego przeczenia
p=~(~p)
Przykład:
B1.
Jutro nie pójdziemy do kina
Y=~K
co matematycznie oznacza:
Y=1 <=> ~K=1
Prawdą jest (=1), że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro nie pójdziemy do kina (~K=1)
Synek (lat 5):
… tata, a kiedy skłamiesz?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników (tu ich nie ma):
~Y=K
B2.
Skłamię (~Y) wtedy i tylko wtedy gdy jutro pójdziemy do kina (K)
~Y=K
co matematycznie oznacza:
~Y=1 <=> K=1
Prawdą jest (=1), że skłamię (~Y) wtedy i tylko wtedy gdy jutro pójdziemy do kina (K=1)
Synek:
Tata, a czy może się zdarzyć że jutro nie pójdziemy do kina?
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y):
Y=~(~Y)
Podstawiając B1 i B2 mamy zdanie tożsame do B1:
Y = ~K = ~(K)
Tata:
B3.
Nie może się zdarzyć ~(…), że jutro pójdziemy do kina (K)
Y = ~K = ~(K)
co matematycznie oznacza:
Y=1 <=> ~K=1
Punktem odniesienia jest tu logika dodatnia (bo Y) i sygnał ~K.
W zdaniu B3 musimy odtworzyć sygnał odniesienia ~K korzystając z prawa podwójnego przeczenia:
K=~(~K)
Nasze równanie B3 przybiera postać potrzebną do wartościowania dla ~K=1:
B3: Y = ~K = ~[~(~K)] = 1 = ~[~(1)] = ~[0] =1
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y):
~Y = ~(Y)
Podstawiając B2 i B1 otrzymujemy zdanie tożsame do B2:
~Y = K = ~(~K)
B4.
Skłamię (~Y) wtedy i tylko wtedy gdy nie zdarzy się ~(…), że jutro nie pójdziemy do kina (~K)
~Y= K=~(~K)
co matematycznie oznacza:
~Y=1 <=> K=1
Oczywiście punktem odniesienia jest tu logika ujemna (bo ~Y) i sygnał K.
Stąd wartościowanie zdania B4 dla sygnału odniesienia K=1:
Y = K = ~(~K) = 1 = ~[~(1)] = ~[0] = 1
2.7 Równanie ogólne dla operatorów transmisji i negacji
Równanie ogólne logiczne dla operatorów transmisji i negacji:
Kod: |
Definicja symboliczna operatora transmisji Y=p ## Definicja symboliczna operatora negacji Y=~p
A1: Y=p ## B1: Y=~p
… kiedy skłamię? ## … a kiedy skłamię?
Przejście do logiki ujemnej (bo ~Y) ## Przejście do logiki ujemnej (bo ~Y)
poprzez negację zmiennych ## poprzez negację zmiennych
A2: ~Y=~p ## B2: ~Y=p
|
W operatorze transmisji zachodzą 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 mamy zdanie tożsame do A1:
A3: Y = p = ~(~p)
Stąd mamy:
Prawo podwójnego przeczenia
p=~(~p)
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 mamy zdanie tożsame do A2:
A4: ~Y = ~p = ~(p)
W operatorze negatora zachodzą 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 mamy zdanie tożsame do B1:
B3: Y = ~p = ~(p)
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 mamy zdanie tożsame do B2:
B4: ~Y = p = ~(~p)
stąd mamy:
Prawo podwójnego przeczenia:
p=~(~p)
Zauważmy, że miedzy operatorem transmisji a operatorem negacji 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
B2: ~Y=p
albo po przekątnej B1-A2:
B1: Y=~p
A2: ~Y=~p
Doskonale widać, że w obu przypadkach nie zachodzi prawo przejścia do logiki przeciwnej.
Wniosek:
Operator transmisji i operator negacji to dwa izolowane układy logiczne pomiędzy którymi nie zachodzą żadne tożsamości matematyczne. Sygnały Y i p z operatora transmisji nie mają nic wspólnego z sygnałami Y i p z operatora negacji. Pod parametr p w obu operatorach możemy sobie podstawiać co nam dusza zagra, w szczególności parametr p może być identyczny w obu operatorach, to bez znaczenia.
Identyczne równania ogólne obowiązywać będą w pozostałych symetrycznych operatorach, co za chwilę zobaczymy.
Ostatnio zmieniony przez rafal3006 dnia Czw 6:56, 07 Lis 2013, w całości zmieniany 117 razy
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rafal3006
Opiekun Forum Kubusia
Dołączył: 30 Kwi 2006
Posty: 35973
Przeczytał: 14 tematów
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Czw 20:54, 15 Sie 2013 Temat postu: |
|
|
3.0 Rachunek zero-jedynkowy
Definicje podstawowe.
Zmienna binarna:
Zmienna mogąca przyjmować w osi czasu wyłącznie dwie wartości 0 albo 1
Przykłady:
p, q, ~r
Funkcja logiczna:
Funkcja przyjmująca w osi czasu wyłącznie dwie wartości 0 albo 1 w zależności od aktualnego stanu zmiennych binarnych i użytego operatora logicznego.
Przykłady funkcji logicznych:
Y=p*q+~r
p=>q
gdzie:
„*”, „+”, => - operatory logiczne
Y, p=>q - funkcje logiczne
Funkcja logiczna w operatorach OR i AND:
Funkcja logiczna (Y - wyjście cyfrowe w układzie logicznym) to funkcja n-zmiennych binarnych połączonych spójnikami „i”(*) albo „lub”(+) mogąca w osi czasu przyjmować wyłącznie 0 albo 1 w zależności od aktualnej wartości wejściowych zmiennych binarnych.
Y - funkcja logiczna
Przykład:
Y=p*q+p*~q+~p*q
Definicja logiki dodatniej i ujemnej w operatorach OR i AND:
Funkcja logiczna Y zapisana jest w logice dodatniej wtedy i tylko wtedy gdy nie jest zanegowana.
Y=p+q - logika dodatnia bo Y
~Y=~p*~q - logika ujemna bo ~Y
Fundamentem rachunku zero-jedynkowego są maszynowe definicje dwuargumentowych operatorów logicznych (hardware). Nie interesuje nas tu znaczenie zer i jedynek wewnątrz jakiegokolwiek operatora logicznego. Symboliczne prawa algebry Boole’a (równania algebry Boole’a) zapisane są w nagłówkach porównywanych tabel zero-jedynkowych i wynikają z tożsamości odpowiednich kolumn wynikowych.
Możliwe są też symboliczne definicje operatorów logicznych (software), inne niż definicje maszynowe, gdzie znaczenie zer i jedynek wewnątrz operatora logicznego ma kluczowe znaczenie. W rachunku zero-jedynkowym definicje symboliczne nie są używane, poznamy je przy okazji tworzenia równań algebry Boole’a dla dowolnej tabeli zero-jedynkowej.
Kluczowym w algebrze Kubusia jest rozróżnianie maszynowych definicji operatorów logicznych (zero-jedynkowych) używanych wyłącznie w rachunku zero-jedynkowym, od definicji symbolicznych opisujących dowolne tabele zero-jedynkowe (w tym tabele operatorów) równaniami algebry Boole’a, używanych w naturalnej logice człowieka.
W symbolicznej algebrze Kubusia dowolną linię tabeli zero-jedynkowej opisuje unikalne i niepowtarzalne równanie algebry Boole’a. Wynika z tego, że każda linia tabeli zero-jedynkowej to niezależne zdanie zapisane równaniem algebry Boole’a.
3.1 Operatory dwuargumentowe
Maszynowa definicja operatora logicznego (hardware):
Operator logiczny to odpowiedź układu na wszystkie możliwe wymuszenia 0 i 1 na wejściu układu.
Operator logiczny to kompletna kolumna wynikowa Y będąca odpowiedzią na wszystkie możliwe wymuszenia 0 i 1 na wejściu układu. Pojedyńcze linie tabeli zero-jedynkowej nie są operatorami logicznymi.
Abstrakcyjna definicja operatora dwuargumentowego:
Operator dwuargumentowy to czarna skrzynka o dwóch wejściach p i q oraz tylko jednym wyjściu Y.
Na wejściach p i q wymuszamy wszystkie możliwe stany 0 i 1 zapisując odpowiedzi na wyjściu Y.
Ogólna definicja operatora dwuargumentowego:
Kod: |
p q Y=?
1 1 =x
1 0 =x
0 1 =x
0 0 =x
|
Jak widzimy przy dwóch wejściach p i q możemy zdefiniować 16 (2^4) różnych stanów na wyjściu Y, czyli 16 różnych na mocy definicji operatorów logicznych.
Aksjomat to założenie które przyjmuje się bez dowodu.
Aksjomatyka technicznej algebry Boole’a to po prostu wszystkie możliwe zero-jedynkowe definicje operatorów logicznych plus banalny rachunek zero-jedynkowy.
Kod: |
p q OR NOR AND NAND <=> XOR => N(=>) ~> N(~>) ~~> N(~~>) P NP Q NQ
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1
0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0
0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1
|
Operator logiczny to kompletna wynikowa kolumna będąca odpowiedzią na wszystkie możliwe wymuszenia na wejściach p i q.
Operatory logiczne możemy podzielić na operatory w logice dodatniej i operatory w logice ujemnej:
Kod: |
Logika dodatnia Logika ujemna
OR NOR
AND NAND
<=> XOR
=> N(=>)
~> N(~>)
~~> N(~~>)
P NP
Q NQ
|
Wszystkich możliwych operatorów logicznych dwuargumentowych jest 16. Za operatory dodatnie przyjęto te, które człowiek używa w naturalnym języku mówionym, w swojej naturalnej logice.
Operator ujemny to zanegowany operator dodatni, co doskonale widać w powyższej tabeli.
Kod: |
Definicje operatorów ujemnych:
pNORq = ~(p+q)
pNANDq = ~(p*q)
pXORq = ~(p<=>q)
pN(=>)q = ~(p=>q)
pN(~>)q = ~(p~>q)
p~~>q = ~(p~~>q)
pNPq = ~(pPq)
pNQq = ~(pQq)
|
Komentarz:
Kolumna pNORq to zanegowana kolumna OR:
Y=p+q
Stąd:
~Y = ~(p+q)
pNORq = ~(p+q)
itd
W języku mówionym operatory ujemne nie są używane, ponieważ łatwo je zastąpić operatorami dodatnimi plus negacją co widać w powyższej tabeli.
3.2 Maszynowe definicje operatorów logicznych
Maszynowa definicja operatora logicznego (techniczna algebra Boole’a):
Operator logiczny to odpowiedź układu na wszystkie możliwe stany 0 i 1 na wejściach p i q
Operator logiczny to kompletna kolumna wynikowa Y będąca odpowiedzią na wszystkie możliwe wymuszenia 0 i 1 na wejściu układu. Pojedyńcze linie tabeli zero-jedynkowej nie są operatorami logicznymi.
Maszynowa (zero-jedynkowa) definicja dowolnego operatora jest tożsama ze spójnikiem użytym w nagłówku tej definicji. Oznacza to, że w tabeli zero-jedynkowej używamy identycznego znaczka z nagłówka tabeli we wszystkich kombinacjach zer i jedynek na wejściach p i q operatora logicznego.
Zauważmy, że dzięki definicji operatora maszynowego jak wyżej, dysponując zaledwie jedną linią dowolnego operatora z łatwością odtworzymy kompletny operator logiczny.
Przykład:
1+1 =1
Jest oczywistym, że jest to pierwsza linia kodu maszynowego operatora OR. Powyższy zapis to fragment operatora OR a nie jego kompletny zapis, kompletny zapis musi zawierać wszystkie cztery linie jak niżej.
Maszynowa 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
|
Abstrakcyjnie maszynowy operator logiczny to czarna skrzynka o dwóch kabelkach wejściowych p i q oraz jednym wyjściu Y. Fizyczna budowa operatora logicznego jest kompletnie nieistotna, w skrajnym przypadku może to być dowolna ilość układów cyfrowych np. milion. Aby zbadać z jakim operatorem logicznym mamy do czynienia nie musimy wnikać w wewnętrzną budowę układu logicznego. Wystarczy że wykonamy zaledwie cztery kroki A, B, C i D podając na wejścia p i q wszystkie możliwe kombinacje 0 i 1 i zapisując odpowiedzi układu na wyjściu Y.
Kolejność wierszy w tabeli zero-jedynkowej nie ma żadnego znaczenia, możemy je dowolnie przestawiać. Istotne jest aby dowolnemu, uporządkowanemu wymuszeniu na wejściach p i q odpowiadała zawsze ta sama cyferka 0 albo 1.
W najpopularniejszej technice TTL cyfry 0 i 1 to po prostu napięcia które łatwo zmierzyć woltomierzem o znaczeniu:
0 = 0,0V-0,4V
1 = 2,4V-5.0V
Możliwe są też bramki świetlne, biologiczne, mechaniczne etc. Z punktu widzenia matematyki to kompletnie bez znaczenia.
Przykłady maszynowych definicji operatorów logicznych.
Maszynowa (zero-jedynkowa) definicja operatora OR:
Kod: |
Tabela 1
p q Y=p+q
A: 1+1 =1
B: 1+0 =1
C: 0+1 =1
D: 0+0 =0
1 2 3
|
Maszynowa definicja spójnika „lub”(+):
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Inaczej:
Y=0
Wersja najprostsza do zapamiętania:
Y=p+q
Y=0 <=> p=0 i q=0
inaczej:
Y=1
W rachunku zero-jedynkowym obowiązuje maszynowa definicja spójnika „lub”(+) który jest tożsamy z definicją zero-jedynkową operatora OR.
Podstawowe prawa zero-jedynkowe algebry Boole’a wynikłe z definicji operatora OR, konieczne i wystarczające dla potrzeb rachunku zero-jedynkowego:
1+1=1
1+0=1
0+1=1
0+0=0
Symboliczna definicja operatora OR którą niebawem poznamy:
Y=p+q
~Y=~p*~q
Maszynowa (zero-jedynkowa) definicja operatora AND:
Kod: |
Tabela 2
p q Y=p*q
A: 1*1 =1
B: 1*0 =0
C: 0*1 =0
D: 0*0 =0
1 2 3
|
Maszynowa definicja spójnika „i”(*):
Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Inaczej:
Y=0
Maszynowa definicja spójnika „i”(*) jest jednocześnie najprostszą definicją do zapamiętania.
W rachunku zero-jedynkowym obowiązuje maszynowa definicja spójnika „i”(*) który jest tożsamy z definicją zero-jedynkową operatora AND.
Podstawowe prawa zero-jedynkowe algebry Boole’a wynikłe z definicji operatora AND, konieczne i wystarczające dla potrzeb rachunku zero-jedynkowego:
1*1=1
1*0=1
0*1=1
0*0=0
Symboliczna definicja operatora AND, którą wkrótce poznamy:
Y=p*q
~Y=~p+~q
Maszynowa definicja implikacji prostej =>:
Kod: |
Tabela 3
p q Y=p=>q
1=> 1 =1
1=> 0 =0
0=> 0 =1
0=> 1 =1
|
Najprostsza definicja znaczka => do zapamiętania to:
p=>q=0 <=> p=1 i q=0
inaczej:
p=>q =1
W rachunku zero-jedynkowym obowiązuje maszynowa definicja warunku wystarczającego =>, który jest tożsamy z definicją zero-jedynkową operatora implikacji prostej.
Symboliczna definicja implikacji prostej, którą niebawem poznamy:
p=>q = ~p~>~q
Maszynowa definicja implikacji odwrotnej ~>:
Kod: |
Tabela 4
p q p~>q
1~> 1 =1
1~> 0 =1
0~> 0 =1
0~> 1 =0
|
Najprostsza definicja znaczka ~> do zapamiętania:
p~>q =0 <=> p=0 i q=1
inaczej:
p~>q=1
W rachunku zero-jedynkowym obowiązuje maszynowa definicja warunku koniecznego ~>, który jest tożsamy z definicją zero-jedynkową operatora implikacji odwrotnej.
Symboliczna definicja operatora implikacji odwrotnej, którą wkrótce poznamy:
p~>q = ~p=>~q
Maszynowa definicja równoważności <=>:
Kod: |
Tabela 5
p q Y=p<=>q
1<=> 1 =1
1<=> 0 =0
0<=> 0 =1
0<=> 1 =0
|
Najprostsza definicja maszynowa do zapamiętania:
p<=>q =1 <=> p=1 i q=1
lub
p<=>q =1 <=> p=0 i q=0
Inaczej:
p<=>q =0
Symboliczna definicja równoważności, którą niebawem poznamy:
p<=>q = (p=>q)*(~p=>~q)
Maszynowa definicja operatora NP:
Kod: |
Tabela 6
p q pNPq
1 NP 1 =0
1 NP 0 =0
0 NP 0 =1
0 NP 1 =1
|
Najprostsza definicja znaczka NP do zapamiętania:
pNPq = ~p
Wejście q jest bez żadnego znaczenia, kabelek q w środku „czarnej skrzynki” nigdzie nie jest podłączony (wisi w powietrzu).
itd
3.3 Prawa przemienności argumentów w operatorach OR i AND
Maszynowa 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
|
Definicja spójnika „lub”(+):
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Inaczej:
Y=0
W rachunku zero-jedynkowym spójnik „lub”(+) jest tożsamy z definicją operatora logicznego OR.
Dowód przemienności argumentów w spójniku „lub”(+):
Kod: |
p q Y=p+q q p Y=q+p
A: 1+1 =1 1+1 =1
B: 1+0 =1 0+1 =1
C. 0+1 =1 1+0 =1
D: 0+0 =0 0+0 =0
1 2 3 4 5 6
|
Definicją jest tu obszar ABCD123:
Każdej, uporządkowanej parze cyfr (0,1) odpowiada jednoznaczna i zawsze ta sama wartość funkcji Y.
Tożsamość kompletnych kolumn wynikowych 3 i 6 jest dowodem przemienności argumentów w operatorze OR.
Przykład:
1.
Jutro pójdę do kina lub do teatru
Y=K+T
2.
Jutro pójdę do teatru lub do kina
Y=T+K
Zdania 1 i 2 są matematycznie tożsame, zachodzi przemienność argumentów.
K+T = T+K
Maszynowa 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
|
Definicja spójnika „i”(*):
Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Inaczej:
Y=0
W rachunku zero-jedynkowym spójnik „i”(*) jest tożsamy z definicją operatora logicznego AND.
Dowód przemienności argumentów w spójniku „i”(*):
Kod: |
p*q Y=p*q q*p Y=q*p
A: 1*1 =1 1*1 =1
B: 1*0 =0 0*1 =0
C. 0*1 =0 1*0 =0
D: 0*0 =0 0*0 =0
1 2 3 4 5 6
|
Definicją jest tu obszar ABCD123:
Każdej, uporządkowanej parze cyfr (0,1) odpowiada jednoznaczna i zawsze ta sama wartość funkcji Y.
Tożsamość kolumn wynikowych 3 i 6 jest dowodem przemienności argumentów w operatorze OR
Przykład:
1.
Jutro pójdę do kina i do teatru
Y=K*T
2.
Jutro pójdę do teatru i do kina
Y=T*K
Zdania 1 i 2 są tożsame, zachodzi przemienność argumentów
K*T = T*K
3.4 Prawo De Morgana dla spójnika „lub”(+)
Prawo De Morgana dla spójnika „lub”(+):
Y = p+q = ~(~p*~q)
Dowód formalny w rachunku zero-jedynkowym:
Kod: |
Tabela 1
p+q Y=p+q ~Y=~(p+q) ~p*~q ~Y=~p*~q Y=~(~p*~q) Y+~Y Y*~Y
A: 1+1 =1 =0 0* 0 =0 =1 =1 =0
B: 1+0 =1 =0 0* 1 =0 =1 =1 =0
C: 0+1 =1 =0 1* 0 =0 =1 =1 =0
D: 0+0 =0 =1 1* 1 =1 =0 =1 =0
1 2 3 4 5 6 7 8 9 0
|
Prawo De Morgana w logice dodatniej (bo Y):
Y=Y
A1.
Y = p+q = ~(~p*~q)
Identyczne kolumny wynikowe ABCD3 i ABCD8
cnd
Prawo De Morgana w logice ujemnej (bo ~Y):
~Y=~Y
A2.
~Y = ~(p+q) = ~p*~q
Identyczne kolumny wynikowe ABCD4 i ABCD7
cnd
Z powyższego wynika, że tożsamości w równaniach logicznych możemy wyłącznie dwustronnie negować i korzystać z prawa podwójnego przeczenia. Nie ma tu czegoś takiego jak przeniesienie zmiennej na drugą stronę z przeciwnym znakiem, znane nam z matematyki klasycznej.
Oczywiście matematycznie zachodzi:
Y # ~Y
A1: Y = p+q = ~(~p*~q) # A2: ~Y = ~(p+q) = ~p*~q
gdzie:
# - różne, w znaczeniu kolumny wynikowe są różne
Bezpośrednio z A1 i A2 wynika prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
A1: Y=p+q - funkcja logiczna w logice dodatniej (bo Y)
Negujemy zmienne i wymieniamy spójniki na przeciwne
A2: ~Y=~p*~q - funkcja logiczna w logice ujemnej (bo ~Y)
Równania A1 i A2 to symboliczna definicja operatora OR:
A1: Y=p+q
A2: ~Y=~p*~q
Dowód formalny wynika z algorytmu tworzenia równań algebry Boole’a dla dowolnej tabeli zero-jedynkowej, który wkrótce poznamy.
Twierdzenie:
Prawo De Morgana zachodzi wtedy i tylko wtedy, gdy zachodzi prawo przejścia do logiki przeciwnej.
Prawo De Morgana mówi o związku logiki dodatniej (bo Y) z logiką ujemną (bo ~Y).
Logika dodatnia Y to zanegowana logika ujemna ~Y
Y = ~(~Y)
Logika ujemna ~Y to zanegowana logika dodatnia Y
~Y = ~(Y)
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)
Dowodem formalnym w tabeli zero-jedynkowej jest tu tożsamość kolumn wynikowych ABCD3 i ABCD8
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)
Dowodem formalnym w tabeli zero-jedynkowej jest tu tożsamość kolumn wynikowych ABCD4 i ABCD7.
Zauważmy, że prawa De Morgana zachodzą zarówno w logice dodatniej jak i ujemnej, można je zatem stosować w całej logice matematycznej bez żadnych ograniczeń. Nieistotne jest, czy aktualnie jesteśmy w logice dodatniej (bo Y), czy w ujemnej (bo ~Y).
Prawo przejścia do logiki przeciwnej wymusza spełnienie definicji dziedziny zarówno po stronie wejścia p i q jak i wyjścia Y.
Definicja dziedziny:
Kolumna wynikowa ~Y jest dopełnieniem do dziedziny dla kolumny Y
Y+~Y=1
Y*~Y=0
Doskonale widać, że nasze funkcje logiczne spełniają definicję dziedziny po stronie wyjścia Y, czego dowód mamy w dwóch ostatnich kolumnach ABCD9 i ABCD0.
Po stronie wejścia p i q także spełniona jest definicja dziedziny.
Kolumny ABCD1 i ABCD5:
p+~p=1
p*~p=0
Kolumny ABCD2 i ABCD6:
q+~q =1
q*~q =0
Zauważmy, ze kolumna ABCD4 to de facto definicja operatora NOR w odniesieniu do sygnałów p i q:
pNORq = ~(p+q)
Czyli zamiast wymawiać zdanie:
Nie może się zdarzyć ~(…), że zajdzie p lub zajdzie q
~(p+q)
Możemy powiedzieć:
Zajdzie p NOR q
pNORq
Natomiast kolumna ABCD8 to de facto definicja operatora NAND w odniesieniu do sygnałów ~p i ~q:
~pNAND~q = ~(~p*~q)
Zamiast wymawiać zdanie:
Nie może się zdarzyć ~(…) że zajdzie ~p i ~q
~(~p*~q)
Możemy powiedzieć:
Zajdzie ~p NOR ~q
~pNOR~q
W naturalnej logice człowieka operatory ujemne, NOR i NAND nie są używane bo można je w trywialny sposób zastąpić spójnikami „lub”(+) i „i”(*) zrozumiałymi dla każdego 5-cio latka, co pokazano wyżej. Żaden normalny człowiek nie zrozumie zdania typu pNORq, czy pNANDq.
3.5 Prawo De Morgana dla spójnika „i”(*)
Prawo De Morgana dla spójnika „i”(*):
Y = p*q = ~(~p+~q)
Dowód formalny w rachunku zero-jedynkowym:
Kod: |
Tabela 2
p*q Y=p*q ~Y=~(p*q) ~p+~q ~Y=~p+~q Y=~(~p+~q) Y+~Y Y*~Y
A: 1*1 =1 =0 0+ 0 =0 =1 =1 =0
B: 1*0 =0 =1 0+ 1 =1 =0 =1 =0
C: 0*1 =0 =1 1+ 0 =1 =0 =1 =0
D: 0*0 =0 =1 1+ 1 =1 =0 =1 =0
1 2 3 4 5 6 7 8 9 0
|
Prawo De Morgana w logice dodatniej (bo Y):
Y=Y
B1.
Y = p*q = ~(~p+~q)
Identyczne kolumny wynikowe ABCD3 i ABCD8
cnd
Prawo De Morgana w logice ujemnej (bo ~Y):
~Y=~Y
B2.
~Y = ~(p*q) = ~p+~q
Identyczne kolumny wynikowe ABCD4 i ABCD7
cnd
Z powyższego wynika, że tożsamości w równaniach logicznych możemy wyłącznie dwustronnie negować i korzystać z prawa podwójnego przeczenia. Nie ma tu czegoś takiego jak przeniesienie zmiennej na drugą stronę z przeciwnym znakiem, znane nam z matematyki klasycznej.
Oczywiście matematycznie zachodzi:
Y # ~Y
B1: Y = p*q = ~(~p+~q) # B2: ~Y = ~(p*q) = ~p+~q
gdzie:
# - różne, w znaczeniu kolumny wynikowe są różne
Bezpośrednio z powyższego wynika prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
B1: Y=p*q - funkcja logiczna w logice dodatniej (bo Y)
Negujemy zmienne i wymieniamy spójniki
B2: ~Y=~p+~q - funkcja logiczna w logice ujemnej (bo ~Y)
Równania B1 i B2 to symboliczna definicja operatora AND:
B1: Y=p*q
B2: ~Y=~p+~q
Dowód formalny wynika z algorytmu tworzenia równań algebry Boole’a dla dowolnej tabeli zero-jedynkowej, który wkrótce poznamy.
Twierdzenie:
Prawo De Morgana zachodzi wtedy i tylko wtedy, gdy zachodzi prawo przejścia do logiki przeciwnej.
Prawo De Morgana mówi o związku logiki dodatniej (bo Y) z logiką ujemną (bo ~Y).
Logika dodatnia Y to zanegowana logika ujemna ~Y
Y = ~(~Y)
Logika ujemna ~Y to zanegowana logika dodatnia Y
~Y = ~(Y)
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)
Dowodem formalnym w tabeli zero-jedynkowej jest tu tożsamość kolumn wynikowych ABCD3 i ABCD8
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)
Dowodem formalnym w tabeli zero-jedynkowej jest tu tożsamość kolumn wynikowych ABCD4 i ABCD7.
Zauważmy, że prawa De Morgana zachodzą zarówno w logice dodatniej jak i ujemnej, można je zatem stosować w całej logice matematycznej bez żadnych ograniczeń. Nieistotne jest, czy aktualnie jesteśmy w logice dodatniej (bo Y), czy ujemnej (bo ~Y).
Prawo przejścia do logiki przeciwnej wymusza spełnienie definicji dziedziny zarówno po stronie wejścia p i q jak i wyjścia Y.
Definicja dziedziny:
Kolumna wynikowa ~Y jest dopełnieniem do dziedziny dla kolumny Y
Y+~Y=1
Y*~Y=0
Doskonale widać, że nasze funkcje logiczne spełniają definicję dziedziny po stronie wyjścia Y, czego dowód mamy w dwóch ostatnich kolumnach ABCD9 i ABCD0.
Po stronie wejścia p i q także spełniona jest definicja dziedziny.
Kolumny ABCD1 i ABCD5:
p+~p=1
p*~p=0
Kolumny ABCD2 i ABCD6:
q+~q =1
q*~q =0
3.6 Równanie ogólne dla operatorów OR i AND
Równanie ogólne dla operatorów OR i AND:
Kod: |
Definicja symboliczna operatora OR ## Definicja symboliczna operatora AND
A1: Y=p+q ## B1: Y=p*q
Przejście do logiki ujemnej poprzez ## Przejście do logiki ujemnej poprzez
negację zmiennych i wymianę spójników ## negację zmiennych i wymianę spójników
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
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)
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
3.7 Związek rachunku zero-jedynkowego z logiką człowieka
Rachunek zero-jedynkowy to czysto mechaniczne przemiatanie tabel zero-jedynkowych, pozornie kompletnie bez celu. Prawa logiczne, w tym naturalna logika człowieka wyskakują nam w prawidłowo opisanych nagłówkach tabelach zero-jedynkowych. Bardzo łatwo napisać program komputerowy, który wynajduje nam nieskończoną ilość praw logicznych metodą na chybił trafił, bez konieczności wnikania o co tu chodzi. Aktualnie człowiek nie rozumie praw logicznych wynikłych z rachunku zero-jedynkowego bo nie zna poprawnej techniki opisywania tabel zero-jedynkowych, nie odróżnia logiki dodatniej (bo Y) od logiki ujemnej (bo ~Y).
Dowód:
Wedle logiki matematycznej Ziemian to jest jedynie słuszne prawo De Morgana:
~Y = ~(p+q) = ~p*~q
... a to co niżej nie jest już prawem De Morgana:
Y = p+q = ~(~p*~q)
W algebrze Kubusia oba te prawa są prawami De Morgana i są poprawne zawsze, niezależnie od tego czy aktualnie znajdujemy się w logice dodatniej (bo Y), czy też w logice ujemnej (bo ~Y).
Najważniejszym prawem logiki matematycznej jest prawo przejścia do logiki przeciwnej o którym człowiek nie ma najmniejszego pojęcia:
Negujemy zmienne i wymieniamy spójniki na przeciwne
Przykład:
Y = p*~q
Przejście do logiki przeciwnej:
~Y = ~p+q
Równanie ogólne dla operatorów OR i AND wynikłe bezpośrednio z rachunku zero-jedynkowego:
Kod: |
Definicja symboliczna operatora OR ## Definicja symboliczna operatora AND
A1: Y=p+q ## B1: Y=p*q
Przejście do logiki ujemnej poprzez ## Przejście do logiki ujemnej poprzez
negację zmiennych i wymianę spójników ## negację zmiennych i wymianę spójników
A2: ~Y=~p*~q ## B2: ~Y=~p+~q
|
gdzie:
## - różne na mocy definicji
Twierdzenie o wspólnym punkcie odniesienia w równaniach logicznych:
W dowolnym równaniu logicznym, w tym w równaniu opisującym symboliczną definicję dowolnego operatora wszystkie zmienne sprowadzone są do wspólnego punktu odniesienia, w naturalnej logice człowieka do jedynek.
Przykład:
Y = p*(q+~r)
Matematycznie, na mocy powyższego twierdzenia równanie to oznacza:
Y=1 <=> p=1 i (q=1 lub ~r=1)
Dowód tego twierdzenia wymaga umiejętności tworzenia równań logicznych dla dowolnej tabeli zero-jedynkowej z czym niedługo się zapoznamy, na razie przyjmujemy na wiarę.
Znaczenie kodu maszynowego 0 i 1 w naturalnej logice człowieka:
1 - prawda
0 - fałsz
Znaczenie symboli w naturalnej logice człowieka:
Y - dotrzymam słowa (prawda)
~Y - skłamię (fałsz)
Wszystkie możliwe związki symboli z kodem maszynowym to:
1.
Dotrzymam słowa (wystąpi prawda):
A: Y=1
B: ~Y=0
2.
Skłamię (wystąpi fałsz):
C: ~Y=1
D: Y=0
Interpretacja:
A.
Dotrzymam słowa (wystąpi prawda):
Y=1
Czytamy:
Prawdą jest (=1), że dotrzymam słowa (Y)
B.
~Y=0
Czytamy:
Fałszem jest (=0) że skłamię (~Y)
C.
Skłamię (wystąpi fałsz):
~Y=1
Czytamy:
Prawdą jest (=1), że skłamię (~Y)
D.
Y=0
Czytamy:
Fałszem jest (=0) że dotrzymam słowa (Y)
Stąd:
I prawo Prosiaczka:
Prawda (=1) w logice dodatniej (bo Y) jest tożsama z fałszem (=0) w logice ujemnej (bo ~Y)
A: (Y=1) = B: (~Y=0)
II prawo Prosiaczka:
Prawda (=1) w logice ujemnej (~Y) jest tożsama z fałszem (=0) w logice dodatniej (bo Y)
C: (~Y=1) = D: (Y=0)
Doskonale widać, że w całym obszarze logiki matematycznej mamy maszynową świętość:
1 = prawda
0 = fałsz
Niezależnie od logiki w której aktualnie się znajdujemy.
Zauważmy, że skłamać możemy wyłącznie w świecie niezdeterminowanym.
Przykład:
W.
Jutro pójdę do kina
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników (tu ich nie ma):
~Y=~K
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
~Y=~K
co matematycznie oznacza:
~Y=1 <=> ~K=1
Czytamy:
Prawdą jest (=1), że skłamię (~Y) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1)
W świecie zdeterminowanym nie mamy szans na kłamstwo:
W.
Wczoraj byłem w kinie
Y=K
co matematycznie oznacza:
Y=1 <=> K=1
Nie ma tu sensu pytanie:
… a kiedy skłamałem?
Przejście do logiki ujemnej poprzez negację zmiennych
~Y=~K
Skłamałem (~Y=1 ) wtedy i tylko wtedy gdy wczoraj nie byłem w kinie (~K=1)
~Y=1 <=> ~K=1
Zauważmy, że w świecie zdeterminowanym nie mamy żadnych szans na ustawienie zmiennej z prawej strony na wartość logiczną jeden:
~K=1 - wczoraj nie byłem w kinie
Czasu nie da się cofnąć.
Jeśli wczoraj byłem w kinie to nie możemy zmienić przeszłości na:
~K=1 - wczoraj nie byłem w kinie
Zawsze będzie:
~K=0
co na mocy prawa Prosiaczka jest tożsame z:
K=1 - prawdą jest (=1) że wczoraj byłem w kinie
Nigdy nie ustawimy:
~Y=1 - nie mamy zatem szans na kłamstwo
Zdanie W jest tu zdaniem zawsze prawdziwym, nie ma możliwości aby kiedykolwiek było fałszywe.
Aktualna logika człowieka jest „logiką” deterministyczną, gdzie musimy znać z góry wartości logiczne wszystkich zmiennych. Oczywiście jak znamy z góry wartości logiczne wszystkich zmiennych to nie ma szans na logikę ujemną, nie ma szans na jakakolwiek sensowną logikę, co udowodniono wyżej.
W świecie zdeterminowanym nie ma żadnej logiki, wiemy absolutnie wszystko od minus do plus nieskończoności. W świecie deterministycznym Jaś i Zuzia nie są w stanie zaprojektować banalnego sterowania windą o którym za chwilę, bo logika deterministyczna nie widzi niczego do przodu.
Z praw Prosiaczka wynika, że w świecie niezdeterminowanym w którym zmienna binarna może przyjmować dowolne wartości logiczne, wszystkie zmienne możemy sprowadzić do wspólnego punktu odniesienia, do jedynek, dzięki czemu możemy operować równaniami algebry Boole’a a nie tabelami zero-jedynkowymi.
Wniosek:
Jak mamy wszystkie zmienne sprowadzone do jedynek to w zerach i jedynkach nie ma żadnej logiki.
Logika człowieka to równania algebry Boole’a, nigdy tabele zero-jedynkowe.
3.7.1 Sterowanie windą autorstwa 5-cio latków
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ą.
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).
Na mocy prawa Prosiaczka oraz prawa przejścia do logiki przeciwnej zachodzą tożsamości:
Linia A123 = Linia A456
Obszar BCD123 = Obszar BCD456
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.
3.7.2 Analiza zdania ze spójnikiem „lub”(+)
W rachunku zero-jedynkowym zera i jedynki nie mają żadnych znaczeń typu prawda/fałsz, są kompletnie bezpłciowe. Logika to poprawnie zbudowane nagłówki w przemiatanych tabelach zero-jedynkowych, o czym było wyżej.
Rozważmy wzorcowe zdanie ze spójnikiem „lub”(+).
A1.
Jutro pójdę do kina lub do teatru
Y=K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
Zdanie tożsame:
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub pójdę do teatru (T=1)
Y=K+T
Czytamy:
Prawdą jest (=1) że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub pójdę do teatru (T=1)
Y=K+T
Wystarczy że pójdę w jedno miejsce (np. T=1) i już dotrzymałem słowa, drugi człon jest bez znaczenia.
… a kiedy skłamię?
Przejście ze zdaniem A1 do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
A2: ~Y=~K*~T
stąd:
A2.
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 = ~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ójdę do kina (~K=1) i nie pójdę do teatru (~T=1)
~Y=~K*~T
Uwaga!
Słówko „dotrzymam słowa” jest w logice domyślne, dlatego w zdaniu A1 nie musimy go wypowiadać. Wynika z tego, że słówko „skłamię” nie jest domyślne i w zdaniu A2 musimy je wypowiedzieć, inaczej zdanie to będzie znaczyło zupełnie co innego.
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y).
Logika dodatnia to zanegowana logika ujemna
Y = ~(~Y)
Podstawiając A1 i A2 mamy prawo De Morgana dla spójnika „lub”(+) w logice dodatniej (bo Y):
Y = K+T = ~(~K*~T)
A3.
Nie może się zdarzyć ~(…), ze jutro nie pójdę do kina (~K) i nie pójdę do teatru (~T)
Y = K+T = ~(~K*~T)
Zdanie tożsame:
A3.
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy nie zdarzy się ~(…), że jutro nie pójdę do kina (~K) i nie pójdę do teatru (~T)
Y = K+T = ~(~K*~T)
Zauważmy, że zdanie A3 jest zrozumiałe dla każdego 5-cio latka jednak sprytnie uniknęliśmy tu wartościowania dla ~K i ~T.
Dlaczego?
Punktem odniesienia w zdaniu A3 jest zdanie:
A1: Y=K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
stąd:
Wartościowania dla których zdanie A3 jest prawdziwe (dotrzymam słowa) są następujące:
1.
K=1, T=0
Y = K+T = ~(~K*~T) = 1+0 = ~[~(1)*~(0)] = ~[0*1] = ~[0] =1
2.
K=0, T=1
Y = K+T = ~(~K*~T) = 0+1 = ~[~(0)*~(1)] = ~[1*0] = ~[0] =1
3.
K=1, T=1
Y=K+T = ~(~K*~T) = 1+1 = ~[~(1)*~(1)] = ~[0*0] = ~[0] =1
Doskonale widać, że matematycznie w zdaniu A3 wszystko nam się genialnie zgadza pod warunkiem że rozumiemy jak należy wartościować zdanie A3.
Dla ostatniego wartościowania które nam zostało zdanie A3 musi być fałszywe (skłamaliśmy):
4.
K=0, T=0
Y = K+T = ~(~K*~T) = 0+0 = ~[~(0)*~(0)] = ~[1*1] = ~[1] =0
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y).
Logika ujemna to zanegowana logika dodatnia
~Y=~(Y)
Podstawiając A2 i A1 mamy prawo De Morgana dla spójnika „lub”(+) w logice ujemnej (bo~ Y):
~Y = ~K*~T = ~(K+T)
A4.
Skłamię (~Y=1) wtedy i tylko wtedy gdy nie zdarzy się ~(…), ze jutro pójdę do kina (K) lub pójdę do teatru (T)
~Y = ~K*~T = ~(K+T)
Zdanie tożsame:
A4.
Prawdą jest (=1) że skłamię (~Y) wtedy i tylko wtedy gdy nie zdarzy się ~(…), że jutro pójdę do kina (K) lub pójdę do teatru (T)
~Y = ~K*~T = ~(K+T)
Punktem odniesienia w zdaniu A4 jest zdanie:
A2: ~Y=~K*~T
co matematycznie oznacza:
~Y=1 <=>~K=1 i ~T=1
stąd:
Warunkiem koniecznym dla poprawnego wartościowania zdania A4 jest sprowadzenie sygnałów wejściowych do wspólnego punktu odniesienia (~K, ~T) korzystając z prawa podwójnego przeczenia:
K= ~(~K)
T=~(~T)
Stąd nasze równanie A4 przybiera postać:
A4: ~Y = ~K*~T = ~[~(~K)+~(~T)]
Dopiero teraz możemy poprawnie wartościować zdanie A4:
1.
~K=1, ~T=1
A4: ~Y = ~K*~T = 1*1 =1
A4: ~Y = ~[~(~K)+~(~T)] = ~[~(1)+~(1)] = ~[0+0] = ~[0] = 1
Oczywiście w każdym innym przypadku zdanie A4 musi być fałszywe:
2.
~K=1, ~T=0
A4: ~Y = ~[~(~K)+~(~T)] = ~[~(1)+~(0)] = ~[0+1] = ~[1] = 0
3.
~K=0, ~T=1
A4: ~Y = ~[~(~K)+~(~T)] = ~[~(0)+~(1)] = ~[1+0] = ~[1] = 0
4.
~K=0, ~T=0
A4: ~Y = ~[~(~K)+~(~T)] = ~[~(0)+~(0)] = ~[1+1] = ~[1] = 0
cnd
3.7.3 Analiza zdania ze spójnikiem „i”(*)
Rozważmy wzorcowe zdanie ze spójnikiem „i”(*):
B1.
Jutro pójdę do kina i do teatru
Y=K*T
co matematycznie oznacza:
Y=1 <=> K=1 i T=1
Zdanie tożsame:
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) i do teatru (T=1)
Y=K*T
Czytamy:
Prawdą jest (=1), że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) i do teatru (T=1)
Y=K*T
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników w zdaniu B1:
~Y=~K+~T
stąd:
B2.
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= ~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ójdę do kina (~K=1) lub nie pójdę do teatru (~T=1)
~Y=~K+~T
Wystarczy że nie pójdę w dowolne miejsce (np. ~T=1) i już skłamałem (~Y=1), stan drugiego członu jest nieistotny.
Na mocy definicji spójnika „lub”(+) przypadki kiedy skłamię to:
1.
~K=1, ~T=0
~Y = ~K+~T = 1+0 =1
2.
~K=0, ~T=1
~Y = ~K+~T = 0+1 =1
3.
~K=1, ~T=1
~Y = ~K+~T = 1+1 =1
Ostatnia możliwa kombinacja ~K i ~T to jedyny przypadek w którym dotrzymam słowa:
4.
~K=0, ~T=0
~Y = ~K+~T =0
Patrz prawo Prosiaczka:
(~Y=0) = (Y=1)
Fałsz (=0) w logice ujemnej (bo ~Y) jest tożsamy z prawdą (=1) w logice dodatniej (bo Y)
Uwaga!
Słówko „dotrzymam słowa” jest w logice domyślne, dlatego w zdaniu B1 nie musimy go wypowiadać. Wynika z tego, że słówko „skłamię” nie jest domyślne i w zdaniu B2 musimy je wypowiedzieć (inaczej zdanie B2 będzie znaczyło zupełnie co innego).
Związek logiki dodatniej (bo Y) z logiką ujemną (bo ~Y).
Logika dodatnia to zanegowana logika ujemna
Y = ~(~Y)
Podstawiając B1 i B2 mamy prawo De Morgana dla spójnika „lub”(+) w logice dodatniej (bo Y):
Y = K*T = ~(~K+~T)
B3.
Nie może się zdarzyć ~(…), ze jutro nie pójdę do kina (~K) lub nie pójdę do teatru (~T)
Y = K*T = ~(~K+~T)
Zdanie tożsame:
B3.
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy nie zdarzy się ~(…), że jutro nie pójdę do kina (~K) lub nie pójdę do teatru (~T)
Y = K*T = ~(~K+~T)
Zauważmy, że zdanie B3 jest zrozumiałe dla każdego 5-cio latka jednak sprytnie uniknęliśmy tu wartościowania dla ~K i ~T.
Dlaczego?
Punktem odniesienia w zdaniu B3 jest zdanie:
Y=K*T
co matematycznie oznacza:
Y=1 <=> K=1 i T=1
Stąd jedyne wartościowanie dla którego zdanie B3 będzie prawdziwe jest następujące:
1.
K=1, T=1
Y = K*T = ~(~K+~T) = 1*1 = ~[~(1)+~(1)] = ~[0+0] = ~[0] =1
Oczywiście dla pozostałych wartościowań K i T zdanie B3 będzie fałszywe.
2.
K=1, T=0
Y=K*T = ~(~K+~T) = 1*0 = ~[~(1) + ~(0)] = ~[0+1] =~[1] =0
3.
K=0, T=1
Y=K*T = ~(~K+~T) = 1*0 = ~[~(0) + ~(1)] = ~[1+0] =~[1] =0
4.
K=0, T=0
Y=K*T = ~(~K+~T) = 0*0 = ~[~(0) + ~(0)] = ~[1+1] =~[1] =0
Doskonale widać, że matematycznie w zdaniu B3 wszystko nam się genialnie zgadza pod warunkiem że rozumiemy jak należy wartościować zdanie B3.
Związek logiki ujemnej (bo ~Y) z logiką dodatnią (bo Y).
Logika ujemna to zanegowana logika dodatnia
~Y=~(Y)
Podstawiając B2 i B1 mamy prawo De Morgana dla spójnika „lub”(+) w logice ujemnej (bo~ Y):
~Y = ~K+~T = ~(K*T)
B4.
Skłamię (~Y=1) wtedy i tylko wtedy gdy nie zdarzy się ~(…), ze jutro pójdę do kina (K) i pójdę do teatru (T)
~Y = ~K+~T = ~(K*T)
Zdanie tożsame:
B4.
Prawdą jest (=1) że skłamię (~Y) wtedy i tylko wtedy gdy nie zdarzy się ~(…), że jutro pójdę do kina (K) i pójdę do teatru (T)
~Y = ~K+~T = ~(K*T)
Punktem odniesienia w zdaniu B4 jest zdanie:
~Y=~K+~T
co matematycznie oznacza:
~Y=1 <=>~K=1 lub ~T=1
stąd:
Warunkiem koniecznym dla poprawnego wartościowania zdania A4 jest sprowadzenie sygnałów wejściowych do wspólnego punktu odniesienia (~K, ~T) korzystając z prawa podwójnego przeczenia:
K= ~(~K)
T=~(~T)
Stąd nasze równanie B4 przybiera postać:
B4: ~Y = ~K+~T = ~[~(~K)*~(~T)]
Dopiero teraz możemy poprawnie wartościować zdanie B4:
1.
~K=1, ~T=1
B4: ~Y = ~K+~T = 1+1 =1
B4: ~Y = ~[~(~K)*~(~T)] = ~[~(1)*~(1)] = ~[0*0] = ~[0] = 1
2.
~K=1, ~T=0
B4: ~Y = ~K+~T = 1+0 =1
B4: ~Y = ~[~(~K)*~(~T)] = ~[~(1)*~(0)] = ~[0*1] = ~[0] = 1
3.
~K=0, ~T=1
B4: ~Y = ~K+~T = 0+1 =1
B4: ~Y = ~[~(~K)*~(~T)] = ~[~(0)*~(1)] = ~[1*0] = ~[0] = 1
Oczywiście w ostatnim możliwym przypadku zdanie B4 musi być fałszywe:
4.
~K=0, ~T=0
B4: ~Y = ~K+~T = 0+0 =0
B4: ~Y = ~[~(~K)*~(~T)] = ~[~(0)*~(0)] = ~[1*1] = ~[1] = 0
W ten oto sposób, wyprzedzając czas, poznaliśmy sedno naturalnej logiki człowieka w spójnikach „lub”(+) i „i”(*) opisanej matematycznie przez algebrę Kubusia.
4.0 Najważniejsze prawa algebry Boole’a
Definicja zero-jedynkowa 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
|
Prawa zero-jedynkowe wynikające z definicji operatora OR:
1+1 =1
1+0 =1
0+1 =1
0+0 =0
Prawa algebry Boole’a wynikające z definicji operatora OR:
p+0 =p
p+1 =1
p+p =p
p+~p =1
Dowody formalne:
Kod: |
p ~p 1 0 p+1 p+0 p+~p
A: 1 0 1 0 1 1 1
B: 0 1 1 0 1 0 1
1 2 3 4 5 6 7
|
Poprawność wszystkich praw algebry Boole’a widać jak na dłoni.
W szczególności:
p+0=p
czego dowodem jest tożsamość kolumn 1 i 6.
Definicja zero-jedynkowa 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
|
Prawa zero-jedynkowe wynikające z definicji operatora AND:
1*1 =1
1*0 =0
0*1 =0
0*0 =0
Prawa algebry Boole’a wynikające z definicji operatora AND:
p*1 =p
p*0 =0
p*p =p
p*~p=0
Dowody formalne:
Kod: |
p ~p 1 0 p*1 p*0 p*~p
A: 1 0 1 0 1 0 0
B: 0 1 1 0 0 0 0
1 2 3 4 5 6 7
|
Poprawność wszystkich praw algebry Boole’a widać jak na dłoni.
W szczególności:
p*1=p
czego dowodem jest tożsamość kolumn 1 i 5.
Fundament algebry Boole’a:
p*~p =0
p+~p =1
Przydatne prawa dodatkowe
Łączność:
p+(q+r) = (p+q)+r
p*(q*r)=(p*q)*r
Przemienność:
p+q=q+r
p*q=q*r
Mnożenie logiczne wielomianów:
(p+q)*(r+s) = p*r+p*s+q*r+q*s
Wyciąganie zmiennej przed nawias:
p*q+p*r = p*(q+r)
Najważniejszym prawem algebry Boole’a jest prawo przejścia do logiki przeciwnej.
Prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
Przykład:
Y=p+q(r+~s)
Algorytm Wuja Zbója:
A.
Uzupełniamy brakujące nawiasy i spójniki
Y = p+[q*(r+~s)]
co matematycznie oznacza:
Y=1 <=> p=1 lub [q=1 i (r=1 lub ~s=1)]
B.
Negujemy zmienne i wymieniamy spójniki na przeciwne, „lub”(+) na „i”(*) i odwrotnie
~Y = ~p*[~q+(~r*s)]
C.
Opuszczamy zbędne nawiasy
~Y = ~p*(~q+~r*s)
co matematycznie oznacza:
~Y=1 <=> ~p=1 i (~q=1 lub ~r=1 i s=1)
Kolejność wykonywania działań zarówno w logice dodatniej jak i ujemnej:
Nawiasy, „i”(*), „lub”(+)
Związek logiki dodatniej i ujemnej:
Y=~(~Y)
Podstawiając A i C mamy prawo De Morgana dla naszej funkcji logicznej A.
Y = p+q*(r+~s) = ~[~p*(~q+~r*s)]
Przykład minimalizacji funkcji logicznej:
Y = p+q = p*q + p*~q + ~p*q
Dowód tożsamości:
0. Y = p*q + p*~q + ~p*q
1. Y = p(q+~q) + ~p*q
2. Y = p*1 + ~p*q
3. Y = p+~p*q
Wykorzystane prawa:
1. Wyciągniecie zmiennej p przed nawias
2. q+~q=1
3. p*1=p
Mamy:
3. Y=p+(~p*q)
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
4. ~Y = ~p*(p+~q)
5. ~Y = p*~p + ~p*~q
6. ~Y = 0 + ~p*~q
7. ~Y = ~p*~q
Wykorzystane prawa
4. Przejście do logiki ujemnej
5. Mnożenie zmiennej ~p przez wielomian
6. p*~p=0
7. 0+x=x
Mamy funkcję minimalną w logice ujemnej (bo ~Y):
~Y=~p*~q
Przechodząc do logiki przeciwnej mamy funkcje minimalną w logice dodatniej (bo Y)
Y = p+q
cnd
Oczywiście układ równań minimalnych:
Y=p+q
~Y=~p*~q
to nic innego jak definicja operatora OR w algebrze Kubusia.
Twierdzenie przydatne w minimalizacji równań logicznych.
Twierdzenie:
Dowolny fragment funkcji logicznej wolno nam wydzielić i zapisać jako niezależną funkcję logiczną, którą po minimalizacji możemy z powrotem wstawić do układu.
Przydatność tego twierdzenia poznamy na przykładzie:
Zminimalizuj funkcję logiczną Y metodą równań algebry Boole’a:
A: Y = ~p*q*~r + ~p*~q*r + ~p*~q*~r
Rozwiązanie:
Y = ~p*q*~r + ~p*~q(r+~r) /wyciągnięcie ~p*~q przed nawias
Y = ~p*q*~r + ~p*~q /r+~r=1; ~p*~q*1 =~p*~q
Y = ~p(q*~r+~q) /wyciągnięcie ~p przed nawias
B: Y = ~p*(z) / Podstawienie: z=q*~r+~q
-----------------------------------------------------------------------------------
z=(q*~r) + ~q
Przejście do logiki ujemnej (bo ~z) poprzez negację zmiennych i wymianę spójników
~z = (~q+r)*q
~z = ~q*q + r*q /po wymnożeniu wielomianu
~z = r*q /~q*q=0; 0+r*p = r*p
~z = q*r
Powrót do logiki dodatniej poprzez negację zmiennych i wymianę spójników
z = ~q + ~r / Funkcja logiczna „z” po minimalizacji
------------------------------------------------------------------------------------
B: Y = ~p*(z) /Przepisanie równania B
C: Y = ~p*(~q + ~r) / Podstawienie zminimalizowanej funkcji „z”
Po wymnożeniu zmiennej przez wielomian mamy:
D: Y = ~p*~q + ~p*~r
Funkcje C i D to funkcje minimalne, których nie da się dalej minimalizować.
Przydatne sztuczki matematyczne:
1.
Y=p*q
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spójników:
~Y = ~p+~q
2.
To samo inaczej:
Y = p*q
Prawo De Morgana:
p*q = ~(~p+~q)
stąd:
Y = ~(~p+~q)
Negujemy dwustronnie:
~Y = ~p+~q
Dowolny fragment funkcji logicznej możemy ująć w nawias poprzedzony negacją, zaś w środku nawiasu zanegować wszystkie zmienne i wymienić spójniki na przeciwne(prawo De Morgana)
3.
Prawo De Morgana:
Y = p*q = ~(~p+~q)
Prawo De Morgana dla dowolnie długiej funkcji logicznej:
Y = p+q*(r+~s)
Y = ~(~p*~q+~r*s)
Negujemy dwustronnie:
~Y = ~p*~q + ~r*s
4.
Prawo przejścia do logiki przeciwnej dla funkcji złożonej:
Y = p+~p*q*r
Y = p+~p*(q*r)
Przejście do logiki przeciwnej:
~Y = ~p*[p+~(q*r)]
Mnożenie zmiennej przez wielomian:
~Y = ~p*p + ~p*~(q*r)
~Y = ~p*~(q*r)
bo:
~p*p=0
0+x=x
Przejście do logiki przeciwnej:
Y = p+q*r - funkcja minimalna
Uwagi:
W miejscu (q*r) mogłaby być dowolnie złożona funkcja logiczna z dowolną ilością zmiennych, nawet nieskończona, to bez znaczenia.
Na zakończenie ciekawostka w postaci wyprowadzenia prawa De Morgana bez użycia rachunku zero-jedynkowego.
Definicja spójnika „lub”(+):
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Wystarczy że którykolwiek człon po prawej stronie przyjmie wartość 1 i już funkcja logiczna Y=1
Algorytm wyprowadzenia prawa De Morgana bez użycia rachunku zero-jedynkowego:
A.
Y=p+q
Wprowadzenie podwójnych negacji w dowolną linię operatora OR niczego nie zmieni na mocy prawa podwójnego przeczenia:
p = ~(~p)
Negujemy podwójnie wszystkie sygnały w powyższej definicji A:
~(~Y)=~(~p)+~(~q)
Podstawmy:
Z=~Y
r=~p
s=~q
Stąd mamy:
~Z = ~r+~s
Przejście do logiki przeciwnej poprzez negacje zmiennych i wymianę spójników:
Z=r*s
Przywracamy oryginalne zmienne:
B.
~Y=~p*~q
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając A i B mamy:
Y=p+q = ~(~p*~q)
Twierdzenie:
W algebrze Kubusia nie są potrzebne ani zero-jedynkowe definicje operatorów logicznych, ani rachunek zero-jedynkowy, bowiem wszystko można udowodnić w równaniach algebry Boole’a, izolowanych od definicji zero-jedynkowych i rachunku zero-jedynkowego.
Pytanie, co było pierwsze:
Tabele zero-jedynkowe, czy równania algebry Boole’a?
Jest pytaniem w stylu:
Co było pierwsze, jajko czy kura?
4.1 Tworzenie równań logicznych opisujących dowolną tabelę zero-jedynkową
Dowolną tabelę zero-jedynkową można opisać równaniami algebry Boole’a w spójnikach „lub”(+) oraz „i”(*).
Fundamentem algorytmu są definicje spójników „i”(*) i „lub”(+) oraz prawa Prosiaczka.
Definicja spójnika „lub”(+):
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Inaczej:
Y=0
Stąd tabela zero-jedynkowa spójnika „lub”(+):
Kod: |
p q Y=p+q
1+1 =1
1+0 =1
0+1 =1
0+0 =0
|
gdzie:
„+” - spójnik „lub” o definicji jak wyżej
Definicja spójnika „i”(*):
Y=p*q
Co matematycznie oznacza:
Y=1 <=> p=1 i q=1
inaczej:
Y=0
Stąd tabela zero-jedynkowa spójnika „i”(*):
Kod: |
p q Y=p*q
1*1 =1
1*0 =0
0*1 =0
0*0 =0
|
gdzie:
„*” - spójnik „i” o definicji jak wyżej
Algorytm tworzenia równania algebry Boole’a poznamy na przykładzie operatora OR.
Zero-jedynkowa definicja operatora OR:
Kod: |
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
|
W algebrze Boole’a dla dowolnej tabeli zero-jedynkowej możemy ułożyć dwa podstawowe i nie tożsame równania algebry Boole’a, jedno opisujące wynikowe jedynki i drugie, opisujące wynikowe zera. Kompletny algorytm to zaledwie trzy kroki.
Równania algebry Boole’a opisujące wynikowe jedynki.
1.
Spis z natury (opisujemy dokładnie to co widzimy):
A: Ya=1 <=> p=1 i q=1
lub
B: Yb=1 <=> p=1 i q=0
lub
C: Yc=1 <=> p=0 i q=1
2.
Korzystając z praw Prosiaczka:
(p=1) = (~p=0)
(p=0) = (~p=1)
Dokładniej korzystamy z tego:
Jeśli p=0 to ~p=1
Sprowadzamy wszystkie zmienne do jedynek:
A: Ya=1 <=> p=1 i q=1
lub
B: Yb=1 <=> p=1 i ~q=1
lub
C: Yc=1 <=> ~p=1 i q=1
3.
Stąd na podstawie definicji spójnika „i”(*) w poziomach i spójnika „lub”(+) w pionie mamy końcowe równanie algebry Boole’a opisujące wynikowe jedynki:
ABC123:
Y = Ya+Yb+Yc
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)
Wynika to ze sposobu dojścia do równania algebry Boole’a, gdzie wszystkie zmienne sprowadzamy do jedynek na mocy prawa Prosiaczka.
ABC123:
Y = p*q + p*~q + ~p*q
Zminimalizujmy tą funkcję:
Y = p*(q+~q) + ~p*q ;Wyciągnięcie zmiennej p przed nawias
Y = p+(~p*q) ;Prawa algebry Boole’a: q+~q=1, p*1=p
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
~Y = ~p*(p+~q)
~Y = ~p*p + ~p*~q ;Mnożenie zmiennej ~p przez wielomian
~Y=~p*~q
Powrót do logiki dodatniej poprzez negację zmiennych i wymianę spójników
Y = p+q
Ostatnie równanie opisuje wyłącznie wynikowe jedynki w powyżej tabeli.
ABC123:
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Wystarczy że którakolwiek zmienna po prawej stronie przyjmie wartość 1 (np. q=1) i już funkcja logiczna Y przyjmie wartość 1 (Y=1), stan drugiej zmiennej jest nieistotny.
Stąd mamy tożsamość matematyczną:
ABC123:
Y = p+q = p*q + p*~q + ~p*q
Powyższe równanie opisuje obszar ABC123 (wynikowe jedynki).
Równania algebry Boole’a opisujące wynikowe zera.
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 /~Yd=~p*~q
1 2 3
|
Widzimy że:
~Y = ~Yd
bo jest tylko jedna linia z zerem w wyniku
Postępujemy identycznie jak wyżej.
1.
Spis z natury dla wynikowych zer:
Y=0 <=> p=0 i q=0
W tej tabeli mamy tylko jedną linię z zerami w wyniku, ale w ogólnym przypadku może być więcej takich linii.
2.
Korzystając z prawa Prosiaczka:
(p=0) = (~p=1)
Dokładniej korzystamy z tego:
Jeśli p=0 to ~p=1
Sprowadzamy wszystkie zmienne do jedynek:
~Y=1 <=> ~p=1 i ~q=1
3.
Na mocy definicji spójnika „i”(*) mamy równanie końcowe opisujące linię z zerem w wyniku:
D123:
~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1
Oczywiście, negując linię D123 musimy otrzymać funkcję logiczną opisującą wynikowe jedynki w powyższej tabeli (ABC123). W tym przypadku będzie to definicja spójnika „lub”(+), ale w ogólnym przypadku nie musi tak być.
Przejście z równaniem D123 do logiki przeciwnej poprzez negację zmiennych i wymianę spójników na przeciwne.
Mamy D123:
~Y=~p*~q
stąd w logice przeciwnej mamy:
ABC123:
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Nanieśmy nasze równania na definicję operatora OR:
Kod: |
Tabela |Tabela |Tabela „zero-jedynkowa”
zero-jedynkowa |symboliczna |dla równań cząstkowych
p q Y=p+q | |
A: 1+ 1 =1 | p* q = Ya | 1*1 =1
B: 1+ 0 =1 | p*~q = Yb | 1*1 =1
C: 0+ 1 =1 |~p* q = Yc | 1*1 =1
D: 0+ 0 =0 |~p*~q =~Yd | 1*1 =1
1 2 3 4 5 6 7 8 9
|
Y= Ya+Yb+Yc
A1: Y= p*q+p*~q+~p*q = p+q
A2: ~Y = ~Yd = ~p*~q
Użyteczną technikę tworzenia równania logicznego dla dowolnej linii w spójniku „i”(*) widać jak na dłoni.
1.
Jeśli na wybranej pozycji mamy 1 to przepisujemy nagłówek kolumny.
Jeśli na wybranej pozycji mamy 0 to przepisujemy zanegowany nagłówek kolumny
2.
Zmienne wejściowe p i q łączymy spójnikiem „i”(*), przyporządkowując im funkcję Yx=1 (jeśli w wierszu widzimy Y=1) albo ~Yx=1 (jeśli w wierszu widzimy Y=0).
Zauważmy, że w równaniach cząstkowych dla poszczególnych linii (ABCD456) mamy wszystkie zmienne sprowadzone do jedynek, zatem rzeczywista tabela „zero-jedynkowa” dla równań cząstkowych to same jedynki (obszar ABCD789).
Oznacza to, że równania algebry Boole’a są separowane od jakichkolwiek tabel zero-jedynkowych typu ABCD123, mamy tu logikę w 100% symboliczną bez żadnego ustalonego punktu odniesienia. W tabelach zero-jedynkowych zawsze mamy ustalony sztywny punkt odniesienia widniejący w nagłówku tabeli.
Wnioski:
1.
Kompletną tabelę zero-jedynkową operatora OR (wszystkie cztery linie) opisuje układ równań logicznych:
A1: Y=p+q
A2: ~Y=~p*~q
Związek logiki dodatniej (Y) i ujemnej (~Y):
Y=~(~Y)
Podstawiając A1 i A2 mamy prawo De Morgana:
Y = p+q = ~(~p*~q)
2.
Jeśli w powyższej definicji symbolicznej ABCD456 ustawimy punkt odniesienia na funkcji w logice ujemnej:
~Y=~p*~q
To musimy otrzymać tabelę zero-jedynkową operatora AND zgodnie z użytym tu spójnikiem.
Mamy:
~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1
Stąd mamy:
~p=1, p=0
~q=1, q=0
Zakodujmy zgodnie z tym punktem odniesienia tabelę symboliczną ABCD456:
Kod: |
Tabela |Tabela |Tabela „zero-jedynkowa”|Tabela
zero-jedynkowa |symboliczna |dla równań cząstkowych |zero-jedynkowa
dla Y=p+q | | |dla ~Y=~p*~q
p q Y=p+q | | |~p ~q ~Y=~p*~q
A: 1+ 1 =1 | p* q = Ya | 1*1 =1 | 0* 0 =0
B: 1+ 0 =1 | p*~q = Yb | 1*1 =1 | 0* 1 =0
C: 0+ 1 =1 |~p* q = Yc | 1*1 =1 | 1* 0 =0
D: 0+ 0 =0 |~p*~q =~Yd | 1*1 =1 | 1* 1 =1
1 2 3 4 5 6 7 8 9 | a b c
|
Doskonale widać zero-jedynkową definicję operatora AND w obszarze ABCDabc.
Równanie opisujące wynikowe jedynki w tabeli ABCD123 to:
ABC123:
Y = p+q = p*q + p*~q + ~p*q
Jeśli je zanegujemy dwustronnie korzystając z prawa przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
to otrzymamy równanie algebry Boole’a opisujące linię z zerem w wyniku (D123).
Algorytm Wuja Zbója:
A1.
Uzupełniamy nawiasy i brakujące spójniki:
ABC123:
Y = p+q = (p*q) + (p*~q) + (~p*q)
A2.
Negujemy zmienne i wymieniamy spójniki na przeciwne
D123:
~Y = ~p*~q = (~p+~q)*(~p+q)*(p+~q)
Oczywiście równania ABC123 i D123 nie są tożsame.
Y # ~Y
W technice układów cyfrowych oznacza to, że jeśli zbudujemy układy A1 i A2 w bramkach logicznych i połączymy wyjścia Y i ~Y to zobaczymy kupę dymu i smrodu, wszystko wyleci w powietrze.
Zauważmy, że w tożsamości A1 wystarczy że którakolwiek zmienna jest równa 1 i już funkcja logiczna przyjmuje wartość 1 (Y=1).
Rzeczywistą tabelę zero-jedynkową dla funkcji A1 widzimy w obszarze ABCD123.
A1.
Y = p+q = (p*q) + (p*~q) + (~p*q)
Dowód:
Załóżmy p=1
Lewa strona tożsamości:
Y=p+q = 1+q =1
Prawa strona tożsamości:
Y =(p*q) + (p*~q) + (~p*q) = (1*q) + (1*~q)+ (0*q) = (1*q) + (1*~q) = q+~q =1
Inaczej:
Y=0
Ten przypadek to:
p=0, q=0
co wymusza:
~p=1, ~q=1
Lewa strona tożsamości:
Y = p+q = 0+0=0
Prawa strona tożsamości:
Y =(p*q) + (p*~q) + (~p*q) = (0*0) + (0*1)+ (1*0) = (0) + (0) + (0) = 0
cnd
Podobnie, funkcja logiczna A2 ~Y=~p*~q przyjmie wartość 1 wtedy i tylko wtedy gdy obie zmienne zostaną ustawione na wartość 1:
~p=1 i ~q=1
Rzeczywistą tabelę zero-jedynkową dla funkcji A2 widzimy w obszarze ABCDabc
A2.
~Y = ~p*~q = (~p+~q)*(~p+q)*(p+~q)
Dowód:
Z założenia mamy:
~p=1, p=0
~q=1, q=0
stąd:
Lewa strona tożsamości:
~Y = ~p*~q =1*1=1
Prawa strona tożsamości:
~Y = (~p+~q)*(~p+q)*(p+~q) = (1+1)*(1+0)*(0+1) = 1*1*1 =1
cnd
Oczywiście dla dowolnych innych kombinacji ~p i ~q funkcja logiczna ~Y musi przyjąć wartość logiczną 0 (~Y=0), co łatwo sprawdzić.
Potwierdza to tabela zero-jedynkowa ABCDabc wyżej.
Ostatnio zmieniony przez rafal3006 dnia Śro 5:46, 09 Paź 2013, w całości zmieniany 28 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rafal3006
Opiekun Forum Kubusia
Dołączył: 30 Kwi 2006
Posty: 35973
Przeczytał: 14 tematów
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Czw 20:58, 15 Sie 2013 Temat postu: |
|
|
4.2 Twierdzenie o niejednoznaczności tabel zero-jedynkowych
Z poprzedniego rozdziału wiemy, że algorytm tworzenia równań logicznych opisujących dowolną tabelę zero-jedynkową opiera się na zaledwie dwóch definicjach maszynowych (zero-jedynkowych) operatorów OR i AND. W definicji maszynowej operator OR jest tożsamy z definicją spójnika „lub”(+), natomiast operator AND jest tożsamy z definicja spójnika „i”(*).
Maszynowa (zero-jedynkowa) definicja operatora OR:
Definicja spójnika „lub”(+):
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Inaczej:
Y=0
Stąd tabela zero-jedynkowa spójnika „lub”(+):
Kod: |
p q Y=p+q
1+1 =1
1+0 =1
0+1 =1
0+0 =0
|
gdzie:
„+” - spójnik „lub” o definicji jak wyżej
W kodzie maszynowym wszystkie linie tabeli zero-jedynkowej znakujemy znaczkiem z nagłówka tabeli.
Maszynowa (zero-jedynkowa) definicja operatora AND:
Definicja spójnika „i”(*):
Y=p*q
Co matematycznie oznacza:
Y=1 <=> p=1 i q=1
inaczej:
Y=0
Stąd tabela zero-jedynkowa spójnika „i”(*):
Kod: |
p q Y=p*q
1*1 =1
1*0 =0
0*1 =0
0*0 =0
|
gdzie:
„*” - spójnik „i” o definicji jak wyżej
W kodzie maszynowym wszystkie linie tabeli zero-jedynkowej znakujemy znaczkiem z nagłówka tabeli.
Zauważmy, że na mocy definicji znaczków „+” i „*” zmienne z nagłówka tabeli mogą występować w dowolnych przeczeniach, to kompletnie bez znaczenia dla naszych tabel zero-jedynkowych.
Operator AND
Wszystkie możliwe przypadki dla spójnika „i”(*) ilustruje poniższa tabela:
Kod: |
Tabela 1
Funkcja w logice dodatniej bo Y ||Funkcja w logice ujemnej bo ~Y na mocy
||prawa przejścia do logiki przeciwnej:
||Negujemy zmienne i wymieniamy spójniki
================================||==============================
Funkcja |Na mocy definicji ||Funkcja |Na mocy definicji
logiczna Y |”*” oznacza to: ||logiczna ~Y |”lub” oznacza to:
----------------------------------------------------------------
A1: Y= p* q |Y=1<=>p=1 i q=1 ||A2:~Y=~p+~q |~Y=1<=>~p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
B1: Y= p*~q |Y=1<=>p=1 i ~q=1 ||B2:~Y=~p+ q |~Y=1<=>~p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
C1: Y=~p* q |Y=1<=>~p=1 i q=1 ||C2:~Y= p+~q |~Y=1<=> p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
D1: Y=~p*~q |Y=1<=>~p=1 i ~q=1 ||D2:~Y= ~p+~q|~Y=1<=>~p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
|
Na mocy maszynowej definicji spójnika „i”(*) otrzymamy identyczne tabele zero-jedynkowe dla funkcji logicznych:
A1-A2
B1-B2
C1-C2
D1-D2
Zbudujmy tabelę zero-jedynkową dla funkcji C1-C2:
C1.
Y=~p*q
co matematycznie oznacza:
Y=1 <=> ~p=1 i q=1
Inaczej: Y=0
… a kiedy zajdzie ~Y (kiedy skłamię?):
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spojników
C2.
~Y=p+~q
co matematycznie oznacza:
~Y=1 <=> p=1 lub ~q=1
Inaczej: ~Y=0
Stąd otrzymujemy tabele zero-jedynkowe operatora OR (C1) i AND (C2).
Dla punktu odniesienia ustawionego na zdaniu C1 otrzymamy tabelę zero-jedynkową operatora AND:
C1: Y=~p*q
Y=1, ~Y=0
~p=1, p=0
q=1, ~q=0
Dla punktu odniesienia ustawionego na zdaniu C2 otrzymamy tabelę zero-jedynkową operatora OR:
C2: ~Y=p+~q
~Y=1, Y=0
p=1, ~p=0
~q=1, q=0
Kod: |
Tabela 1 - przykład:
C1: |C2: |Definicja symboliczna OR
Operator AND |Operator OR |Równania logiczne opisujące
~p q Y=~p*q | p ~q ~Y=p+~q |poszczególne linie A,B,C i D
A: 1* 1 =1 | 0+ 0 =0 | Ya=~p* q
B: 1* 0 =0 | 0+ 1 =1 |~Yb=~p*~q
C: 0* 1 =0 | 1+ 0 =1 |~Yc= p* q
D: 0* 0 =0 | 1+ 1 =1 |~Yd= p*~q
1 2 3 4 5 6 7 8 9
|
Twierdzenie:
Równania logiczne opisujące poszczególne linie A, B, C i D są identyczne dla tabel zero-jedynkowych C1 i C2.
Równania te tworzymy algorytmem Prosiaczka sprowadzając wszystkie zmienne do jedynek i używając spójnika „i”(*) w wierszach.
Prawa Prosiaczka:
(p=0) = (~p=1)
(p=1) = (~p=0)
Dowód:
Weźmy przykładową linię B123:
Spis z natury (zapisujemy to co widzimy):
Yb=0 <=> ~p=1 i q=0
Sprowadzamy zmienne do jedynek korzystając z prawa Prosiaczka:
Jeśli q=0 to ~q=1
~Yb=1 <=> ~p=1 i ~q=1
Stąd mamy równanie opisujące linię B123:
~Yb = ~p*~q
Identyczne równanie musimy otrzymać z linii B456:
Spis z natury:
~Yb=1 <=> p=0 i ~q=1
Sprowadzamy zmienne do jedynek korzystając z prawa Prosiaczka:
Jeśli p=0 to ~p=1
~Yb=1 <=> ~p=1 i ~q=1
Stąd mamy równanie opisujące linię B456:
Yb=~p*~q
Identycznie postępujemy dla pozostałych linii.
cnd
Przykład dla przypadku C1:
W.
Jutro nie pójdę do kina i pójdę do teatru
Y=~K*T
co matematycznie oznacza:
Y=1 <=> ~K=1 i T=1
… a kiedy skłamię?
Przejście do logiki dodatniej poprzez negację zmiennych i wymianę spójników:
~Y = K+~T
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub nie pójdę do teatru (~T=1)
~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 pójdę do kina (K=1) lub nie pójdę do teatru (~T=1)
Wystarczy że ustawię dowolną zmienną z prawej strony na 1 i już dotrzymałem skłamię (~Y=1), wartość logiczna drugiej zmiennej jest nieistotna.
Operator OR
Wszystkie możliwe przypadki dla spójnika „lub”(+) ilustruje poniższa tabela:
Kod: |
Tabela 2
Funkcja w logice dodatniej bo Y ||Funkcja w logice ujemnej bo ~Y na mocy
||prawa przejścia do logiki przeciwnej:
||Negujemy zmienne i wymieniamy spójniki
================================||==============================
Funkcja |Na mocy definicji ||Funkcja |Na mocy definicji
logiczna Y |”+” oznacza to: ||logiczna ~Y |”*” oznacza to:
----------------------------------------------------------------
A1: Y= p+ q |Y=1<=>p=1 lub q=1 ||A2:~Y=~p*~q |~Y=1<=>~p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
B1: Y= p+~q |Y=1<=>p=1 lub ~q=1 ||B2:~Y=~p* q |~Y=1<=>~p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
C1: Y=~p+ q |Y=1<=>~p=1 lub q=1 ||C2:~Y= p*~q |~Y=1<=> p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
D1: Y=~p+~q |Y=1<=>~p=1 lub ~q=1||D2:~Y= ~p*~q|~Y=1<=>~p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
|
Na mocy maszynowej definicji spójnika „lub”(+) otrzymamy identyczne tabele zero-jedynkowe dla funkcji logicznych:
A1-A2
B1-B2
C1-C2
D1-D2
Zbudujmy tabelę zero-jedynkową dla funkcji C1-C2:
C1.
Y=~p+q
co matematycznie oznacza:
Y=1 <=> ~p=1 lub q=1
Inaczej: Y=0
… a kiedy zajdzie ~Y (kiedy skłamię?):
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spojników
C2.
~Y=p*~q
co matematycznie oznacza:
~Y=1 <=> p=1 i ~q=1
Inaczej: ~Y=0
Stąd otrzymujemy tabele zero-jedynkowe operatora OR (C1) i AND (C2).
Dla punktu odniesienia ustawionego na zdaniu C1 otrzymamy tabelę zero-jedynkową operatora OR:
C1: Y=~p+q
Y=1, ~Y=0
~p=1, p=0
q=1, ~q=0
Dla punktu odniesienia ustawionego na zdaniu C2 otrzymamy tabelę zero-jedynkową operatora AND:
C2: ~Y=p*~q
~Y=1, Y=0
p=1, ~p=0
~q=1, q=0
Kod: |
Tabela 2 - przykład:
C1: |C2: |Definicja symboliczna OR
Operator OR |Operator AND |Równania logiczne opisujące
~p q Y=~p+q | p ~q ~Y=p*~q |poszczególne linie A,B,C i D
A: 1+ 1 =1 | 0* 0 =0 | Ya=~p* q
B: 1+ 0 =1 | 0* 1 =0 | Yb=~p*~q
C: 0+ 1 =1 | 1* 0 =0 | Yc= p* q
D: 0+ 0 =0 | 1* 1 =1 |~Yd= p*~q
1 2 3 4 5 6 7 8 9
|
Twierdzenie:
Równania logiczne opisujące poszczególne linie A, B, C i D są identyczne dla tabel zero-jedynkowych C1 i C2.
Równania te tworzymy algorytmem Prosiaczka sprowadzając wszystkie zmienne do jedynek i używając spójnika „i”(*) w wierszach.
Prawa Prosiaczka:
(p=0) = (~p=1)
(p=1) = (~p=0)
Dowód:
Weźmy przykładową linię B123:
Spis z natury (zapisujemy to co widzimy):
Yb=1 <=> ~p=1 i q=0
Sprowadzamy zmienne do jedynek korzystając z prawa Prosiaczka:
Jeśli q=0 to ~q=1
Yb=1 <=> ~p=1 i ~q=1
Stąd mamy równanie opisujące linię B123:
Yb = ~p*~q
Identyczne równanie musimy otrzymać z linii B456:
Spis z natury:
~Yb=0 <=> p=0 i ~q=1
Sprowadzamy zmienne do jedynek korzystając z prawa Prosiaczka:
Jeśli ~p=0 to p=1
Jeśli p=0 to ~p=1
Yb=1 <=> ~p=1 i ~q=1
Stąd mamy równanie opisujące linię B456:
Yb=~p*~q
Identycznie postępujemy dla pozostałych linii.
cnd
Twierdzenie o tożsamości równań:
Równanie logiczne opisujące wynikowe jedynki w tabeli zero-jedynkowej jest tożsame z równaniem w nagłówku tabeli.
Weźmy tabelę ABCD123:
Y=Ya+Yb+Yc
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 (bo ~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 = p+~q
To jest równanie z nagłówka tabeli ABCD123
cnd
Weźmy tabelę ABCD456:
W tej tabeli mamy wyłącznie jedną jedynkę, wiec nic nie musimy robić
~Y = ~Yd = p*~q
~Y=p*~q
To jest równanie z nagłówka tabeli ABCD456
cnd
Oczywiście ostatnie równanie można też wyprowadzić bezpośrednio z tabeli BCD123 układając równanie logiczne dla wynikowych zer (tu mamy tylko jedno).
Linia D123:
Yd=0 <=> ~p=0 i q=0
Prawami Prosiaczka sprowadzamy wszystkie zmienne do jedynek:
~Yd <=> p=1 i ~q=1
Stąd równanie opisujące linię D123:
~Yd = p*~q
Linię z zerem w tabeli ABCD123 mamy tylko jedną, stąd:
~Y = ~Yd = p*~q
~Y = p*~q
To jest równanie z nagłówka tabeli ABCD456, na mocy prawa Prosiaczka tożsame z równaniem ułożonym dla zer w tabeli ABCD123.
cnd
Twierdzenie o niejednoznaczności tabel zero-jedynkowych:
Niemożliwe jest jednoznaczne odtworzenie funkcji logicznej na podstawie tabeli zero-jedynkowej.
Dowód:
Zauważmy, że przy założeniu iż mamy do czynienia z funkcją logiczną w logice dodatniej (Y=1) nasza tabela ABCD123 jest identyczna dla czterech rożnych na mocy definicji funkcji logicznych:
A1, B1, C1 i D1
Oczywiście prawdopodobieństwo trafienia we właściwą funkcję logiczną (zdanie wypowiedziane przez człowieka) na podstawie gołej tabeli zero-jedynkowej wynosi zaledwie 25% dla dwóch zmiennych.
Ogólnie:
Dla funkcji logicznej w spójnikach „lub”(+) i „i”(*) o n zmiennych binarnych ta sama tabela zero-jedynkowa opisuje 2^n różnych na mocy definicji funkcji logicznych, czyli różnych zdań w naturalnej logice człowieka.
Prawdopodobieństwo trafienia we właściwą funkcję logiczną na podstawie gołej tabeli zero-jedynkowej dla n zmiennych binarnych wynosi:
(1/2^n)*100%
Dla trzech zmiennych będzie to zaledwie (1/8)*100% = 12,5%
Zauważmy, że zero-jedynkowa tabela operatora OR jest identyczna w tabeli 1 i tabeli 2.
Oczywiście wszelkie funkcje logiczne z tabeli 1 nie mają nic wspólnego z tabelą 2 bo:
T1: Operator AND ## T2: Operator OR
gdzie:
## - różne na mocy definicji
Tabele zero-jedynkowe operatora OR są jednak identyczne w tabeli 1 i tabeli 2, zatem jeśli widzimy gołą tabelę zero-jedynkową operatora OR bez żadnych wskazówek to prawdopodobieństwo trafienia w funkcję logiczną którą ta tabela opisuje spada o 50%.
Ogólnie dla n zmiennych wynosić będzie:
[1/(2*2^n)]*100%
Przykład dla przypadku C1 w tabeli 2:
W.
Jutro nie pójdę do kina lub pójdę do teatru
Y=~K+T
co matematycznie oznacza:
Y=1 <=> ~K=1 lub T=1
Wystarczy że ustawię dowolną zmienną z prawej strony na 1 i już dotrzymałem słowa (Y=1), wartość logiczna drugiej zmiennej jest nieistotna.
… a kiedy skłamię?
Przejście do logiki dodatniej poprzez negację zmiennych i wymianę spójników:
~Y = K*~T
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) i nie pójdę do teatru (~T=1)
~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 pójdę do kina (K=1) i nie pójdę do teatru (~T=1)
4.3 Wykresy czasowe operatorów OR i AND
Rachunek zero-jedynkowy to czysto mechaniczne przemiatanie tabel zero-jedynkowych, pozornie kompletnie bez celu. Prawa logiczne, w tym naturalna logika człowieka wyskakują nam w prawidłowo opisanych nagłówkach tabelach zero-jedynkowych. Bardzo łatwo napisać program komputerowy, który wynajduje nam nieskończoną ilość praw logicznych metodą na chybił trafił, bez konieczności wnikania o co tu chodzi. Aktualnie człowiek nie rozumie praw logicznych bo nie zna poprawnej techniki opisywania tabel zero-jedynkowych, nie odróżnia logiki dodatniej (bo Y) od logiki ujemnej (bo ~Y).
Analogia do matematyki klasycznej jest tu 100%.
Matematyka klasyczna:
W zapisie:
x+1
mamy matematykę „płaską” bez współrzędnych kartezjańskich.
Prawa matematyki klasycznej zachodzą bez współrzędnych kartezjańskich:
(a+b)^2 = a^2 +2ab + b^2
Dopiero w tym zapisie:
Y=x+1
możemy narysować wykres funkcji Y=x+1 w układzie współrzędnych kartezjańskich
Symboliczna algebra Boole’a (algebra Kubusia):
W algebrze Boole’a zapis:
p+~q
to matematyka „płaska” bo nie ma tu współrzędnej Y.
Prawa logiczne zachodzą bez współrzędnej Y.
Prawo De Morgana:
p+q = ~(~p*~q)
~(p+q) = ~p*~q
Pojęcie funkcji logicznej Y jest w logice podstawowe, bez tego nie da się opisać matematycznie naturalnej logiki człowieka.
Dopiero w tym zapisie:
Y = p+~q
gdzie:
Y - funkcja logiczna
p, ~q - zmienne binarne
możemy narysować wykres funkcji logicznej w logice dodatniej (bo Y):
Y=p+~q
oraz wykres tej samej funkcji w logice ujemnej (bo ~Y):
~Y=~p*q
Logika ujemna to lustrzane odbicie logiki dodatniej.
Funkcje logiczne rysujemy w osi czasu, układ kartezjański się do tego kompletnie nie nadaje.
Operator OR
Wszystkie możliwe przypadki dla spójnika „lub”(+) ilustruje poniższa tabela:
Kod: |
Tabela 2
Funkcja w logice dodatniej bo Y ||Funkcja w logice ujemnej bo ~Y na mocy
||prawa przejścia do logiki przeciwnej:
||Negujemy zmienne i wymieniamy spójniki
================================||==============================
Funkcja |Na mocy definicji ||Funkcja |Na mocy definicji
logiczna Y |”+” oznacza to: ||logiczna ~Y |”*” oznacza to:
----------------------------------------------------------------
A1: Y= p+ q |Y=1<=>p=1 lub q=1 ||A2:~Y=~p*~q |~Y=1<=>~p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
B1: Y= p+~q |Y=1<=>p=1 lub ~q=1 ||B2:~Y=~p* q |~Y=1<=>~p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
C1: Y=~p+ q |Y=1<=>~p=1 lub q=1 ||C2:~Y= p*~q |~Y=1<=> p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
D1: Y=~p+~q |Y=1<=>~p=1 lub ~q=1||D2:~Y= ~p*~q|~Y=1<=>~p=1 i ~q=1
|inaczej Y=0 || |inaczej ~Y=0
|
Wykres czasowy wszystkich możliwych funkcji OR w logice dodatniej (bo Y):
Y=p+q
oraz skolerowanych, tych samych funkcji w logice ujemnej (bo ~Y):
Y=~p*~q
Objaśnienia:
Najprostszy algorytm rysowania funkcji Y i ~Y (wypełniania tabel zero-jedynkowych) widać tu jak na dłoni.
Weźmy przykładową funkcję:
Y=p+~q (zielona)
co matematycznie oznacza:
Y=1 <=> p=1 lub ~q=1
Oczywiście bierzemy tu pod uwagę wyłącznie zmienne wejściowe p i ~q.
.. a kiedy zajdzie ~Y?
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spójników
~Y=~p*q (zielona)
co matematycznie oznacza:
~Y=1 <=> ~p=1 i q=1
W tym przypadku bierzemy pod uwagę wyłącznie zmienne wejściowe ~p i q
Definicja spójnika „lub”(+):
Kod: |
Definicja spójnika |Definicja spójnika
„lub”(+) w logice |”i”(*) w logice
dodatniej (bo Y) |ujemnej (bo ~Y)
p ~q Y=p+~q | ~p q ~Y=~p*q
1+ 1 =1 | 0* 0 =0
1+ 0 =1 | 0* 1 =0
0+ 1 =1 | 1* 0 =0
0+ 0 =0 | 1* 1 =1
|
Logika dodatnia (bo Y):
Definicja spójnika „lub”(+):
Y=p+~q
co matematycznie oznacza:
Y=1 <=> p=1 lub ~q=1
Inaczej:
Y=0
Szukamy jedynki w sygnale p lub ~q zaznaczając dla tego przypadku:
Y=p+~q =1
Pozostałe części wykresu (tabeli zero-jedynkowej) uzupełniamy 0.
… ale można prościej!
W spójniku „lub”(+) mamy:
Y=0 <=> p=0 i ~q=0
Inaczej:
Y=1
Szukamy zatem wspólnych zer w funkcjach wejściowych p i ~q dla których zaznaczamy:
Y=p+~q =0
Resztę przypadków uzupełniamy jedynkami nie wnikając w żadne szczegóły.
Logika ujemna (bo ~Y):
Najprostszy algorytm to szukamy wspólnych jedynek w zmiennych wejściowych ~p i q zaznaczając:
~Y=p*~q =1
Pozostałe pozycje uzupełniając zerami.
Oczywiście można sobie utrudnić:
W sygnałach ~p i q szukamy na każdej pozycji choćby jednego zera zaznaczając:
~Y=p*~q =0
Pozostałe pozycje uzupełniając jedynkami.
Definicja funkcji tożsamych na wykresach czasowych:
Dwie funkcje są tożsame wtedy i tylko wtedy gdy ich wykresy czasowe pokrywają się w 100%
W tabelach zero-jedynkowych odpowiada to identyczności kolumn wynikowych.
Funkcje A1, B1, C1 i D1 to fundamentalnie inne funkcje co widać na wykresach czasowych wyżej, żadna z tych funkcji nie jest identyczna.
A1 ## B1 ## C1 ## D1
gdzie:
## - różne na mocy definicji
W języku mówionym są to cztery różne zdania pomiędzy którymi nie zachodzą żadne zależności matematyczne, czyli między dowolnymi dwoma zdaniami pochodzącymi różnych źródeł (A1, B1, C1, D1) nie zachodzi prawo przejścia do logiki przeciwnej, a tym samym nie zachodzi prawo De Morgana.
Doskonale to widać w poniższych przykładach.
Prawa przejścia do logiki przeciwnej, a tym samym prawa De Morgana występują między funkcjami:
A1-A2
B1-B2
C1-C2
D1-D2
A1.
Y=p+q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~p*~q
Przykład:
A1.
Jutro pójdę do kina lub do teatru
Y=K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
Wystarczy że pójdę w jedno miejsce i już dotrzymam słowa
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~K*~T
A2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina i nie pójdę do teatru
~Y=~K*~T
co matematycznie oznacza:
~Y=1 <=> ~K=1 i ~T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając A1 i A2 mamy prawo De Morgana:
Y = K+T = ~(~K*~T)
B1.
Y=~p+q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=p*~q
Przykład:
B1.
Jutro nie pójdę do kina lub pójdę do teatru
Y=~K+T
co matematycznie oznacza:
Y=1 <=> ~K=1 lub T=1
Wystarczy że nie pójdę do kina (~K=1) lub pójdę do teatru (T=1) i już dotrzymam słowa.
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=K*~T
B2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina i nie pójdę do teatru
~Y=K*~T
co matematycznie oznacza:
~Y=1 <=> K=1 i ~T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając B1 i B2 mamy prawo De Morgana:
Y = ~K+T = ~(K*~T)
C1.
Y=p+~q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~p*q
Przykład:
C1.
Jutro pójdę do kina lub nie pójdę do teatru
Y=K+~T
co matematycznie oznacza:
Y=1 <=> K=1 lub ~T=1
Wystarczy że pójdę do kina (K=1) lub nie pójdę do teatru (~T=1) i już dotrzymam słowa
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~K*T
C2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina i pójdę do teatru
~Y=~K*T
co matematycznie oznacza:
~Y=1 <=> ~K=1 i T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając C1 i C2 mamy prawo De Morgana:
Y = K+~T = ~(~K*T)
D1.
Y=~p+~q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=p*q
Przykład:
D1.
Jutro nie pójdę do kina lub nie pójdę do teatru
Y=~K+~T
co matematycznie oznacza:
Y=1 <=> ~K=1 lub ~T=1
Wystarczy że nie pójdę do kina (~K=1) lub nie pójdę do teatru (~T=1) i już dotrzymam słowa
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=K*T
D2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina i pójdę do teatru
~Y=K*T
co matematycznie oznacza:
~Y=1 <=> K=1 i T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając D1 i D2 mamy prawo De Morgana:
Y = ~K+~T = ~(K*T)
Operator AND
Wszystkie możliwe przypadki dla spójnika „i”(*) ilustruje poniższa tabela:
Kod: |
Tabela 1
Funkcja w logice dodatniej bo Y ||Funkcja w logice ujemnej bo ~Y na mocy
||prawa przejścia do logiki przeciwnej:
||Negujemy zmienne i wymieniamy spójniki
================================||==============================
Funkcja |Na mocy definicji ||Funkcja |Na mocy definicji
logiczna Y |”*” oznacza to: ||logiczna ~Y |”lub” oznacza to:
----------------------------------------------------------------
A1: Y= p* q |Y=1<=>p=1 i q=1 ||A2:~Y=~p+~q |~Y=1<=>~p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
B1: Y= p*~q |Y=1<=>p=1 i ~q=1 ||B2:~Y=~p+ q |~Y=1<=>~p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
C1: Y=~p* q |Y=1<=>~p=1 i q=1 ||C2:~Y= p+~q |~Y=1<=> p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
||
D1: Y=~p*~q |Y=1<=>~p=1 i ~q=1 ||D2:~Y= ~p+~q|~Y=1<=>~p=1 lub ~q=1
|inaczej Y=0 || |inaczej ~Y=0
|
Wykres czasowy wszystkich możliwych funkcji AND w logice dodatniej (bo Y):
Y=p*q
oraz skolerowanych, tych samych funkcji w logice ujemnej (bo ~Y):
Y=~p+~q
Objaśnienia:
Najprostszy algorytm rysowania funkcji Y i ~Y (wypełniania tabel zero-jedynkowych) widać tu jak na dłoni.
Weźmy przykładową funkcję:
Y=p*~q (zielona)
co matematycznie oznacza:
Y=1 <=> p=1 i ~q=1
Oczywiście bierzemy tu pod uwagę wyłącznie zmienne wejściowe p i ~q.
.. a kiedy zajdzie ~Y?
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spójników
~Y=~p+q (zielona)
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub q=1
W tym przypadku bierzemy pod uwagę wyłącznie zmienne wejściowe ~p i q
Definicja spójnika „i”(*):
Kod: |
Definicja spójnika |Definicja spójnika
„i”(*) w logice |”lub”(+) w logice
dodatniej (bo Y) |ujemnej (bo ~Y)
p ~q Y=p*~q | ~p q ~Y=~p+q
1* 1 =1 | 0+ 0 =0
0* 0 =0 | 1+ 1 =1
0* 1 =0 | 1+ 0 =1
1* 0 =0 | 0+ 1 =1
|
Logika dodatnia (bo Y):
Definicja spójnika „i”(*):
Y=p*~q
co matematycznie oznacza:
Y=1 <=> p=1 i ~q=1
Inaczej:
Y=0
Szukamy jedynki w sygnale p lub ~q zaznaczając dla tego przypadku:
Y=p*~q =1
Pozostałe części wykresu (tabeli zero-jedynkowej) uzupełniamy 0.
Logika ujemna (bo ~Y):
W sygnałach ~p i q szukamy na każdej pozycji choćby jednej jedynki zaznaczając:
~Y=p+~q =1
Pozostałe pozycje uzupełniając zerami.
Oczywiście można prościej:
W sygnałach ~p i q szukamy samych zer zaznaczając:
~Y=p+~q =0
Pozostałe pozycje uzupełniamy jedynkami nie wnikając w szczegóły.
Definicja funkcji tożsamych na wykresach czasowych:
Dwie funkcje są tożsame wtedy i tylko wtedy gdy ich wykresy czasowe pokrywają się w 100%
W tabelach zero-jedynkowych odpowiada to identyczności kolumn wynikowych.
Funkcje A1, B1, C1 i D1 to fundamentalnie inne funkcje co widać na wykresach czasowych wyżej, żadna z tych funkcji nie jest identyczna.
A1 ## B1 ## C1 ## D1
gdzie:
## - różne na mocy definicji
W języku mówionym są to cztery różne zdania pomiędzy którymi nie zachodzą żadne zależności matematyczne, czyli między dowolnymi dwoma zdaniami pochodzącymi różnych źródeł (A1, B1, C1, D1) nie zachodzi prawo przejścia do logiki przeciwnej, a tym samym nie zachodzi prawo De Morgana.
Doskonale to widać w poniższych przykładach.
Funkcje logiczne między którymi zachodzi prawo przejścia do logiki przeciwnej, a tym samym prawo De Morgana to:
A1-A2
B1-B2
C1-C2
D1-D2
A1.
Y=p*q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
A2.
~Y=~p+~q
Przykład:
A1.
Jutro pójdę do kina i do teatru
Y=K*T
co matematycznie oznacza:
Y=1 <=> K=1 i T=1
Dotrzymam słowa jeśli pójdę i do kina i do teatru
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~K+~T
A2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina lub nie pójdę do teatru
~Y=~K+~T
co matematycznie oznacza:
~Y=1 <=> ~K=1 lub ~T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając A1 i A2 mamy prawo De Morgana:
Y = K*T = ~(~K+~T)
B1.
Y=~p*q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
B2.
~Y=p+~q
Przykład:
B1.
Jutro nie pójdę do kina i pójdę do teatru
Y=~K*T
co matematycznie oznacza:
Y=1 <=> ~K=1 i T=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) i pójdę do teatru (T=1)
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=K+~T
B2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub nie pójdę do teatru (~T=1)
~Y=K+~T
co matematycznie oznacza:
~Y=1 <=> K=1 lub ~T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając B1 i B2 mamy prawo De Morgana:
Y = ~K*T = ~(K+~T)
C1.
Y=p*~q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
C2.
~Y=~p+q
Przykład:
C1.
Jutro pójdę do kina i nie pójdę do teatru
Y=K*~T
co matematycznie oznacza:
Y=1 <=> K=1 i ~T=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) i nie pójdę do teatru (~T=1)
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~K+T
C2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) lub pójdę do teatru (T=1)
~Y=~K+T
co matematycznie oznacza:
~Y=1 <=> ~K=1 lub T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając C1 i C2 mamy prawo De Morgana:
Y = K*~T = ~(~K+T)
D1.
Y=~p*~q
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
D2.
~Y=p+q
Przykład:
D1.
Jutro nie pójdę do kina i nie pójdę do teatru
Y=~K*~T
co matematycznie oznacza:
Y=1 <=> ~K=1 i ~T=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) i nie pójdę do teatru (~T=1)
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=K+T
D2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub pójdę do teatru (T=1)
~Y=K+T
co matematycznie oznacza:
~Y=1 <=> K=1 lub T=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając D1 i D2 mamy prawo De Morgana:
Y = ~K*~T = ~(K+T)
4.4 Definicja symboliczna operatora OR
Definicja symboliczna 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
|
Definicja operatora OR:
Operator OR to złożenie spójnika „lub”(+) w logice dodatniej (bo Y) ze spójnikiem „i”(*) w logice ujemnej (bo ~Y):
W: Y=p+q = p*q + p*~q + ~p*q - wyłącznie obszar ABC123
U: ~Y = ~p*~q - wyłącznie linia D123
Zdania W i U to zdania różne (Y#~Y) pomiędzy którymi zachodzi prawo przejścia do logiki przeciwnej.
W.
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
inaczej:
Y=0
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spójników
U.
~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1
inaczej:
~Y=0
Związek logiki dodatniej (bo Y) i ujemnej (bo ~Y):
Y = ~(~Y) - prawo podwójnego przeczenia
Podstawiając W i U mamy prawo De Morgana:
Y = p+q = ~(~p*~q)
W tabeli symbolicznej operatora OR zmienne wejściowe p i q mogą występować w dowolnych przeczeniach, nie ma to wpływu na tabelę zero-jedynkową operatora OR co wyżej udowodniliśmy. Funkcja wyjściowa Y musi pozostać dokładnie jak wyżej, nie wolno jej negować.
Dla punktu odniesienia ustawionym na zdaniu W otrzymujemy zero-jedynkową definicję operatora OR w logice dodatniej (bo Y):
W.
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Stąd otrzymujemy:
p=1, ~p=0
q=1, ~q=0
Y=1, ~Y=0
Zero-jedynkowa definicja operatora OR w logice dodatniej (bo Y):
Kod: |
Tabela 1
Definicja symboliczna OR |Definicja zero-jedynkowa spójnika „lub”(+)
Punkt odniesienia Y=p+q |w logice dodatniej (bo Y)
p q Y=p+q | p q Y=p+q
----------------------------------------------------------
A: p* q = Ya | 1+ 1 =1
B: p*~q = Yb | 1+ 0 =1
C:~p* q = Yc | 0+ 1 =1
D:~p*~q =~Y | 0+ 0 =0
1 2 3 4 5 6
|
Przykładowe algorytmy tworzenia tabeli zero-jedynkowej ABCD456 z tabeli symbolicznej ABCD123 i odwrotnie.
Algorytm I
Najprostszy algorytm tworzenia tabeli zero-jedynkowej ABCD456 z tabeli symbolicznej ABCD123 to zastąpienie symboli w tabeli ABCD123 odpowiednimi zerami i jedynkami zgodnie z przyjętym punktem odniesienia, tu:
W: Y=p+q
p=1, ~p=0
q=1, ~q=0
Y=1, ~Y=0
Wiersze w tabeli zero-jedynkowej łączymy spójnikiem „lub”(+).
Algorytm odwrotny jest identyczny jak w algorytmie II
Algorytm II
Użyteczny algorytm tworzenia tabeli zero-jedynkowej ABCD456 z definicji symbolicznej ABCD123:
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
3.
W wierszach tabeli zero-jedynkowej używamy spójnika „lub”(+)
Algorytm odwrotny jest oczywisty.
Algorytm tworzenia definicji symbolicznej ABCD123 na podstawie tabeli zero-jedynkowej ABCD456:
1.
Jeśli na danej pozycji występuje 1 to przepisujemy nagłówek tabeli
2.
Jeśli na danej pozycji występuje 0 to przepisujemy zanegowany nagłówek tabeli
3.
Zmienne wejściowe łączymy spójnikiem „i”(*)
Tabela ABCD456 to zero-jedynkowa definicja operatora OR.
Dla punktu odniesienia ustawionego na zdaniu U otrzymujemy zero-jedynkową definicję operatora AND w logice ujemnej (bo ~Y).
U: ~Y=~p*~q
~p=1, p=0
~q=1, q=0
~Y=1, Y=0
Zero-jedynkowa definicja operatora AND w logice ujemnej (bo ~Y)
Kod: |
Tabela 2
Definicja symboliczna OR |Definicja zero-jedynkowa AND
Punkt odniesienia ~Y=~p*~q |dla punktu odniesienia ~Y=~p*~q
~p ~q ~Y=~p*~q |~p ~q ~Y=~p*~q
-----------------------------------------------------------
A: p* q = Ya | 0* 0 =0
B: p*~q = Yb | 0* 1 =0
C:~p* q = Yc | 1* 0 =0
D:~p*~q =~Y | 1* 1 =1
1 2 3 4 5 6
|
Zauważmy, że definicja symboliczna operatora OR jest identyczna w tabeli 1 i tabeli 2 (obszar ABCD123).
Dla punktu odniesienia ustawionym na zdaniu w logice ujemnej (bo ~Y) otrzymujemy zero-jedynkową definicję operatora AND w logice ujemnej (bo ~Y). Algorytmy tworzenia tabeli zero-jedynkowej ABCD456 z tabeli symbolicznej ABCD123 i odwrotnie są tu identyczne jak w tabeli 1.
Przykład przedszkolaka:
W.
Jutro pójdę do kina lub do teatru
Y = K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
... 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=~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ó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
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)
4.5 Definicja symboliczna operatora AND
Definicja symboliczna 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
|
Definicja symboliczna operatora AND:
Operator AND to złożenie spójnika „i”(*) w logice dodatniej (bo Y) ze spójnikiem „lub”(+) w logice ujemnej (bo ~Y):
Y=p*q - wyłącznie linia A
~Y = ~p+~q = ~p*~q + ~p*q + p*~q - wyłącznie linie B, C, D
W.
Y=p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
inaczej:
Y=0
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spójników
U.
~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
inaczej:
~Y=0
Związek logiki dodatniej (bo Y) i ujemnej (bo ~Y):
Y = ~(~Y) - prawo podwójnego przeczenia
Podstawiając W i U mamy prawo De Morgana:
Y = p*q = ~(~p+~q)
W tabeli symbolicznej operatora AND zmienne wejściowe p i q mogą występować w dowolnych przeczeniach, nie ma to wpływu na tabelę zero-jedynkową operatora OR co wyżej udowodniliśmy. Funkcja wyjściowa Y musi pozostać dokładnie jak wyżej, nie wolno jej negować.
Dla punktu odniesienia ustawionym na zdaniu W otrzymamy zero-jedynkową definicję operatora AND.
W: Y=p*q
p=1, ~p=0
q=1, ~q=0
Y=1, ~Y=0
Zero-jedynkowa definicja operatora AND w logice dodatniej (bo Y)
Kod: |
Tabela 1
Definicja symboliczna AND|Definicja zero-jedynkowa spójnika „i”(*)
Punkt odniesienia Y=p*q |w logice dodatniej (bo Y)
p q Y=p*q | p q Y=p*q
-------------------------------------------------------------------
A: p* q = Y | 1* 1 =1
B:~p*~q =~Yb | 0* 0 =0
C:~p* q =~Yc | 0* 1 =0
D: p*~q =~Yd | 1* 0 =0
1 2 3 4 5 6
|
Przykładowe algorytmy tworzenia tabeli zero-jedynkowej ABCD456 z tabeli symbolicznej ABCD123 i odwrotnie.
Algorytm I
Najprostszy algorytm tworzenia tabeli zero-jedynkowej ABCD456 z tabeli symbolicznej ABCD123 to zastąpienie symboli w tabeli ABCD123 odpowiednimi zerami i jedynkami zgodnie z przyjętym punktem odniesienia, tu:
W: Y=p*q
p=1, ~p=0
q=1, ~q=0
Y=1, ~Y=0
Wiersze w tabeli zero-jedynkowej łączymy spójnikiem „*”(*).
Algorytm odwrotny jest identyczny jak w algorytmie II
Algorytm II
Użyteczny algorytm tworzenia tabeli zero-jedynkowej ABCD456 z definicji symbolicznej ABCD123:
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
3.
W wierszach tabeli zero-jedynkowej używamy spójnika „i”(*), zgodnie z nagłówkiem tabeli zero-jedynkowej.
Algorytm odwrotny jest oczywisty.
Algorytm tworzenia definicji symbolicznej ABCD123 na podstawie tabeli zero-jedynkowej ABCD456:
1.
Jeśli na danej pozycji występuje 1 to przepisujemy nagłówek tabeli
2.
Jeśli na danej pozycji występuje 0 to przepisujemy zanegowany nagłówek tabeli
3.
Zmienne wejściowe łączymy spójnikiem „i”(*)
Tabela ABCD456 to zero-jedynkowa definicja operatora AND.
Dla punktu odniesienia ustawionego na zdaniu U otrzymujemy zero-jedynkową definicję operatora OR w logice ujemnej (bo ~Y).
U: ~Y=~p+~q
~p=1, p=0
~q=1, q=0
~Y=1, Y=0
Zero-jedynkowa definicja operatora OR w logice ujemnej (bo ~Y)
Kod: |
Tabela 2
Definicja symboliczna AND |Definicja zero-jedynkowa spójnika „lub”(+)
Punkt odniesienia ~Y=~p+~q |w logice ujemnej (bo ~Y)
~p ~q ~Y=~p+~q |~p ~q ~Y=~p+~q
-------------------------------------------------------------------
A: p* q = Y | 0+ 0 =0
B:~p*~q =~Yb | 1+ 1 =1
C:~p* q =~Yc | 1+ 0 =1
D: p*~q =~Yd | 0+ 1 =1
1 2 3 4 5 6
|
Zauważmy, że definicja symboliczna operatora AND jest identyczna w tabeli 1 i tabeli 2 (obszar ABCD123).
Dla punktu odniesienia ustawionym na zdaniu w logice ujemnej (bo ~Y) otrzymujemy zero-jedynkową definicję operatora OR w logice ujemnej (bo ~Y). Algorytmy tworzenia tabeli zero-jedynkowej ABCD456 z tabeli symbolicznej ABCD123 i odwrotnie są tu identyczne jak w tabeli 1.
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 lub ~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)
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)
4.6 Logika człowieka w spójnikach „lub”(+) i „i”(*)
Definicja naturalnej logiki człowieka w spójnikach „lub”(+) i „i”(*):
Naturalną logiką człowieka są postaci: alternatywna, koniunkcyjna, alternatywno-koniunkcyjna
Postać alternatywna:
Y = A1+A2+ … An
co matematycznie oznacza:
Y=1 <=> A1=1 lub A2=1 lub … An=1
Postać koniunkcyjna:
Y = A1*A2* … An
co matematycznie oznacza:
Y=1 <=> A1=1 i A2=1 i … An=1
Postać alternatywno-koniunkcyjna to suma logiczna iloczynów cząstkowych:
Y = p*q + p*~q + ~p*q
co matematycznie oznacza:
Y=1 <=> (p*q)=1 lub (p*~q)=1 lub (~p*q)=1
Aksjomat:
W naturalnej logice człowieka domyśla kolejność spójników to:
„i”(*), „lub”(+)
Definicja logiki sprzecznej z naturalną logiką człowieka w spójnikach „lub”(+) i „i”(*):
Logiką sprzeczną z naturalną logiką człowieka jest postać koniunkcyjno-alternatywna.
Postać koniunkcyjno-alternatywna to iloczyny logiczne sum cząstkowych:
Y = (p+q)*(r+~q)
co matematycznie oznacza:
Y=1 <=> (p+q)=1 i (r+~q)=1
Twierdzenie:
Przejście z postaci koniunkcyjno-alternatywnej do postaci alternatywno-koniunkcyjnej (logiki człowieka) to po prostu wymnożenie wielomianów.
Przykład:
Y = (p+q)*(r+~q)
Y = p*r + p*~q + q*r + q*~q
Y = p*r + p*~q + q*r
Prawa algebry Boole’a:
q*~q=0
x+0 =x
Dowód sprzeczności postaci koniunkcyjno-alternatywnej z naturalną logiką człowieka poprzez znalezienie kontrprzykładu.
Rozważmy zdanie:
W.
Jutro pójdę do kina lub na basen i do parku
Y = K+B*P
co matematycznie oznacza:
Y=1 <=> K=1 lub (B*P)=1
Wystarczy że którykolwiek składnik sumy logicznej zostanie ustawiony na jeden i już dotrzymałem słowa, wartości logicznej drugiego składnika nie musimy sprawdzać.
… a kiedy skłamię?
Przechodzimy ze zdaniem W do logiki ujemnej poprzez negację zmiennych i wymianę spójników otrzymując postać koniunkcyjno-alternatywną:
U.
~Y = ~K*(~B+~P)
Mnożymy zmienną przez wielomian:
~Y = ~K*~B + ~K*~P
Ostatnie równanie to postać alternatywno-koniunkcyjną, naturalna logika człowieka.
Stąd:
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina i nie pójdę na basem lub nie pójdę do kina i nie pójdę do parku
~Y = ~K*~B + ~K*~P
co matematycznie oznacza:
~Y=1 <=> (~K*~B)=1 lub (~K*~P)=1
Wystarczy że którykolwiek składnik sumy logicznej zostanie ustawiony na jeden i już dotrzymałem słowa, drugiego składnika nie musimy sprawdzać.
Załóżmy że jest pojutrze i zaszło:
~Y = ~K*~B = 1*1 =1 - nie byłem w kinie (~K=1) i nie byłem na basenie (~B=1)
czyli:
Skłamałem (~Y=1), drugiego członu alternatywy nie muszę sprawdzać
Natomiast postać koniunkcyjno-alternatywna, mimo że prosta, dla normalnego człowieka będzie niezrozumiała.
U1.
~Y=~K*(~B+~P)
Dowód:
U2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro nie pójdę do kina (~K=1) i nie pójdę na basen (~B=1) lub nie pójdę do parku (~P=1)
W naturalnej logice człowieka domyśla kolejność spójników to:
„i”(*), „lub”(+)
Każdy normalny człowiek słysząc zdanie U2 zrozumie i zapisze je jako:
~Y=~K*~B + ~P
Dostaliśmy zapis kompletnie inny niż w równaniu U1, co jest dowodem sprzeczności postaci koniunkcyjno-alternatywnej z naturalną logiką człowieka.
cnd
Nawet jak wstawimy tu nawiasy kwadratowe:
U2.
Skłamię (~Y=1) jeśli jutro nie pójdę do kina (~K=1) i [nie pójdę na basen lub nie pójdę do parku (~B+~P)=1]
~Y = ~K*[~B+~P]
… to i tak żaden normalny człowiek tego nie zrozumie, mimo że funkcja jest banalnie prosta.
Jeśli zdanie U2 przekształcimy do postaci U poprzez wymnożenie zmiennej przez wielomian to zrozumie je każdy 5-cio latek.
Rozważmy problem postaci alternatywno-koniunkcyjnej i koniunkcyjno-alternatywnej na przykładzie ogólnym, gdzie w tabeli zero-jedynkowej występuje więcej niż jedna linia z jedynkami w wyniku i więcej niż jedna linia z zerami w wyniku.
Zadanie:
Znaleźć wszystkie możliwe postaci funkcji logicznej:
A: Y=p+q*r
Krok 1
Wszystkie możliwe funkcje minimalne:
A: Y=p+q*r - postać alternatywno-koniunkcyjna w logice dodatniej (bo Y)
Przechodzimy do logiki ujemnej poprzez negację zmiennych i wymianę spójników
D: ~Y=~p*(~q+~r) - postać koniunkcyjno-alternatywna w logice ujemnej (bo ~Y)
Mnożąc zmienną ~p przez wielomian otrzymujemy:
C: ~Y = ~p*~q + ~p*~r - postać alternatywno-koniunkcyjna w logice ujemnej (bo ~Y)
Wyłącznie postaci alternatywno-koniunkcyjne są doskonale rozumiana przez każdego człowieka.
Z równaniem C przechodzimy z powrotem do logiki dodatniej otrzymując minimalną postać koniunkcyjno- alternatywną, oczywiście sprzeczną z logiką człowieka.
B: Y = (p+q)*(p+r)
Matematycznie zachodzą tożsamości w postaciach minimalnych:
Y = Y
A: Y = p+q*r = B: Y = (p+q)*(p+r)
~Y = ~Y
C: ~Y = ~p*~q + ~p*~r = D: ~Y = ~p*(~q+~r)
A i C to postaci alternatywno-koniunkcyjne.
B i D to postaci koniunkcyjno-alternatywne
Dowód sprzeczności równania B z naturalną logiką człowieka:
A.
Jutro pójdę do kina lub pójdę na basen i do parku
Y = K+B*P
To rozumie każdy 5-cio latek.
Zdanie matematycznie tożsame:
B.
Y = (K+B)*(K+P)
Wypowiedzmy zdanie B w naturalnej logice człowieka:
B1.
Jutro pójdę do kina lub pójdę na basen i pójdę do kina lub pójdę do parku
Kolejność spójników w naturalnej logice człowieka to:
„i”(*), „lub”(+)
Stąd każdy normalny człowiek zrozumie i zapisze zdanie jako:
B1: Y = K + B*K + P
Oczywiście funkcja logiczna B1 to zupełnie co innego niż funkcja B co jest dowodem sprzeczności postaci koniunkcyjnej z naturalną logiką człowieka
cnd
Podsumowując, postaci minimalne dla naszej funkcji logicznej A to:
A: Y = p+q*r - postać alternatywno-koniunkcyjna (naturalna logika człowieka)
B: Y = (p+q)*(p+r) - postać koniunkcyjno- alternatywna (funkcja sprzeczna z naturalną logiką człowieka)
Postaci minimalne dla naszej funkcji A w logice ujemnej (bo ~Y):
C: ~Y = ~p*~q + ~p*~r - postać alternatywno koniunkcyjna (naturalna logika człowieka)
D: ~Y = ~p*(~q+~r) - postać koniunkcyjno- alternatywna (funkcja sprzeczna z naturalną logiką człowieka)
Naturalna logika człowieka
Zbudujmy tabelę zero-jedynkową dla naszej funkcji logicznej w naturalnej logice człowieka:
A: Y = p+q*r
Kod: |
p q r q*r Y=p+q*r |~p ~q ~r ~q+~r ~Y=~p*(~q+~r)
A: 1 1 1 1 1 / Ya= p* q* r | 0 0 0 0 =0 / Ya= p* q* r
B: 1 1 0 0 1 / Yb= p* q*~r | 0 0 1 1 =0 / Yb= p* q*~r
C: 1 0 1 0 1 / Yc= p*~q* r | 0 1 0 1 =0 / Yc= p*~q* r
D: 1 0 0 0 1 / Yd= p*~q*~r | 0 1 1 1 =0 / Yd= p*~q*~r
E: 0 1 1 1 1 / Ye=~p* q* r | 1 0 0 0 =0 / Ye=~p* q* r
F: 0 1 0 0 0 /~Yf=~p* q*~r | 1 0 1 1 =1 /~Yf=~p* q*~r
G: 0 0 1 0 0 /~Yg=~p*~q* r | 1 1 0 1 =1 /~Yg=~p*~q* r
H: 0 0 0 0 0 /~Yh=~p*~q*~r | 1 1 1 1 =1 /~Yh=~p*~q*~r
1 2 3 4 5 a b c d 6 7 8 9 0 e f g h
|
Algorytm tworzenia równań cząstkowych abcde w naturalnej logice człowieka:
1.
Korzystając z praw Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Dokładniej korzystamy z tego:
Jeśli p=0 to ~p=1
Sprowadzamy wszystkie zmienne do jedynek
2.
Funkcje cząstkowe w wierszach łączymy spójnikiem „i”(*), natomiast odpowiednie funkcje cząstkowe w pionach łączmy spójnikiem „lub”(+).
Doskonale widać identyczność definicji symbolicznych abcd i efgh niezależnie od przyjętego punktu odniesienia:
Y=p+q*r - dla tabeli 12345
i
~Y=~p*(~q+~r) - dla tabeli 67890
Naszą tabelę w naturalnej logice człowieka opisuje układ równań logicznych:
ABCDE123:
Y=Ya+Yb+Yc+Yd+Ye
Y = p*q*r + p*q*~r + p*~q*r + p*~q*~r + ~p*q*r
FGH123
~Y = ~Yf + ~Yg+~Yh
~Y = ~p*q*~r + ~p*~q*r + ~p*~q*~r
Twierdzenie Żabki:
Dla dowolnej funkcji logicznej, równanie logiczne z nagłówka tabeli zero-jedynkowej jest tożsame z układem równań poziomych opisujących wynikowe jedynki.
Dowód na przykładzie:
Nasze równanie z nagłówka tabeli zero-jedynkowej opisuje wyłącznie obszar ABCDE123.
A: Y=p+q*r
Dowód:
ABCDE123:
Y = p*q*r + p*q*~r + p*~q*r + p*~q*~r + ~p*q*r
Y=p*q*(r+~r) + p*~q(r+~r) + ~p*q*r
Y = p*q + p*~q + ~p*q*r
Y = p*(q+~q) + ~p*q*r
Y = p+~p*q*r
~Y = ~p*(p+~q+~r)
~Y = ~p*p+~p*~q + ~p*~r
C: ~Y = ~p*~q + ~p*~r
D: ~Y = ~p*(~q+~r)
Przejście z równaniem D do logiki przeciwnej:
A: Y = p+q*r
Przejście z równaniem C do logiki przeciwnej:
B: Y = (p+q)*(p+r)
cnd
Jak widzimy, wszystko nam się bombowo zgadza, równania A i B wyprowadziliśmy wcześniej nie potrzebując tabeli zero-jedynkowej.
Natomiast równania w logice ujemnej opisują wyłącznie obszar FGH123 w naszej tabeli zero-jedynkowej.
C: ~Y = ~p*~q + ~p*~r
D: ~Y=~p*(~q+~r)
Dowód:
FGH123:
~Y = ~p*q*~r + ~p*~q*r + ~p*~q*~r
~Y = ~p*q*~r + ~p*~q(r+~r)
~Y = ~p*q*~r + ~p*~q
~Y = ~p(q*~r+~q)
~Y = ~p*(z)
z=(q*~r) + ~q
~z = (~q+r)*q
~z = ~q*q + r*q
~z = r*q
~z = q*r
z = ~q + ~r
~Y = ~p*(z)
D: ~Y = ~p*(~q + ~r)
Po wymnożeniu zmiennej przez wielomian mamy:
C: ~Y = ~p*~q + ~p*~r
cnd
Tu również wszystko genialnie się zgadza, równania C i D wyprowadziliśmy wcześniej bez pomocy tabeli zero-jedynkowej.
Nasz przykład:
W.
Jutro pójdę do kina lub na basen i do parku
Y=K+B*P
Zauważmy, że w zdaniu tym mamy totalny brak determinizmu, nie mamy pojęcia jakie wartości logiczne przyjmą w tym zdaniu zmienne K, B i P w dniu jutrzejszym, dlatego są to zmienne logiczne a nie stałe symboliczne.
Definicje:
1.
Zmienna logiczna (binarna):
Zmienna logiczna to zmienna która w funkcji czasu może przyjmować dowolne wartości 0 albo 1
Przykłady: K, B, P
2.
Stała symboliczna:
Stała symboliczna to symboliczna nazwa konkretnej wartości logicznej znanej z góry która nigdy nie może być zmieniona.
Załóżmy, że jest pojutrze i znamy już wartości logiczne wszystkich zmiennych np.
K=0 - wczoraj nie byłem w kinie
B=0 - wczoraj nie byłem na basenie
P=1 - wczoraj byłem w parku
Czasu nie można cofnąć, zmienne K, B, i P z przedwczoraj przeszły w stałe symboliczne dzisiaj.
Niemożliwa jest jakakolwiek zmiana stałej symbolicznej.
Najprostsze rozstrzygnięcie czy wczoraj dotrzymałem słowa/skłamałem otrzymamy bezpośrednio ze zdania wypowiedzianego (nagłówek tabeli):
Y = K + B*P = 0 + 0*1 = 0+0 =0
Y=0 - skłamałem w logice dodatniej (bo Y)
Zauważmy że w świecie zdeterminowanym (pojutrze) zachodzi:
K=0, ~K=1
K=0 - fałszem jest (=0), że wczoraj byłem w kinie (K)
~K=1 - prawdą jest (=1), że wczoraj nie byłem w kinie (~K)
Doskonale widać, że powyższe zdania są tożsame (prawo Prosiaczka)
(K=0) = (~K=1)
etc
Zapis:
K=0, ~K=1
To skrócony zapis prawa Prosiaczka, który będzie standardem w tym podręczniku.
Ostatnio zmieniony przez rafal3006 dnia Śro 8:14, 09 Paź 2013, w całości zmieniany 10 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rafal3006
Opiekun Forum Kubusia
Dołączył: 30 Kwi 2006
Posty: 35973
Przeczytał: 14 tematów
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Czw 21:00, 15 Sie 2013 Temat postu: |
|
|
6.0 Operatory implikacji i równoważności w zbiorach
Algebra Kubusia to symboliczna algebra Boole’a, gdzie nie ma ani jednej tabeli zero-jedynkowej. Cała logika zakodowana jest w równaniach algebry Boole’a (zbiorach) izolowanych od tabel zero-jedynkowych.
Tajemnica implikacji i równoważności to zaledwie trzy znaczki =>, ~> i ~~>.
1.
Ogólna definicja znaczka => (warunek wystarczający):
p=>q
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Przykład:
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L = P*4L =P =1 bo pies
Definicja znaczka => spełniona bo:
Zbiór „pies” zawiera się w zbiorze zwierząt z czterema łapami
Zbiór P: pies - zbiór jednoelementowy
Zbiór 4L: pies, słoń
Bycie psem jest warunkiem wystarczającym => aby mieć cztery łapy
Wymuszam dowolne P i musi pojawić się 4L
2.
Ogólna definicja znaczka ~> (warunek konieczny):
p~>q
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>.
Przykład:
A.
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P = 4L*P =P =1 bo pies
Definicja znaczka ~> spełniona bo:
Zbiór zwierząt z czteroma łapami zawiera w sobie zbiór „pies”
Zbiór 4L: pies, słoń
Zbiór P: pies - zbiór jednoelementowy
4L jest konieczne ~> dla P
Zabieram zbiór 4L i znika mi zbiór P
3.
Ogólna definicja znaczka ~~> (naturalny spójnik „może”):
~~> - zbiór na podstawie wektora ~~> musi mieć co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Przykład:
B.
Jeśli zwierzę ma cztery łapy to może ~~> nie być psem
4L~~>~P = 4L*~P =1 bo słoń, koń …
Wystarczy znaleźć jeden element należący do zbiorów 4L i ~P
Warunek konieczny ~> tu nie zachodzi bo prawo Kubusia:
4L~>~P = ~4L=>P =0
stąd:
Jeśli zwierzę nie ma czterech łap to na pewno => jest psem
~4L=>P =0 - bo kontrprzykład: kura
Prawa strona prawa Kubusia jest fałszem, zatem z lewej strony nie może zachodzić warunek konieczny ~>:
4L~>~P =0
Zdanie B jest prawdziwe na mocy naturalnego spójnika „może” ~~>, wystarczy znaleźć jeden element wspólny zbioru 4L*~P (słoń).
To co wyżej to praktycznie kompletna teoria implikacji w algebrze Kubusia, czyli cały czas będziemy się kręcić wokół powyższego.
Związek operatorów implikacji prostej i odwrotnej w technicznej algebrze Boole’a.
Maszynowa (zero-jedynkowa) definicja implikacji prostej:
Kod: |
p q p=>q
A: 1=> 1 =1
B: 1=> 0 =0
C: 0=> 0 =1
D: 0=> 1 =1
|
Dokładnie ta sama definicja w równaniu algebry Boole’a (algebrze Kubusia):
p=>q = ~p~>~q
Warunek wystarczający => w logice dodatniej (bo q) jest tożsamy z warunkiem koniecznym ~> w logice ujemnej (bo ~q). Po obu stronach tożsamości muszą być te same parametry p i q.
Maszynowa (zero-jedynkowa) definicja implikacji odwrotnej:
Kod: |
p q p~>q
A: 1~> 1 =1
B: 1~> 0 =1
C: 0~> 0 =1
D: 0~> 1 =0
|
Dokładnie ta sama definicja w równaniu algebry Boole’a (algebrze Kubusia):
p~>q = ~p=>~q
Warunek konieczny ~> w logice dodatniej (bo q) jest tożsamy z warunkiem wystarczającym => w logice ujemnej (bo ~q). Po obu stronach tożsamości muszą być te same parametry p i q.
Matematycznie zachodzi:
Implikacja prosta ## Implikacja odwrotna
p=>q = ~p~>~q ## p~>q = ~p=>~q
gdzie:
## - rożne na mocy definicji
W tym przypadku po obu stronach znaku ## mogą być dowolne parametry p i q, nie muszą być te same.
Definicje implikacji prostej i odwrotnej w równaniach algebry Boole’a to jednocześnie prawa Kubusia.
I prawo Kubusia:
p=>q = ~p~>~q - implikacja prosta w logice dodatniej (bo q)
Oczywiście powyższe prawo możemy zapisać tak:
~p~>~q = p=>q - implikacja odwrotna w logice ujemnej (bo ~q)
Implikacja prosta w logice dodatniej (bo q) jest tożsama z implikacją odwrotną w logice ujemnej (bo ~q) i odwrotnie.
Dowód formalny I prawa Kubusia:
Kod: |
p q p=>q ~p ~q ~p~>~q
A: 1=> 1 =1 0~> 0 =1
B: 1=> 0 =0 0~> 1 =0
C: 0=> 0 =1 1~> 1 =1
D: 0=> 1 =1 1~> 0 =1
1 2 3 4 5 6
|
Tożsamość kolumn 3 i 6 jest dowodem formalnym I prawa Kubusia:
p=>q = ~p~>~q
W tym przypadku parametry formalne p i q muszą być tymi samymi parametrami.
II prawo Kubusia:
p~>q = ~p=>~q - implikacja odwrotna w logice dodatniej (bo q)
Oczywiście powyższe prawo możemy zapisać tak:
~p=>~q = p~>q - implikacja prosta w logice ujemnej (bo ~q)
Implikacja odwrotna w logice dodatniej (bo q) jest tożsama z implikacją prostą w logice ujemnej (bo ~q) i odwrotnie.
Dowód formalny II prawa Kubusia:
Kod: |
p q p~>q ~p ~q ~p=>~q
A: 1~> 1 =1 0=> 0 =1
B: 1~> 0 =1 0=> 1 =1
C: 0~> 0 =1 1=> 1 =1
D: 0~> 1 =0 1=> 0 =0
1 2 3 4 5 6
|
Tożsamość kolumn 3 i 6 jest dowodem formalnym II prawa Kubusia:
p~>q = ~p=>~q
W tym przypadku parametry formalne p i q muszą być tymi samymi parametrami.
W implikacji nie zachodzi przemienność argumentów.
Przemienność argumentów w implikacji prostej:
Kod: |
p q p=>q q p q=>p
A: 1=> 1 =1 1=> 1 =1
B: 1=> 0 =0 0=> 1 =1
C: 0=> 0 =1 0=> 0 =1
D: 0=> 1 =1 1=> 0 =0
1 2 3 4 5 6
|
Brak tożsamości kolumn 3 i 6 jest dowodem formalnym braku przemienności argumentów w implikacji prostej.
p=>q = ~p~>~q # q=>p = ~q~>~p
gdzie:
# - różne (w znaczeniu kolumny wynikowe są różne)
Po obu stronach znaku # mamy to samo p i q.
Oznacza to że jeśli zdanie p=>q jest prawdziwe to zdanie q=>p będzie fałszywe (odwrotnie nie zachodzi).
Przykład:
A.
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L =1
Definicja znaczka => spełniona bo:
Zbiór „pies” zawiera się w zbiorze „zwierząt z czteroma łapami”
Bycie psem jest warunkiem wystarczającym => aby mieć cztery łapy
AO.
Jeśli zwierzę ma cztery łapy to na pewno => jest psem
4L=>P =0 bo kontrprzykład: słoń
A: P=>4L # AO: 4L=>P
W tym przypadku ze zdania fałszywego AO, po zamianie argumentów wynika zdanie prawdziwe A.
… ale nie zawsze tak musi być (odwrotnie nie zachodzi):
B.
Jeśli pies ma cztery łapy to na pewno => kura ma skrzydła
P4L=>KS =0
P4L - zbiór psów z czterema łapami
KS - zbiór kur ze skrzydłami
Zbiory:
P4L=>KS = P4L*KS = 1*1 =0
Oba zbiory istnieją (P4L=1 i KS=1), ale są rozłączne, stąd w wyniku 0.
Definicja znaczka => nie jest tu spełniona bowiem zbiór P4L nie zawiera się w zbiorze KS.
Oczywiście po zamianie argumentów to zdanie również pozostanie fałszywe.
Przemienność argumentów w implikacji odwrotnej:
Kod: |
p q p~>q q p q~>p
A: 1~> 1 =1 1~> 1 =1
B: 1~> 0 =1 0~> 1 =0
C: 0~> 0 =1 0~> 0 =1
D: 0~> 1 =0 1~> 0 =1
1 2 3 4 5 6
|
Brak tożsamości kolumn 3 i 6 jest dowodem formalnym braku przemienności argumentów w implikacji odwrotnej.
p~>q = ~p=>~q # q~>p = ~q=>~p
gdzie:
# - różne (w znaczeniu kolumny wynikowe są różne)
Po obu stronach znaku # mamy to samo p i q.
Oznacza to że jeśli zdanie p~>q jest prawdziwe to zdanie q~>p będzie fałszywe (odwrotnie nie zachodzi).
Przykład:
A.
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P = 4L*P =P =1 bo pies
Definicja znaczka ~> spełniona bo:
Zbiór zwierząt z czterema łapami zawiera w sobie zbiór „pies”
4L jest konieczne ~> dla P
Zabieram zbiór 4L i znika mi zbiór P
AO:
Jeśli zwierzę jest psem to może ~> mieć cztery łapy
P~>4L =0
bo:
Prawo Kubusia:
P~>4L = ~P=>~4L =0
Jeśli zwierzę nie jest psem to na pewno => nie ma czterech łap
~P=>~4L =0 bo kontrprzykład: słoń
W tym przypadku ze zdania fałszywego AO, po zamianie argumentów wynika zdanie prawdziwe A.
… ale nie zawsze tak musi być (odwrotnie nie zachodzi):
B.
Jeśli pies ma cztery łapy to kura może ~> mieć ma skrzydła
P4L~>KS =0
P4L - zbiór psów z czterema łapami
KS - zbiór kur ze skrzydłami
Zbiory:
P4L~>KS = P4L*KS = 1*1 =0
Oba zbiory istnieją (P4L=1 i KS=1), ale są rozłączne, stąd w wyniku 0.
Definicja znaczka ~> nie jest tu spełniona bowiem zbiór P4L nie zawiera w sobie zbioru KS.
Oczywiście po zamianie argumentów to zdanie również pozostanie fałszywe.
… zacznijmy jednak od operatora chaosu.
6.1 Operator chaosu w zbiorach
Zero-jedynkowa definicja operatora chaosu ~~>:
Kod: |
p q p~~>q
1~~> 1 =1
1~~> 0 =1
0~~> 0 =1
0~~> 1 =1
|
Ta sama definicja w równaniu algebry Kubusia:
p~~>q =1
Definicja operatora chaosu w zbiorach:
Definicja operatora chaosu:
Jeśli zajdzie p to „może” ~~> zajść q
p~~>q =1
Zbiór p ma część wspólną ze zbiorem q i żaden z nich nie zawiera się w drugim.
Ogólne znaczenie znaczka ~~> (naturalnego spójnika „może”):
p~~>q
~~> - zbiór wskazywany przez podstawę wektora ~~> ma przynajmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Zauważmy, że na mocy definicji zachodzi:
Operator chaosu ## naturalny spójnik „może” ~~>
gdzie:
## - różne na mocy definicji
Definicja naturalnego spójnika „może” ~~>:
~~> - naturalny spójnik „może”, wystarczy pokazać jeden element należący do zbiorów p i q, wystarczy sama możliwość zajścia.
Nie ma tu wymagania, aby zbiory p i q były ze sobą w takiej czy nie innej korelacji.
Przykłady:
1
Jeśli jutro będzie pochmurno to może ~~> nie padać
CH~~>~P=1
Zbiory (stany):
CH~~>~P = CH*~P=1*1=1
Możliwe jest jednoczesne zajście stanów „chmury” i „nie pada” dlatego to zdanie jest prawdziwe.
2.
Jeśli jutro nie będzie pochmurno to może ~~> padać
~CH~~>P =0
Zbiory (stany)
~CH~~>P = ~CH*P =1*1=0
Oba stany są możliwe (~CH=1 i P=1), ale ich jednoczesne wystąpienie nie jest możliwe, dlatego to zdanie jest fałszywe.
3.
Prawdziwe są nawet takie zdania:
Jeśli trójkąt jest prostokątny to może ~~> zachodzić suma kwadratów
TP~~>SK =1
Zbiory:
TP~~>SK = TP*SK=1*1=1
Oba zbiory istnieją (TP=1 i SK=1) i mają co najmniej jeden element wspólny, dlatego to zdanie spełnia definicję naturalnego spójnika „może” ~~>.
Wystarczy, że pokażemy jeden taki trójkąt.
Oczywiście wiemy, że w każdym trójkącie prostokątnym zachodzi suma kwadratów, ale ta wiedza nie jest potrzebna dla dowodu prawdziwości powyższego zdania z naturalnym spójnikiem „może” ~~>.
Symboliczna definicja operatora logicznego:
Operator logiczny to odpowiedź układu na wszystkie możliwe przeczenia p i q
Korzystając z prawa Prosiaczka:
(p=0) = (~p=1)
dokładniej z tego:
Jeśli p=0 to ~p=1
Sprowadzamy tabelę zero-jedynkową operatora chaosu to teorii zbiorów.
Symboliczna definicja operatora chaosu:
Kod: |
Definicja |Definicja
zero-jedynkowa |symboliczna
p q p~~>q | p~~>q
A: 1~~> 1 =1 | p~~> q= p* q=1*1=1
B: 1~~> 0 =1 | p~~>~q= p*~q=1*1=1
C: 0~~> 0 =1 |~p~~>~q=~p*~q=1*1=1
D: 0~~> 1 =1 |~p~~> q=~p* q=1*1=1
1 2 3 4 5 6 7 8 9 0
|
Algorytm tworzenia definicji symbolicznej ABCD67 z definicji zero-jedynkowej ABCD12 na mocy prawa Prosiaczka:
1.
Jeśli na wybranek pozycji występuje 1 to przepisujemy nagłówek kolumny
2.
Jeśli na wybranej pozycji występuje 0 to przepisujemy zanegowany nagłówek kolumny
3.
Wiersze w obszarze ABCD67 łączymy spójnikiem „i”(*):
„i”(*) - iloczyn logiczny zbiorów (koniunkcja zbiorów).
W operatorze chaosu wszystkie wyjścia (kolumna 3) muszą mieć wartość logiczną 1
Stąd:
p~~>q
~~> - naturalny spójnik „może” ~~>, wystarczy pokazać jeden element wspólny zbiorów p i q, wystarczy sama możliwość zaistnienia
Prosty przykład operatora chaosu w zbiorach:
Rozważmy dwa zbiory:
p=[1,2,3,4]
q=[3,4,5,6]
Ustalmy dziedzinę:
D=[1,2,3,4,5,6,7,8]
Stąd otrzymujemy:
~p=[5,6,7,8]
~q=[1,2,7,8]
Zbiór p ma część wspólną ze zbiorem q i żaden z nich nie zawiera się w drugim
Na mocy definicji musi to być operator chaosu.
Na gruncie nowej teorii zbiorów można łatwo udowodnić iż nasz przykład spełnia definicję operatora chaosu, nawet nie znając definicji symbolicznej operatora chaosu.
Symboliczna definicja operatora logicznego w algebrze Kubusia:
Operator logiczny to odpowiedź układu na wszystkie możliwe przeczenia p i q
Zacznijmy od zapisania wszystkich możliwych przeczeń p i q:
A: p~~>q = p*q = [1,2,3,4]*[3,4,5,6] =[3,4] =1 - zbiór niepusty
B: p~~>~q = p*~q = [1,2,3,4]*[1,2,7,8] =[1,2] =1 - zbiór niepusty
C: ~p~~>~q = ~p*~q = [5,6,7,8]*[1,2,7,8] =[7,8] =1 - zbiór niepusty
D: ~p~~>q = ~p*q = [5,6,7,8]*[3,4,5,6] =[5,6] =1 zbiór niepusty
stąd:
Symboliczna definicja operatora:
Kod: |
A: p~~> q = p* q =1
B: p~~>~q = p*~q =1
C:~p~~>~q =~p*~q =1
D:~p~~> q =~p* q =1
|
Dla punktu odniesienia ustawionym na zdaniu A otrzymujemy tabelę zero-jedynkową operatora chaosu.
A: p~~>q = p*q
p=1, ~p=0
q=1, ~q=0
Stąd otrzymujemy:
Kod: |
Tabela 1
Symboliczna definicja |Kodowanie
implikacji operatora |zero-jedynkowe
chaosu |definicji symbolicznej
p~~>q |
p q p~~>q | p q p~~>q
---------------------------------------------
A: p~~> q = p* q =1 | 1~~> 1 =1
B: p~~>~q = p*~q =1 | 1~~> 0 =1
C:~p~~>~q =~p*~q =1 | 0~~> 0 =1
D:~p~~> q =~p* q =1 | 0~~> 1 =1
1 2 3 4 5 6 7 8
|
Algorytm tworzenia tabeli zero-jedynkowej ABCD678 z definicji symbolicznej ABCD125 (ABCD345):
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Algorytm odwrotny jest oczywisty.
Algorytm tworzenia definicji symbolicznej ABCD123 na podstawie tabeli zero-jedynkowej ABCD456:
1.
Jeśli na danej pozycji występuje 1 to przepisujemy nagłówek tabeli
2.
Jeśli na danej pozycji występuje 0 to przepisujemy zanegowany nagłówek tabeli
3.
W naturalnej logice człowieka zmienne p i q łączymy w wierszach spójnikiem „i”(*)
Mając tabelę zero-jedynkową zaglądamy do definicji wszystkich możliwych operatorów logicznych (jest ich 16) gdzie rozstrzygamy, iż uzyskana tabela zero-jedynkowa to definicja operatora chaosu.
Zauważmy, że w teorii zbiorów wystarczy rozstrzygnąć iż zbiory wynikowe A, B, C i D nie są puste.
Twierdzenie:
W dowolnym zdaniu z dwoma parametrami p i q z naturalnego języka mówionego, dla rozstrzygnięcia definicję jakiego operatora logicznego spełnia to zdanie wystarczy rozpatrzyć cztery przypadki uwzględniające wszystkie możliwe przeczenia p i q.
Przykład wyżej.
To jest metoda najprostsza, ale zarazem najgorsza, nie pozwalająca operować prawami zakodowanymi wewnątrz tabeli zero-jedynkowej każdego operatora, zgodnymi z naturalną logiką człowieka. Akurat w przypadku operatora chaosu wewnątrz definicji zero-jedynkowej nie zachodzą żadne prawa logiczne, w przeciwieństwie do innych operatorów: OR, AND, =>, ~>, <=>, co za chwilę zobaczymy.
Przykład z matematycznego przedszkola:
A.
Jeśli liczba jest podzielna przez 8 to może być podzielna przez 3
P8~~>P3=1 bo 24
Analiza matematyczna przez wszystkie możliwe przeczenia p i q:
A.
Jeśli liczba jest podzielna przez 8 to może być podzielna przez 3
P8~~>P3 = P8*P3 =1 bo 24
B.
Jeśli liczba jest podzielna przez 8 to może nie być podzielna przez 3
P8~~>~P3 = P8*~P3 =1 bo 8
C.
Jeśli liczba nie jest podzielna przez 8 to może nie być podzielna przez 3
~P8~~>~P3 = ~P8*~P3 =1 bo 5
D.
Jeśli liczba nie jest podzielna przez 8 to może być podzielna przez 3
~P8~~>P3 = ~P8*P3 =1 bo 3
Wystarczy znaleźć po jednym elemencie wspólnym dla A, B, C, D i mamy rozstrzygnięcie.
Zdanie A jest zawsze prawdziwe, niezależnie od przeczeń p i q, zatem jest to matematyczny śmieć.
Komu potrzebne są twierdzenia tego typu w matematyce?
Twierdzenie:
W operatorze chaosu argumenty są przemienne, zatem jeśli zdanie p~~>q spełnia definicję operatora chaosu to zdanie q~~>p również spełnia definicję operatora chaosu.
Nasze zdanie A po zamianie p i q przyjmuje postać:
A.
Jeśli liczba jest podzielna przez 3 to może ~~> być podzielna przez 8
P3~~>P8=1 bo 24
Dowód formalny przemienności argumentów w operatorze chaosu:
Kod: |
p q p~~>q q p q~~>p
A: 1~~> 1 =1 1~~> 1 =1
B: 1~~> 0 =1 0~~> 1 =1
C: 0~~> 1 =1 1~~> 0 =1
D: 0~~> 0 =1 0~~> 0 =1
1 2 3 4 5 6
|
Tożsamość kolumn 3 i 6 jest dowodem formalnym przemienności argumentów w operatorze chaosu.
6.2 Implikacja prosta w zbiorach
Zapiszmy definicję implikacji prostej w zbiorach, korzystając z prawa Prosiaczka.
Prawo Prosiaczka:
(p=0) = (~p=1)
stąd:
Jeśli p=0 to ~p=1
Kod: |
Wejścia p i q |Wejścia p i q
zero-jedynkowo |Symbolicznie
p q p=>q | p q
A: 1 1 =1 | p* q =1*1=1
B: 1 0 =0 | p*~q =1*1=0
C: 0 0 =1 |~p*~q =1*1=1
D: 0 1 =1 |~p* q =1*1=1
1 2 3 4 5 6
|
Algorytm tworzenia symbolicznych wejść p i q:
Jeśli na wybranej pozycji w tabeli ABCD12 widnieje 1 to przepisujemy nagłówek kolumny (do ABCD45)
Jeśli na wybranej pozycji w tabeli ABCD12 widnieje 0 to przepisujemy zanegowany nagłówek kolumny (do ABCD45)
Jak widzimy wszystkie zmienne wejściowe p i q w tabeli ABCD456 zostały sprowadzone do jedynek, czyli do teorii zbiorów.
Z obszaru AB456 doskonale widać, że zbiór p musi zawierać się w zbiorze q, bowiem wtedy i tylko wtedy zajdzie w zbiorach:
p*~q =0
Z obszaru CD456 widzimy, że zbiory p i q nie mogą być tożsame, bowiem jak zajdzie ~p to może zajść cokolwiek ~q (C456)albo q (D456).
Stąd mamy definicję implikacji prostej w zbiorach.
Definicja implikacji prostej w zbiorach:
Definicja implikacji prostej w logice dodatniej (bo q) w zbiorach:
p=>q = ~p~>~q
p=>q
Zbiór p zawiera się w zbiorze q i nie jest tożsamy ze zbiorem q
Definicja warunku wystarczającego => w zbiorach:
p=>q
Jeśli zajdzie p to na pewno => zajdzie q
Zbiór p zawiera się w zbiorze q
Zajście p jest warunkiem wystarczającym => dla zajścia q
Wymuszam dowolne p i musi pojawić się q
Ogólna definicja znaczka => (warunek wystarczający):
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Definicja tożsama to definicja implikacji odwrotnej w logice ujemnej (bo ~q):
~p~>~q = p=>q
~p~>~q
Zbiór ~p musi zawierać w sobie zbiór ~q i nie być tożsamy ze zbiorem ~q
Ogólna definicja znaczka ~> (warunek konieczny):
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>
~p~>~q
Zabieram ~p i musi zniknąć ~q
Zajście ~p jest konieczne dla zajścia ~q
Symboliczna definicja implikacji prostej:
Kod: |
Warunek wystarczający w logice dodatniej (bo q)
o definicji wyłącznie w A i B
p=>q
A: p=> q =1 - twarda prawda, gwarancja matematyczna
B: p~~>~q=0 - twardy fałsz, wynikły wyłącznie ze zdania A
… a jeśli zajdzie ~p
Prawo Kubusia:
p=>q = ~p~>~q
Warunek konieczny w logice ujemnej (bo ~q)
~p~>~q
C:~p~>~q =1 - miękka prawda, może zajść ale nie musi bo zdanie D
D:~p~~>q =1 - miękka prawda, może zajść ale nie musi bo zdanie C
|
gdzie:
1.
=> - warunek wystarczający, spójnik „na pewno” między p i q w całym obszarze matematyki o definicji wyłącznie w A i B.
Ogólna definicja znaczka => (warunek wystarczający):
p=>q
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
2.
~> - warunek konieczny, w implikacji spójnik „może” między p i q („rzucanie monetą” ~>) o definicji:
~p~>~q = p=>q
Ogólna definicja znaczka ~> (warunek konieczny):
~p~>~q
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>.
~p~>~q = p=>q
Z powyższej tożsamości wynika, że aby dowieść zachodzący warunek konieczny między ~p~>~q wystarczy dowieść warunek wystarczający p=>q zdefiniowany wyłącznie w liniach A i B w powyższej definicji.
… ale uwaga!
Dowód prawdziwości warunku wystarczającego p=>q w liniach A i B o niczym nie rozstrzyga, bowiem ten sam warunek wystarczający może wchodzić w skład definicji implikacji prostej, albo w skład definicji równoważności, to musimy dopiero udowodnić.
Równoważność, gdzie „rzucanie monetą” nie występuje, to zupełnie inna bajka niż implikacja, gdzie „rzucanie monetą” zawsze występuje.
Definicja implikacji prostej:
p=>q = ~p~>~q
Definicja równoważności:
p<=>q = (p=>q)*(~p=>~q)
gdzie:
p=>q - to jest identyczny warunek wystarczający wchodzący w skład definicji implikacji prostej albo równoważności.
Matematycznie zachodzi:
Warunek wystarczający ## implikacja prosta ## równoważność
p=>q ## p=>q=~p~>~q ## p<=>q=(p=>q)*(~p=>~q)
gdzie:
## - różne na mocy definicji
3.
~~> - naturalny spójnik „może”, wystarczy pokazać jeden przypadek prawdziwy.
Ogólna definicja znaczka ~~> (naturalny spójnik „może”):
~~> - zbiór na podstawie wektora ~~> musi mieć co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Zauważmy, iż na powyższym diagramie definicja znaczka => spełniona jest wyłącznie w linii A, zatem tu i tylko tu mamy go prawo użyć:
A: p=>q = p*q = p =1
Podobnie, definicja znaczka ~> spełniona jest wyłącznie w linii C, zatem tu i tylko tu mamy prawo go użyć:
C: ~p~>~q = ~p*~q = ~q =1
W pozostałych przypadkach (linie B i D) musimy użyć znaczka ~~> bo nic innego nie mamy już do dyspozycji:
B: p~~>~q = p*~q =1*1 =0 - bo zbiory p i ~q istnieją, ale są rozłączne
D: ~p~~>q = ~p*q =1*1 =1 - wystarczy pokazać jeden element wspólny zbiorów ~p i q.
Definicja warunku wystarczającego w logice dodatniej (bo q):
A: p=>q = p*q = p =1
B: p~~>~q = p*~q =0
Dla punktu odniesienia ustawionym na zdaniu A mamy zero-jedynkową definicję warunku wystarczającego w logice dodatniej (bo q):
A: p=>q
p=1, ~p=0
q=1, ~q=0
Kod: |
Definicja symboliczna |Definicja zero-jedynkowa
war. wystarczającego => |war. wystarczającego =>
p q p q | p q p=>q
A: p=> q = p* q =1 | 1 1 =1
B: p~~>~q= p*~q =0 | 1 0 =0
1 2 3 4 5 6 7 8
|
Algorytm tworzenia zero-jedynkowej definicji warunku wystarczającego => na podstawie definicji symbolicznej AB125 (AB345):
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Definicja warunku wystarczającego => w logice dodatniej (bo q):
p=>q
=> - zbiór p zawiera się w zbiorze q
Jeśli dodatkowo zbiory p i q nie są tożsame (p#q) to mamy do czynienia z implikacją prostą w logice dodatniej (bo q):
p=>q = ~p~>~q
Zauważmy, że gdyby nam się udało udowodnić warunek wystarczający w zbiorach plus pokazać że zbiory p i q są różne (p#q) to mamy wszystko i nic więcej nie musimy udowadniać.
Analizowane zdanie p=>q wchodzi w skład definicji implikacji prostej w logice dodatniej (bo q):
p=>q = ~p~>~q
Warunek wystarczający => w linii A determinuje warunek konieczny ~> w linii C.
Dla punktu odniesienia ustawionym na zdaniu C mamy zero-jedynkową definicję warunku koniecznego w logice ujemnej (bo ~q):
C: ~p~>~q
~p=1, p=0
~q=1, q=0
Kod: |
Definicja symboliczna |Definicja zero-jedynkowa
war. koniecznego ~> |war. koniecznego ~>
~p ~q ~p ~q |~p ~q ~p~>~q
C:~p~>~q =~p*~q =1 | 1 1 =1
D:~p~~>q =~p* q =1 | 1 0 =1
1 2 3 4 5 6 7 8
|
Algorytm tworzenia definicji zero-jedynkowej CD678 z tabeli symbolicznej CD125 (CD345) jest identyczny jak wyżej:
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Definicja warunku koniecznego ~> w logice ujemnej (bo ~q):
~p~>~q
~> - zbiór ~p zawiera w sobie zbiór ~q
Jeśli dodatkowo zbiory ~p i ~q nie są tożsame (~p#~q) to mamy do czynienia z implikacją odwrotną w logice ujemnej (bo ~q):
~p~>~q = p=>q
Zauważmy, że gdyby nam się udało udowodnić warunek konieczny w zbiorach plus pokazać że zbiory ~p i ~q są różne (~p#~q) to mamy wszystko i nic więcej nie musimy udowadniać.
Analizowane zdanie ~p~>~q wchodzi w skład definicji implikacji odwrotnej w logice ujemnej (bo ~q):
~p~>~q = p=>q
Warunek konieczny ~> w linii C determinuje warunek wystarczający => w linii A.
Zauważmy że warunki wystarczający => i konieczny ~> nie są operatorami logicznymi, to tylko połówki odpowiednich operatorów logicznych.
Definicja warunku wystarczającego w logice dodatniej (bo q):
p=>q
Jeśli zajdzie p to na pewno zajdzie q
Z czego wynika, że zbiór p musi zawierać się w zbiorze q
Zbiory:
p=>q = p*q = p =1
Metodyka dowodzenia warunku wystarczającego w logice dodatniej (bo q):
1.
A: p=>q =1
Sprawdzamy czy każdy element zbioru p zawiera się w zbiorze q
Jeśli tak to:
p=>q= p*q = p =1
cnd
2.
Szukamy kontrprzykładu czyli jednego elementu należącego do zbioru p i zbioru ~q:
B: p~~>~q= p*~q =1
Kontrprzykład znaleziony to:
A: p=>q =0
cnd
Kontrprzykład wykluczony to:
A: p=>q =1
cnd
Wróćmy do naszego przykładu.
Posiłkując się diagramem implikacji prostej wyżej przeanalizujmy nasz przykład.
Zdanie p=>q w przełożeniu na naturalną logikę człowieka ma postać:
A.
Jeśli zajdzie p to na pewno => zajdzie q
p=>q
co oznacza, że zbiór p musi zawierać się w zbiorze q
p=[1,2]
q=[1,2,3,4]
Jeśli weźmiemy dowolny element zbioru p to na pewno => będzie on należał do zbioru q.
czyli:
Zajście p jest warunkiem wystarczającym => dla zajścia q
Przeanalizujmy nasz przykład według schematu przedstawionego na diagramie.
p=[1,2]
q=[1,2,3,4]
Dziedzina:
D=[1,2,3,4,5,6]
Stąd:
~p=[3,4,5,6]
~q=[5,6]
A.
Jeśli zajdzie p to na pewno => zajdzie q
p=>q
Zbiory:
p=>q = p*q = [1,2]*[1,2,3,4] =[1,2] =p
p=>q = p*q = 1*1 =1
Oba zbiory istnieją (~p=1 i ~q=1) i mają część wspólną, co wymusza w wyniku 1
[1,2]=>[1,2,3,4] =1
Zbiór p zawiera się w zbiorze q
Ogólna definicja znaczka => (warunku wystarczającego):
p=>q
Zbiór wskazywany przez podstawę wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>.
p=>q
Zajście p jest wystarczające dla zajścia q bo na mocy definicji znaczka => zbiór p zawiera się w zbiorze q.
Jeśli dodatkowo zbiór p nie jest tożsamy ze zbiorem q to na mocy definicji mamy do czynienia z implikacją prostą - nasz przykład.
B.
Jeśli zajdzie p to może ~~> zajść ~q
p~~>~q =0
Zbiory:
p~~>~q = p*~q = [1,2]*[5,6]= [] =0
p~~>~q = p*~q=1*1=0
[1,2]~~>[5,6] = [1,2]*[5,6] = [] =0
Oba zbiory istnieją (p=1 i ~q=1) ale są rozłączne, co wymusza w wyniku 0
Zauważmy, że zapis:
p=>~q=0
[1,2]=>[5,6]
Jest błędny matematycznie na mocy definicji znaczka =>:
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Taki przypadek opisujemy matematycznie znaczkiem ~~>:
p~~>~q
~~> - naturalny spójnik „może”, wystarczy pokazać jeden przypadek prawdziwy, wystarczy sama możliwość zaistnienia.
… a jeśli zajdzie ~p?
Prawo Kubusia:
p=>q = ~p~>~q - będące jednocześnie definicją implikacji prostej w równaniu logicznym
C.
Jeśli zajdzie ~p to może ~> zajść ~q
~p~>~q =1
Zbiory:
~p~>~q = ~p*~q = [3,4,5,6]*[5,6] =[5,6]= 1
~p~>~q = ~p*~q= ~q =1
~p~>~q = ~p*~q= 1*1=1
Oba zbiory istnieją (~p=1 i ~q=1) i mają część wspólną, co wymusza w wyniku 1
Ogólna definicja znaczka ~> (warunku koniecznego):
p~>q
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>.
Doskonale widać że w zdaniu C warunek konieczny ~> jest spełniony, czyli:
~p~>~q = ~p*~q = [3,4,5,6]*[5,6] = [5,6] = ~q =1
[3,4,5,6]~>[5,6]
Definicja znaczka ~> spełniona bo:
Zbiór ~p zawiera w sobie zbiór ~q
Zajście ~p jest warunkiem koniecznym dla zajścia ~q.
Zabieramy zbiór ~p i znika nam zbiór ~q, czyli ~p jest konieczne ~> dla ~q
Dodatkowo widzimy iż zbiór ~p nie jest tożsamy ze zbiorem ~q, co na mocy definicji wymusza nam implikację odwrotną w logice ujemnej (bo ~q), jeśli za punkt odniesienia przyjmiemy zdanie C.
Ostatnia możliwość przeczeń p i q to:
D.
Jeśli zajdzie ~p to może ~~> zajść q
~p~~>q =1
Zbiory:
~p~~>q = ~p*q = [3,4,5,6]*[1,2,3,4] = [3,4] =1
~p~~>q = ~p*q = 1*1=1
Oba zbiory istnieją (~p=1 i q=1) i mają część wspólną, co wymusza w wyniku 1
Sprawdźmy czy spełniony jest tu warunek konieczny:
~p~>q
[3,4,5,6]~>[1,2,3,4]
Doskonale widać, że zbiór ~p nie zawiera w sobie zbioru q (brak [1,2]) zatem warunek konieczny ~> tu nie zachodzi.
Zdanie D jest prawdziwe na mocy naturalnego spójnika „może” ~~>:
p~~>q
~~> - naturalny spójnik „może”, wystarczy znaleźć jeden wspólny element zbiorów p i q, wystarczy sama możliwość takiego zajścia.
Dla kodowania zgodnego ze zdaniem A otrzymujemy tabelę zero-jedynkową implikacji prostej w logice dodatniej (bo q).
A: p=>q
p=1, ~p=0
q=1, ~q=0
Kod: |
Tabela 1
Symboliczna definicja |Kodowanie
implikacji prostej |zero-jedynkowe
w logice dodatniej bo q |definicji symbolicznej
p=>q=~p~>~q |
p q p q p=>q| p q p=>q
---------------------------------------------
A: p=> q = p* q =1*1 =1 | 1 1 =1
B: p~~>~q= p*~q =1*1 =0 | 1 0 =0
C:~p~>~q =~p*~q =1*1 =1 | 0 0 =1
D:~p~~>q =~p* q =1*1 =1 | 0 1 =1
1 2 3 4 5 6 7 8
|
Użyteczny algorytm tworzenia tabeli zero-jedynkowej ABCD678 z definicji symbolicznej ABCD125 (ABCD345):
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Algorytm odwrotny jest oczywisty.
Algorytm tworzenia definicji symbolicznej ABCD125 (ABCD345) na podstawie tabeli zero-jedynkowej ABCD678:
1.
Jeśli na danej pozycji występuje 1 to przepisujemy nagłówek tabeli
2.
Jeśli na danej pozycji występuje 0 to przepisujemy zanegowany nagłówek tabeli
Zauważmy, że zero-jedynkowa definicja warunku wystarczającego występuje wyłącznie w obszarze AB678, zatem wyłącznie linie A i B obsługują warunek wystarczający w definicji implikacji prostej. Linie C i D w obsłudze warunku wystarczającego są „martwe”.
Sprawdźmy, że jeśli za punkt odniesienia przyjmiemy zdanie C to otrzymamy definicję implikacji odwrotnej w logice ujemnej (bo ~q):
C: ~p~>~q
~p=1, p=0
~q=1, q=0
Kod: |
Tabela 2
Symboliczna definicja |Kodowanie
implikacji odwrotnej |zero-jedynkowe
w logice ujemnej bo ~q |definicji symbolicznej
~p~>~q=p=>q |
~p ~q ~p ~q ~p~>~q | ~p ~q ~p~>~q
---------------------------------------------
A: p=> q = p* q =1*1 =1 | 0 0 =1
B: p~~>~q= p*~q =1*1 =0 | 0 1 =0
C:~p~>~q =~p*~q =1*1 =1 | 1 1 =1
D:~p~~>q =~p* q =1*1 =1 | 1 0 =1
1 2 3 4 5 6 7 8
|
Użyteczny algorytm tworzenia tabeli zero-jedynkowej ABCD678 z definicji symbolicznej ABCD125 (ABCD345):
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Algorytm odwrotny jest oczywisty.
Algorytm tworzenia definicji symbolicznej ABCD125 (ABCD345) na podstawie tabeli zero-jedynkowej ABCD678:
1.
Jeśli na danej pozycji występuje 1 to przepisujemy nagłówek tabeli
2.
Jeśli na danej pozycji występuje 0 to przepisujemy zanegowany nagłówek tabeli
Zauważmy, że zero-jedynkowa definicja warunku koniecznego ~> występuje wyłącznie w obszarze CD678, zatem wyłącznie linie C i D obsługują warunek konieczny w definicji implikacji prostej. Linie A i B w obsłudze warunku koniecznego są „martwe”.
Wniosek:
Punktem odniesienia w dowolnej tabeli zero- jedynkowej jest zawsze nagłówek tabeli.
Wszelkie zmienne w definicji symbolicznej to zmienne sprowadzone do jedynek.
Dla punktu odniesienia ustawionym na zdaniu C, zgodnie z oczekiwaniem dostaliśmy tabelę zero-jedynkową implikacji odwrotnej.
Zauważmy, że treść wszystkich czterech zdań A, B, C i D nie zmieniła się, to są identyczne zdania jak w implikacji prostej p=>q=~p~>~q (tabela 1) z dokładnością do każdej literki i każdego przecinka.
Implikacja prosta w logice dodatniej (bo q - tabela 1)
p=>q = ~p~>~q
Jest tożsama z implikacją odwrotną w logice ujemnej (bo ~q - tabela 2)
~p~>~q = p=>q
Dowód formalny prawa Kubusia to tożsamość kolumn wynikowych ABCD8 w tabelach 1 i 2.
Prawo Kubusia mówi, że implikacja prosta w logice dodatniej (bo q - tabela 1), jest tożsama z implikacją odwrotną w logice ujemnej (bo ~q - tabela 2)
Przykład przedszkolaka:
Jeśli zwierzę jest psem to na pewno ma cztery łapy
P=>4L
Definicja implikacji prostej:
p=>q = ~p~>~q
p=>q
Zbiór p zawiera się w zbiorze q i nie jest tożsamy ze zbiorem q
Nasz przykład spełnia tą definicję.
Analiza matematyczna przez wszystkie możliwe przeczenia p i q:
A.
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L=1 bo pies, twarda prawda, gwarancja matematyczna
Definicja znaczka => spełniona bo:
Zbiór „pies” (P) zawiera się w zbiorze „zwierząt z czterema łapami” (4L)
Jeśli wymusimy P to na pewno pojawi się 4L
Zajście P jest warunkiem wystarczającym dla zajścia 4L
Dodatkowo zbiór „pies” zawiera się w zbiorze zwierząt z czterema łapami i nie jest z nim tożsamy
P#4L
co wymusza implikację prostą w logice dodatniej (bo 4L) o definicji:
P=>4L = ~P~>~4L
Zdanie A w zbiorach:
P=>4L = P*4L =P
P=>4L=1*1=1
Oba zbiory istnieją (P=1 i 4L=1) i mają część wspólną, co wymusza w wyniku 1 (zdanie prawdziwe)
stąd:
B.
Jeśli zwierzę jest psem to może ~~> nie mieć czterech łap
P~~>~4L =0 - bo wszystkie psy mają cztery łapy, twardy fałsz, wynikły wyłącznie z linii A
Zdanie B w zbiorach:
P~~>~4L = P*~4L =0
P~~>~4L =1*1=0
Oba zbiory istnieją (P=1, ~4L=1), lecz są rozłączne co wymusza w wyniku 0 (zdanie fałszywe)
Zauważmy, że zapis:
P=>~4L=0
Jest błędny matematycznie na mocy definicji znaczka =>:
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Taki przypadek opisujemy matematycznie znaczkiem ~~>:
P~~>~4L
~~> - naturalny spójnik „może”, wystarczy pokazać jeden przypadek prawdziwy, wystarczy sama możliwość zaistnienia.
… a jeśli zwierzę nie jest psem?
Prawo Kubusia:
P=>4L = ~P~>~4L
Z diagramu doskonale widać co może się wydarzyć, jeśli zwierzę nie będzie psem.
C.
Jeśli zwierzę nie jest psem to może ~> nie mieć czterech łap
~P~>~4L =1 bo kura, wąż, .. miękka prawda, może zajść ale nie musi bo zdanie D
Definicja znaczka ~> (warunek konieczny) spełniona bo:
Zbiór ~P zawiera w sobie zbiór ~4L, co doskonale widać na diagramie.
Nie bycie psem jest warunkiem koniecznym ~> aby nie mieć czterech łap
Zabieramy zbiór ~P i znika nam zbiór ~4L, czyli ~P jest konieczne ~> dla ~4L
Dodatkowo zbiory ~P i ~4L są różne co wymusza implikację odwrotną w logice ujemnej (bo ~4L) o definicji:
~P~>~4L = P=>4L
Zdanie C w zbiorach:
~P~>~4L = ~P*~4L = ~4L
~P~>~4L = 1*1=1
Oba zbiory istnieją (~P=1 i ~4L=1) i mają część wspólną co wymusza w wyniku 1 (zdanie prawdziwe)
LUB
D.
Jeśli zwierzę nie jest psem to może ~~> mieć cztery łapy
~P~~>4L=1 bo koń, słoń, .. miękka prawda, może zajść ale nie musi bo zdanie C
Zdanie D w zbiorach:
~P~~>4L = ~P*4L
~P~~>4L= 1*1=1
Oba zbiory istnieją (~P=1 i 4L=1) i mają część wspólną, co wymusza w wyniku 1 (zdanie prawdziwe)
Zauważmy, że słownie użyliśmy tu „identycznego” spójnika „może” jak w zdaniu C.
W zdaniu D definicja znaczka ~> nie jest spełniona bo:
Zbiór ~P nie zawiera w sobie całego zbioru 4L, poza tym zbiorem jest zbiór P, czyli pies z czterema łapami. Stąd w zdaniu D nie wolno nam użyć znaczka ~>.
Oczywistym antidotum jest tu znaczek ~~> o definicji:
~~> - naturalny spójnik „może”, wystarczy pokazać jeden przypadek prawdziwy, wystarczy sama możliwość zaistnienia.
Brak warunku koniecznego ~> w zdaniu D można też łatwo udowodnić na drodze czysto matematycznej metodą nie wprost.
Załóżmy że w zdaniu D zachodzi warunek konieczny ~>:
Prawo Kubusia:
~P~>4L = P=>~4L =0
Jeśli zwierzę jest psem to na pewno => nie ma czterech łap
P=>~4L =0 bo kontrprzykład: pies
Prawa strona jest fałszem, zatem w zdaniu D nie może zachodzić warunek konieczny ~>.
cnd
Kodowanie zero-jedynkowe:
Jeśli za punkt odniesienia (zdanie wypowiedziane) przyjmiemy zdanie A to otrzymamy zero-jedynkową definicję implikacji prostej.
A: P=>4L
P=1, ~P=0
4L=1, ~4L=0
Jeśli za punkt odniesienia (zdanie wypowiedziane) przyjmiemy zdanie C to otrzymamy zero-jedynkową definicję implikacji odwrotnej.
C: ~P~>~4L
~P=1, P=0
~4L=1, 4L=0
Kod: |
|P=>4L |~P~>~4L
Zapis | |Kodowanie |Kodowanie
symboliczny| Zbiory |zero-jedynkowe |zero-jedynkowe
| | P 4L P=>4L |~P ~4L ~P~>~4L
A: P=> 4L = P* 4L=1 | 1 1 =1 | 0 0 =1
B: P~~>~4L= P*~4L=0 | 1 0 =0 | 0 1 =0
C:~P~>~4L =~P*~4L=1 | 0 0 =1 | 1 1 =1
D:~P~~>4L =~P* 4L=1 | 0 1 =1 | 1 0 =1
1 2 3 4 5 6 7 8 9
Punktem odniesienia w tabeli zero-jedynkowej jest nagłówek tabeli:
| P=1, ~P=0 |~P=1, P=0
|4L=1, ~4L=0 |~4L=1, 4L=0
|
Warunek wystarczający => w logice dodatniej (bo 4L):
Symboliczną definicję warunku wystarczającego => w logice dodatniej (bo 4L) widzimy wyłącznie w obszarze AB123, natomiast zero-jedynkową w obszarze AB456. Linie C i D nie biorą udziału w obsłudze warunku wystarczającego, są martwe.
Warunek konieczny ~> w logice ujemnej (bo ~4L):
Symboliczną definicję warunku koniecznego w logice ujemnej (bo~ 4L) widzimy wyłącznie w obszarze CD123, natomiast zero-jedynkową w obszarze CD789. Linie A i B nie biorą udziału w obsłudze warunku koniecznego, są martwe.
6.3 Implikacja odwrotna w zbiorach
Zapiszmy definicję implikacji odwrotnej w zbiorach, korzystając z prawa Prosiaczka.
Prawo Prosiaczka:
(p=0) = (~p=1)
stąd:
Jeśli p=0 to ~p=1
Kod: |
Wejścia p i q |Wejścia p i q
zero-jedynkowo |Symbolicznie
p q p~>q | p q
A: 1 1 =1 | p* q =1*1=1
B: 1 0 =1 | p*~q =1*1=1
C: 0 0 =1 |~p*~q =1*1=1
D: 0 1 =0 |~p* q =1*1=0
1 2 3 4 5 6
|
Algorytm tworzenia symbolicznych wejść p i q:
Jeśli na wybranej pozycji w tabeli ABCD12 widnieje 1 to przepisujemy nagłówek kolumny (do ABCD45)
Jeśli na wybranej pozycji w tabeli ABCD12 widnieje 0 to przepisujemy zanegowany nagłówek kolumny (do ABCD45)
Jak widzimy wszystkie zmienne wejściowe p i q w tabeli ABCD456 zostały sprowadzone do jedynek, czyli do teorii zbiorów.
Z obszaru CD456 doskonale widać, że zbiór ~p musi zawierać się w zbiorze ~q, bowiem wtedy i tylko wtedy zajdzie w zbiorach:
~p*q =0
Z obszaru AB456 widzimy, że zbiory p i q nie mogą być tożsame, bowiem jak zajdzie p to może zajść cokolwiek q (A456) albo ~q (B456).
Stąd mamy definicję implikacji odwrotnej w zbiorach.
Definicja implikacji odwrotnej w zbiorach:
Definicja implikacji odwrotnej w zbiorach:
p~>q = ~p=>~q
Zbiór p zawiera w sobie zbiór q i nie jest tożsamy ze zbiorem q
Ogólna definicja znaczka ~> (warunku koniecznego):
p~>q
~> - zbiór wskazywany przez podstawę wektora ~> zawiera w sobie zbiór wskazywanym przez strzałkę wektora ~>.
Jeśli dodatkowo zbiór p nie jest tożsamy ze zbiorem q (nasz diagram) to mamy do czynienia z definicją implikacji odwrotnej w logice dodatniej (bo q):
p~>q = ~p=>~q
Tożsama definicja implikacji odwrotnej to implikacja prosta w logice ujemnej (bo ~q):
~p=>~q = p~>q
Ogólna definicja znaczka => (warunek wystarczający):
=> - zbiór wskazywany przez podstawę wektora => zawiera się w zbiorze wskazywanym przez strzałkę wektora
Jeśli dodatkowo zbiór ~p nie jest tożsamy ze zbiorem ~q (nasz diagram) to mamy do czynienia z implikacją prostą w logice ujemnej (bo ~q).
Symboliczna definicja implikacji odwrotnej:
Kod: |
Warunek konieczny w logice dodatniej (bo q)
p~>q
A: p~> q =1 - miękka prawda, może zajść ale nie musi bo zdanie B
B: p~~>~q=1 - miękka prawda, może zajść ale nie musi bo zdanie A
… a jeśli zajdzie ~p
Prawo Kubusia:
p~>q = ~p=>~q
Warunek wystarczający w logice ujemnej (bo ~q)
~p=>~q
o definicji wyłącznie w C i D
C:~p=>~q =1 - twarda prawda, gwarancja matematyczna
D:~p~~>q =0 - twardy fałsz, wynikły wyłącznie z linii C
|
gdzie:
1.
=> - warunek wystarczający, spójnik „na pewno” między p i q w całym obszarze matematyki o definicji wyłącznie w C i D.
Ogólna definicja znaczka =>:
~p=>~q
Zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
2.
~> - warunek konieczny, w implikacji spójnik „może” między p i q („rzucanie monetą” ~>) o definicji:
p~>q = ~p=>~q
Ogólna definicja znaczka ~>:
p~>q
Zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>.
p~>q = ~p=>~q
Z powyższej tożsamości wynika, że aby dowieść zachodzący warunek konieczny między p~>q wystarczy dowieść warunek wystarczający ~p=>~q zdefiniowany wyłącznie w liniach C i D w powyższej definicji.
… ale uwaga!
Dowód prawdziwości warunku wystarczającego ~p=>~q w liniach C i D o niczym nie rozstrzyga, bowiem ten sam warunek wystarczający może wchodzić w skład definicji implikacji odwrotnej, albo w skład definicji równoważności, to musimy dopiero udowodnić. Równoważność ( gdzie „rzucanie monetą” nie występuje) to zupełnie inna bajka niż implikacja (gdzie „rzucanie monetą” zawsze występuje).
Definicja implikacji odwrotnej:
p~>q = ~p=>~q
Definicja równoważności:
p<=>q = (p=>q)*(~p=>~q)
gdzie:
~p=>~q - to jest identyczny warunek wystarczający wchodzący w skład definicji implikacji odwrotnej albo równoważności.
Matematycznie zachodzi:
~p=>~q ## p~>q=~p=>~q ## p<=>q=(p=>q)*(~p=>~q)
Warunek wystarczający ## implikacja prosta ## równoważność
gdzie:
## - różne na mocy definicji
3.
~~> - naturalny spójnik „może”, wystarczy pokazać jeden przypadek prawdziwy, wystarczy sama możliwość zaistnienia.
Ogólna definicja znaczka ~~>:
~~> - zbiór na podstawie wektora ma co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Zauważmy, iż na powyższym diagramie definicja znaczka ~> spełniona jest wyłącznie w linii A, zatem tu i tylko tu mamy prawo go użyć:
A: p~>q = p*q = p =1
Podobnie, definicja znaczka => spełniona jest wyłącznie w linii C, zatem tu i tylko tu mamy prawo go użyć:
C: ~p=>~q = ~p*~q = ~p =1
W pozostałych przypadkach (linie B i D) musimy użyć znaczka ~~> bo nic innego nie mamy już do dyspozycji:
B: p~~>~q = p*~q =1*1 =1 - wystarczy pokazać jeden element wspólny zbiorów p i ~q.
D: ~p~~>q = ~p*q =1*1 =0 - oba zbiory istnieją, ale są rozłączne, co wymusza w wyniku 0
Definicja warunku koniecznego w logice dodatniej (bo q):
A: p~>q = p*q = p =1
B: p~~>~q = p*~q =1
Dla punktu odniesienia ustawionym na zdaniu A mamy zero-jedynkową definicję warunku koniecznego ~> w logice dodatniej (bo q):
A: p~>q
p=1, ~p=0
q=1, ~q=0
Kod: |
Definicja symboliczna |Definicja zero-jedynkowa
war. koniecznego ~> |war. koniecznego ~>
p q p q | p q p~>q
A: p~> q = p* q =1 | 1 1 =1
B: p~~>~q= p*~q =1 | 1 0 =1
1 2 3 4 5 6 7 8
|
Algorytm tworzenia zero-jedynkowej definicji warunku wystarczającego => na podstawie definicji symbolicznej AB125 (AB345):
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Definicja warunku koniecznego ~> w logice dodatniej (bo q):
p~>q
~> - zbiór p zawiera w sobie zbiór q
Jeśli dodatkowo zbiory p i q nie są tożsame (p#q) to mamy do czynienia z implikacją odwrotną w logice dodatniej (bo q):
p~>q = ~p=>~q
Zauważmy, że gdyby nam się udało udowodnić warunek konieczny w zbiorach plus pokazać że zbiory p i q są różne (p#q) to mamy wszystko i nic więcej nie musimy udowadniać.
Analizowane zdanie p~>q wchodzi w skład definicji implikacji odwrotnej w logice dodatniej (bo q):
p~>q = ~p=>~q
Warunek konieczny ~> w linii A determinuje warunek wystarczający => w linii C.
Dla punktu odniesienia ustawionym na zdaniu C mamy zero-jedynkową definicję warunku wystarczającego => w logice ujemnej (bo ~q):
C: ~p=>~q
~p=1, p=0
~q=1, q=0
Kod: |
Definicja symboliczna |Definicja zero-jedynkowa
war. wystarczającego => |war. wystarczającego =>
~p ~q ~p ~q |~p ~q ~p=>~q
C:~p=>~q =~p*~q =1 | 1 1 =1
D:~p~~>q =~p* q =0 | 1 0 =0
1 2 3 4 5 6 7 8
|
Algorytm tworzenia definicji zero-jedynkowej CD678 z tabeli symbolicznej CD125 (CD345) jest identyczny jak wyżej:
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Definicja warunku wystarczającego => w logice ujemnej (bo ~q):
~p=>~q
=> - zbiór ~p zawiera się w zbiorze ~q
Jeśli dodatkowo zbiory ~p i ~q nie są tożsame (~p#~q) to mamy do czynienia z implikacją prostą w logice ujemnej (bo ~q):
~p=>~q = p~>q
Zauważmy, że gdyby nam się udało udowodnić warunek wystarczający w zbiorach plus pokazać że zbiory ~p i ~q są różne (~p#~q) to mamy wszystko i nic więcej nie musimy udowadniać.
Analizowane zdanie ~p=>~q wchodzi w skład definicji implikacji prostej w logice ujemnej (bo ~q):
~p=>~q = p~>q
Warunek wystarczający => w linii C determinuje warunek konieczny ~> w linii A.
Zero-jedynkowe definicje warunku wystarczającego => i koniecznego ~> są stałe, niezależne od tego czy występują w operatorze implikacji prostej czy też w implikacji odwrotnej.
Oczywiście warunki wystarczający => i konieczny ~> nie są operatorami logicznymi, to tylko połówki odpowiednich operatorów logicznych.
Definicja warunku koniecznego ~> w równaniu algebry Boole’a:
p~>q = ~p=>~q
Zamiast dowodzić trudny w dowodzeniu warunek konieczny p~>q możemy udowodnić łatwy w dowodzeniu warunek wystarczający ~p=>~q. Prawdziwość prawej strony tożsamości gwarantuje prawdziwość lewej strony tożsamości. Warunek wystarczający => dowodzi się dużo prościej ze względu na kontrprzykład.
Definicja warunku wystarczającego => w logice ujemnej (bo ~q):
C: ~p=>~q= ~p*~q = ~p =1 - zbiory ~p i ~q mają część wspólną (~q)
D: ~p~~>q= ~p*q = 1*1 =0 - zbiory ~p i q istnieją, ale są rozłączne co wymusza w wyniku 0
~p=>~q
Jeśli zajdzie ~p to na pewno => zajdzie ~q
Z czego wynika że zbiór ~p musi zawierać się w zbiorze ~q
Metodyka dowodzenia warunku wystarczającego w logice ujemnej (bo ~q):
1.
C: ~p=>~q
Sprawdzamy czy każdy element zbioru ~p zawiera się w zbiorze ~q
Jeśli tak to:
~p=>~q= ~p*~q = ~p =1
cnd
2.
Szukamy kontrprzykładu czyli jednego elementu należącego do zbiorów ~p i q:
D: ~p~~>q= ~p*q = 1*1 =1
Kontrprzykład znaleziony to:
C: ~p=>~q =0
cnd
Kontrprzykład wykluczony to:
C: ~p=>~q =1
cnd
Prosty przykład implikacji odwrotnej w zbiorach:
Rozważmy dwa zbiory:
p=[1,2,3,4]]
q=[1,2]
Ustalmy dziedzinę:
D=[1,2,3,4,5,6]
Stąd otrzymujemy:
~p=[5,6]
~q=[3,4,5,6]
Zbiór p zawiera w sobie zbiór q i nie jest tożsamy ze zbiorem q.
Na mocy definicji musi to być implikacja odwrotna.
Definicja operatora logicznego:
Operator logiczny to odpowiedź układu na wszystkie możliwe przeczenia p i q
Analiza naszego przykładu:
A.
Jeśli zajdzie p to może zajść q
p~>q
Zbiory:
p~>q = p*q = [1,2,3,4]*[1,2] =[1,2] =p
p~>q = p*q = 1*1 =1
Oba zbiory istnieją (~p=1 i ~q=1) i mają część wspólną, co wymusza w wyniku 1
[1,2,3,4]~>[1,2] =1
Zbiór p zawiera w sobie zbiór q.
Ogólna definicja znaczka ~> (warunku koniecznego) jest następująca:
p~>q
~> - zbiór wskazywany przez podstawę wektora ~> musi zawierać w sobie zbiór wskazywanym przez strzałkę wektora ~>.
p~>q
[1,2,3,4]~>[1,2]
Doskonale widać, iż definicja warunku koniecznego w zdaniu A jest spełniona.
Zajście p jest konieczne dla zajścia q
Zabieram p i musi zniknąć q
Jeśli dodatkowo zbiór p nie jest tożsamy ze zbiorem q to na mocy definicji mamy do czynienia z implikacją odwrotną - nasz przykład.
B.
Jeśli zajdzie p to może ~~> zajść ~q
p~~>~q =1
Zbiory:
p~~>~q = p*~q = [1,2,3,4]*[3,4,5,6]= [3,4] =1
p~~>~q = p*~q=1*1=1
Oba zbiory istnieją (p=1 i ~q=1) i mają część wspólną, co wymusza w wyniku 1
p~~>~q
[1,2,3,4]~~>[3,4,5,6]
Doskonale widać, ze zbiór p nie zawiera w sobie zbioru q, zatem nie zachodzi warunek konieczny ~> w zdaniu B
p~>~q =0
Zdanie B jest prawdziwe na mocy naturalnego spójnika „może”:
~~> - naturalny spójnik „może”, wystarczy znaleźć jeden wspólny element zbiorów p i ~q.
… a jeśli zajdzie ~p?
Prawo Kubusia:
p~>q = ~p=>~q - będące jednocześnie definicją implikacji odwrotnej
C.
Jeśli zajdzie ~p to na pewno => zajdzie ~q
~p=>~q =1
Zbiory:
~p=>~q = ~p*~q = [5,6]*[3,4,5,6] = [5,6]= 1
~p=>~q = ~p*~q=1*1=1
Oba zbiory istnieją (~p=1 i ~q=1) i mają część wspólną, co wymusza w wyniku 1
Ogólna definicja znaczka => (warunku wystarczającego):
p=>q
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>.
W zdaniu C warunek wystarczający jest spełniony:
~p=>~q
[5,6]=>[3,4,5,6]
Zbiór ~p zawiera się w zbiorze ~q
Zajście ~p jest warunkiem wystarczającym dla zajścia ~q.
Dodatkowo widzimy iż zbiór ~p nie jest tożsamy ze zbiorem ~q, co na mocy definicji wymusza nam implikację prostą w logice ujemnej (bo ~q), jeśli za punkt odniesienia przyjmiemy zdanie C.
C: ~p=>~q = p~>q
Ostatnia możliwość przeczeń p i q to:
D.
Jeśli zajdzie ~p to może ~~> zajść q
~p~~>q =0
Zbiory:
~p~~>q = ~p*q = [5,6]*[1,2] = [] =0
~p~~>q = ~p*q = 1*1=0
Oba zbiory istnieją (~p=1 i q=1) ale są rozłączne, co wymusza w wyniku 0
Dla punktu odniesienia ustawionym na zdaniu A otrzymujemy zero-jedynkową definicję operatora implikacji odwrotnej w logice dodatniej (bo q).
A: p~>q
p=1, ~p=0
q=1, ~q=0
Kod: |
Tabela 1
Symboliczna definicja |Kodowanie
implikacji odwrotnej |zero-jedynkowe
w logice dodatniej bo q |definicji symbolicznej
p~>q=~p=>~q |
p q | p q p~>q
---------------------------------------------
A: p~> q = p* q =1*1=1 | 1 1 =1
B: p~~>~q= p*~q =1*1=1 | 1 0 =1
C:~p=>~q =~p*~q =1*1=1 | 0 0 =1
D:~p~~>q =~p* q =1*1=0 | 0 1 =0
1 2 3 4 5 6 7 8
|
Algorytm tworzenia tabeli zero-jedynkowej ABCD678 z definicji symbolicznej ABCD125 (ABCD345):
1.
Jeśli na danej pozycji występuje zgodność sygnału z nagłówkiem to zapisujemy 1
2.
Jeśli na danej pozycji występuje niezgodność sygnału z nagłówkiem to zapisujemy 0
Algorytm odwrotny jest oczywisty.
Algorytm tworzenia definicji symbolicznej ABCD125 (ABCD345) na podstawie tabeli zero-jedynkowej ABCD678:
1.
Jeśli na danej pozycji występuje 1 to przepisujemy nagłówek tabeli
2.
Jeśli na danej pozycji występuje 0 to przepisujemy zanegowany nagłówek tabeli
Zauważmy, że zero-jedynkowa definicja warunku koniecznego ~> występuje wyłącznie w obszarze AB678, zatem wyłącznie linie A i B obsługują warunek konieczny w definicji implikacji prostej. Linie C i D w obsłudze warunku koniecznego są „martwe”.
Sprawdźmy na koniec, że jeśli za punkt odniesienia przyjmiemy zdanie C to otrzymamy definicję implikacji prostej w logice ujemnej (bo ~q).
C: ~p=>~q
~p=1, p=0
~q=1, q=0
Kod: |
Tabela 2
Symboliczna definicja |Kodowanie
implikacji prostej |zero-jedynkowe
w logice ujemnej bo ~q |definicji symbolicznej
~p=>~q=p~>q |
~p ~q | ~p ~q ~p=>~q
---------------------------------------------
A: p~> q = p* q =1*1=1 | 0 0 =1
B: p~~>~q= p*~q =1*1=1 | 0 1 =1
C:~p=>~q =~p*~q =1*1=1 | 1 1 =1
D:~p~~>q =~p* q =1*1=0 | 1 0 =0
1 2 3 4 5 6 7 8
|
Algorytm tworzenia tabeli zero-jedynkowej z definicji symbolicznej i odwrotnie jest identyczny jak w tabeli 1.
Wniosek:
Punktem odniesienia w dowolnej tabeli zero- jedynkowej jest zawsze nagłówek tabeli.
Wszelkie zmienne w definicji symbolicznej to zmienne sprowadzone do jedynek.
Zauważmy, że zero-jedynkowa definicja warunku wystarczającego w logice ujemnej (bo ~q) występuje wyłącznie w obszarze CD678, zatem wyłącznie linie C i D obsługują warunek wystarczający w definicji implikacji prostej. Linie A i B w obsłudze warunku wystarczającego są „martwe”.
Dla punktu odniesienia ustawionym na zdaniu C, zgodnie z oczekiwaniem dostaliśmy tabelę zero-jedynkową implikacji prostej.
Zauważmy, że treść wszystkich czterech zdań A, B, C i D nie zmieniła się, to są identyczne zdania jak w implikacji odwrotnej p~>q=~p=>~q (tabela 1) z dokładnością do każdej literki i każdego przecinka.
Prawa Kubusia:
Implikacja odwrotna w logice dodatniej (bo q - tabela 1)
p~>q = ~p=>~q
jest tożsama z implikacją prostą w logice ujemnej (bo ~q - tabela 2)
~p=>~q = p~>q
Dowód formalny prawa Kubusia to tożsamość kolumn wynikowych ABCD8 w tabelach 1 i 2
Prawo Kubusia mówi, że implikacja odwrotna w logice dodatniej (bo q - tabela 1), jest tożsama z implikacją prostą w logice ujemnej (bo ~q - tabela 2)
Przykład przedszkolaka:
A.
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P
Zbiór zwierząt z czterema łapami zawiera w sobie zbiór pies
Dodatkowo zbiory 4L i P nie są tożsame co wymusza implikację odwrotną
Analiza zdania A przez wszystkie możliwe przeczenia p i q:
A.
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P=1 bo pies, miękka prawda, może zajść ale nie musi bo zdanie B
Definicja znaczka ~> spełniona bo:
Zbiór 4L zawiera w sobie zbiór P
Cztery łapy są konieczne ~> aby być psem
Zabieram zbiór 4L i znika mi zbiór P
Zbiory:
4L~>P = 4L*P=P
4L~>P = 4L*P=1*1=1
Oba zbiory istnieją (4L=1 i P=1) i mają część wspólną, co wymusza w wyniku 1 (zdanie prawdziwe)
LUB
B.
Jeśli zwierzę ma cztery łapy to może ~~> nie być psem
4L~~>~P=1 bo koń, słoń .., miękka prawda, może zajść ale nie musi bo zdanie A
Zbiory:
4L~~>~P = 4L*~P = 1*1=1
Oba zbiory istnieją (4L=1 i ~P=1) i mają część wspólną, co wymusza w wyniku 1 (zdanie prawdziwe)
… a jeśli zwierzę nie ma czterech łap?
Prawo Kubusia:
4L~>P = ~4L=>~P
stąd:
C.
Jeśli zwierzę nie ma czterech łap to na pewno => nie jest psem
~4L=>~P =1 bo kura, wąż .. , twarda prawda, gwarancja matematyczna
Definicja znaczka => spełniona bo:
Zbiór ~4L zawiera się w zbiorze ~P
Brak czterech łap wystarcza => aby nie być psem
Zbiory:
~4L=>~P = ~4L*~P = ~4L
~4L=>~P = ~4L*~P=1*1=1
Oba zbiory istnieją (~4L=1 i ~P=1) i mają część wspólną, co wymusza w wyniku 1 (zdanie prawdziwe)
D.
Jeśli zwierzę nie ma czterech łap to może ~~> być psem
~4L~~>P=0 bo każdy pies ma cztery łapy, twardy fałsz, wynikły wyłącznie z linii C
Zbiory:
~4L~~>P = ~4L*P = 1*1=0
Oba zbiory istnieją (~4L=1 i P=1) ale są rozłączne, co wymusza w wyniku 0 (zdanie fałszywe)
Gdzie:
=> - warunek wystarczający, spójnik „na pewno” między p i q w całym obszarze matematyki
~> - warunek konieczny, w implikacji spójnik „może” między p i q o definicji:
p~>q = ~p=>~q
~~> - naturalny spójnik „może”, wystarczy pokazać jeden przypadek prawdziwy, wystarczy sama możliwość zajścia
Dwa dowody nie wprost iż w zdaniu B nie jest spełniony warunek konieczny ~>:
1.
Załóżmy że w zdaniu B zachodzi warunek konieczny:
Prawo Kubusia:
4L~>~P = ~4L=>P =0
Jeśli zwierzę nie ma czterech łap to na pewno => jest psem
~4L=>P =0
Prawa strona jest fałszem, zatem z lewej strony nie może zachodzić warunek konieczny ~>
2.
Dokładnie to samo wynika z definicji znaczka ~>:
4L~>~P
Definicja znaczka ~>:
Zbiór 4L musi zawierać w sobie zbiór ~P
Z diagramu widać, że zbiór ~P to także zbiór ~4L.
Definicja znaczka ~> nie jest wiec spełniona, warunek konieczny ~> tu nie zachodzi.
Zdanie B jest prawdziwe na mocy naturalnego spójnika „może” ~~> wystarczy pokazać jeden przypadek prawdziwy.
Kodowanie zero-jedynkowe:
Jeśli za punkt odniesienia przyjmiemy zdanie A to otrzymamy zero-jedynkową tabelę implikacji odwrotnej w logice dodatniej (bo q).
A: 4L~>P
4L=1, ~4L=0
P=1, ~P=0
Jeśli za punkt odniesienia przyjmiemy zdanie C to otrzymamy tabelę zero-jedynkową implikacji prostej w logice ujemnej (bo ~q).
C: ~4L=>~P
~4L=1, 4L=0
~P=1, P=0
Kod: |
Zapis | |Kodowanie |Kodowanie
Symboliczny | Zbiory |zero-jedynkowe |zero-jedynkowe
| | 4L P 4L~>P |~4L ~P ~4L=>~P
A: 4L~> P = 4L* P=1*1 =1 | 1 1 =1 | 0 0 =1
B: 4L~~>~P= 4L*~P=1*1 =1 | 1 0 =1 | 0 1 =1
C:~4L=>~P = ~4L*~P=1*1 =1 | 0 0 =1 | 1 1 =1
D:~4L~~>P = ~4L* P=1*1 =0 | 0 1 =0 | 1 0 =0
1 2 3 4 5 6 7 8 9
Punktem odniesienia w tabeli zero-jedynkowej jest nagłówek tabeli:
|4L=1, ~4L=0 |~4L=1, 4L=0
|P=1, ~P=0 |~P=1, P=0
|
Warunek konieczny w logice dodatniej (bo P):
Symboliczną definicję warunku koniecznego w logice dodatniej (bo P) widzimy wyłącznie w obszarze AB123, natomiast zero-jedynkową w obszarze AB456. Linie C i D nie biorą udziału w obsłudze warunku koniecznego, są martwe.
Warunek wystarczający w logice ujemnej (bo ~P):
Symboliczną definicję warunku wystarczającego => w logice ujemnej (bo ~P) widzimy wyłącznie w obszarze CD123, natomiast zero-jedynkową w obszarze CD789. Linie A i B nie biorą udziału w obsłudze warunku wystarczającego, są martwe.
Ostatnio zmieniony przez rafal3006 dnia Pon 21:01, 07 Paź 2013, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rafal3006
Opiekun Forum Kubusia
Dołączył: 30 Kwi 2006
Posty: 35973
Przeczytał: 14 tematów
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Czw 21:04, 15 Sie 2013 Temat postu: |
|
|
....
|
|
Powrót do góry |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|