|
Ś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: 35363
Przeczytał: 23 tematy
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Pon 12:43, 04 Lis 2013 Temat postu: Algebra Kubusia - start od nowa (2013-11-04) - 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 pigułce
1.1 Operatory transmisji i negacji
1.2 Operatory OR i AND
1.3 Matematyczny fundament nowej teorii zbiorów
1.4 Operator chaosu
1.5 Operatory implikacji prostej i odwrotnej
1.6 Operator równoważności
1.7 Operator implikacji prostej wyrażony spójnikami „i”(*) i „lub”(+)
1.8 Operator implikacji odwrotnej wyrażony spójnikami „i”(*) i „lub”(+)
2.0 Nowa teoria zbiorów
2.1 Aksjomatyka algebry Kubusia w zbiorach
2.2 Podstawowe definicje nowej teorii zbiorów
2.3 Podstawowe operacje na zbiorach
2.4 Zbiory jednoelementowe
2.5 Prawa rachunku zbiorów dla zbioru jednoelementowego
3.0 Operatory jednoargumentowe
3.1 Abstrakcyjna budowa operatora logicznego
3.2 Prawa Prosiaczka
3.3 Wykresy czasowe w algebrze Kubusia
3.4 Operator transmisji
3.5 Operator negacji
3.6 Równanie ogólne dla operatorów transmisji i negacji
1.0 Algebra Kubusia w pigułce
Fundamentem algebry Kubusia jest Nowa Teoria Zbiorów.
Algebra Kubusia w pigułce to streszczenie całego podręcznika, jego kwintesencja.
Wiele praw tu użytych np. prawa Kubusia, prawa Prosiaczka i twierdzenie sfinii zostanie wyprowadzone i udowodnione w dalszej części podręcznika.
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
Definicja operatora logicznego w zbiorach:
Operator logiczny to matematyczny opis relacji między wszystkimi zbiorami w obrębie założonej dziedziny.
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
1.1 Operatory transmisji i negacji
Operatory transmisji i negacji to operatory jednoargumentowe.
Definicja operatora jednoargumentowego:
Operator jednoargumentowy to funkcja logiczna jednej zmiennej
Y = p
Logika dodatnia i ujemna w operatorach jednoargumentowych:
Y=p - logika dodatnia gdy funkcja logiczna Y nie jest zanegowana
~Y =~p - logika ujemna gdy funkcja logiczna Y jest zanegowana
Operator transmisji:
Y = p
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników (tu ich nie ma):
~Y=~p
Matematycznie zachodzi:
Y=p # ~Y=~p
# - różne, w znaczeniu kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # parametr p musi być identyczny.
Zbiór ~Y=~p jest dopełnieniem do dziedziny dla zbioru Y=p, stąd:
Y=p <=> ~Y=~p
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Przykład:
A1:
Jutro pójdę do kina
Y=K
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników (tu ich nie ma):
~Y=~K
A2.
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)
Definicja dziedziny spełniona bo:
K+~K =1 - jutro mogę być w kinie lub nie być w kinie
K*~K =0 - jutro nie mogę być jednocześnie w kinie i nie w kinie
Dla kodowania zgodnego ze zdaniem A1 otrzymujemy definicję operatora transmisji w logice dodatniej (bo Y)
A1: Y=K
Y=1, ~Y=0
K=1, ~K=0
Dla kodowania zgodnego ze zdaniem A2 otrzymujemy definicję operatora transmisji w logice ujemnej (bo ~Y)
A2: ~Y=~K
~Y=1, Y=0
~K=1, K=0
Kod: |
Zapis |Znaczenie |Kodowanie zero-jedynkowe|Kodowanie zero-jedynkowe
symboliczny |zapisu |dla punktu odniesienia |dla punktu odniesienia
| |A1: Y=K |A2: ~Y=~K
| | K Y=K | ~K ~Y=~K
A1: Y= K | Y=1<=> K=1 | 1 =1 | 0 =0
A2:~Y=~K |~Y=1<=>~K=1 | 0 =0 | 1 =1
1 2 3 4 5 6 7 8
|
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
W operatorach jednoargumentowych spójnik „i”(*) i „lub”(+) nie występują.
Stąd:
Dla tabeli Ax56 mamy:
Y=K
co matematycznie oznacza:
A1_56: Y=1 <=> K=1
Dla tabeli Ax78 mamy:
~Y=~K
co matematycznie oznacza:
A2_78: ~Y=1 <=> ~K=1
Operator negacji:
Y=~p
… a kiedy zajdzie ~Y?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników (tu ich nie ma):
~Y=p
Matematycznie zachodzi:
Y=~p # ~Y=p
# - różne, w znaczeniu kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # parametr p musi być identyczny.
Zbiór ~Y=p jest dopełnieniem do dziedziny dla zbioru Y=~p, stąd:
Y=~p <=> ~Y=p
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Przykład:
B1.
Jutro nie pójdę do kina
Y=~K
… a kiedy skłamię?
Przejście do logiki ujemnej poprzez negacje zmiennych i wymianę spójników (tu ich nie ma):
~Y=K
B2.
Skłamię (~Y=1) wtedy i tylko wtedy gdy jutro 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 pójdę do kina (K=1)
Definicja dziedziny spełniona bo:
K+~K =1 - jutro mogę być w kinie lub nie być w kinie
K*~K =0 - jutro nie mogę być jednocześnie w kinie i nie w kinie
Dla kodowania zgodnego ze zdaniem B1 otrzymujemy definicję operatora negacji w logice dodatniej (bo Y)
B1: Y=~K
Y=1, ~Y=0
~K=1, K=0
Dla kodowania zgodnego ze zdaniem B2 otrzymujemy definicję operatora negacji w logice ujemnej (bo ~Y)
B2: ~Y=K
~Y=1, Y=0
K=1, ~K=0
Kod: |
Zapis |Znaczenie |Kodowanie zero-jedynkowe|Kodowanie zero-jedynkowe
symboliczny |zapisu |dla punktu odniesienia |dla punktu odniesienia
| |B1: Y=~K |B2: ~Y=K
| |~K Y=~K | K ~Y=K
A1: Y=~K | Y=1<=>~K=1 | 1 =1 | 0 =0
A2:~Y= K |~Y=1<=> K=1 | 0 =0 | 1 =1
1 2 3 4 5 6 7 8
|
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
W operatorach jednoargumentowych spójnik „i”(*) i „lub”(+) nie występują.
Stąd:
Dla tabeli Ax56 mamy:
Y=~K
co matematycznie oznacza:
A1_56: Y=1 <=> ~K=1
Dla tabeli Ax78 mamy:
~Y=K
co matematycznie oznacza:
A2_78: ~Y=1 <=> K=1
Równanie ogólne dla operatorów transmisji i negacji:
Operator transmisji ## Operator negacji
gdzie:
## - różne na mocy definicji
Y = p # ~Y=~p ## Y=~p # ~Y=p
Po obu stronach znaku # parametr p musi być identyczny.
Po obu stronach znaku ## możemy mieć dowolne p.
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) nie mają nic wspólnego ze znaczkami z prawej strony znaku ## (Y,p)
1.2 Operatory OR i AND
Definicja logiki dodatniej w operatorach 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:
W: Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
stąd otrzymujemy:
A: Ya=1 <=> p=1 i q=1
B: Yb=1 <=> p=1 i q=0
C: Yc=1 <=> p=0 i q=1
Prawa Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Na mocy prawa Prosiaczka wszystkie zmienne sprowadzamy do jedynek (do teorii zbiorów):
A: Ya=1 <=> p=1 i q=1
B: Yb=1 <=> p=1 i ~q=1
C: Yc=1 <=> ~p=1 i q=1
Stąd na mocy definicji spójnika „i”(*) w zbiorach otrzymujemy:
A: Ya=p*q
B: Yb=p*~q
C: Yc=~p*q
… a kiedy zajdzie ~Y?
Przejście z W do logiki ujemnej poprzez negację zmiennych i wymianę spójników
U: ~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1
D: ~Yd =~p*~q
Dla kodowania zgodnego ze zdaniem W otrzymujemy zero-jedynkową definicję operatora OR w logice dodatniej (bo Y):
W: Y=p+q
Y=1, ~Y=0
p=1, ~p=0
q=1, ~q=0
Dla kodowania zgodnego ze zdaniem U otrzymujemy zero-jedynkową definicję operatora AND w logice ujemnej (bo ~Y):
U: ~Y=~p*~q
~Y=1, Y=0
~p=1, p=0
~q=1, q=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
W: Y=p+q | W: Y=p+q | U: ~Y=~p*~q
Y=Ya+Yb+Yc | p q Y=p+q | ~p ~q ~Y=~p*~q
A: p* q = Ya | 1 1 =1 | 0 0 =0
B: p*~q = Yb | 1 0 =1 | 0 1 =0
C:~p* q = Yc | 0 1 =1 | 1 0 =0
U:~Y=~p*~q | |
D:~p*~q =~Yd | 0 0 =0 | 1 1 =1
1 2 3 4 5 6 7 8 9
|
Dla punktu odniesienia Y=p+q otrzymujemy definicję operatora OR w logice dodatniej (bo Y) w obszarze ABCD456.
Dla punktu odniesienia ~Y=~p*~q otrzymujemy definicję operatora AND w logice ujemnej (bo ~Y) w obszarze ABCD789.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Dowód:
Dla tabeli ABCD456 mamy:
Y=p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Z analizy symbolicznej mamy matematyczny opis obszaru ABC456 z jedynkami w wyniku:
Y=p+q
Y = Ya+Yb+Yc = p*q + p*~q + ~p*q
Y = p*q + p*~q + ~p*q
Minimalizujemy:
Y = p*(q+~q) + ~p*q
;q+~q=1
;p*1=p
Y = p+(~p*q)
Przejście do logiki ujemnej 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 poprzez negację zmiennych i wymianę spójników:
Y=p+q - to jest nagłówek tabeli ABCD456
cnd
stąd otrzymujemy:
Y = p+q = p*q + p*~q + ~p*q
Na mocy twierdzenie sfinii dla tabeli ABCD456 zapisujemy:
Y = p+q
co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Na mocy twierdzenia śfinii dla tabeli ABCD789 znaczenie nagłówka tabeli jest natychmiastowe:
~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1
Matematycznie zachodzi:
Y=p+q # ~Y=~p*~q = ~(p+q)
# - różne, w znaczeniu kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, stąd:
Y = p+q <=> ~Y = ~p*~q = ~(p+q)
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 dla spójnika „lub”(+):
Y = p+q = ~(~p*~q)
Przykład:
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 przeciwnej 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)
Definicja operatora AND w układzie równań logicznych:
W: Y=p*q
A: Ya = p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników
U: ~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
stąd otrzymujemy:
B: ~Yb=1 <=> ~p=1 i ~q=1
C: ~Yc=1 <=> ~p=1 i ~q=0
D: ~Yd=1 <=> ~p=0 i ~q=0
Prawa Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Na mocy prawa Prosiaczka wszystkie zmienne sprowadzamy do jedynek (do teorii zbiorów):
B: ~Yb=1 <=> ~p=1 i ~q=1
C: ~Yc =1 <=> ~p=1 i q=1
D: ~Yd=1 <=> p=1 i ~q=1
Stąd na mocy definicji spójnika „i”(*) w zbiorach otrzymujemy:
B: ~Yb=~p*~q
C: ~Yc = ~p*q
D: ~Yd =p*~q
Dla kodowania zgodnego ze zdaniem W otrzymujemy zero-jedynkową definicję operatora AND w logice dodatniej (bo Y):
W: Y=p*q
Y=1, ~Y=0
p=1, ~p=0
q=1, ~q=0
Dla kodowania zgodnego ze zdaniem U otrzymujemy zero-jedynkową definicję operatora OR w logice ujemnej (bo ~Y):
U: ~Y=~p+~q
Y=1, ~Y=0
p=1, ~p=0
q=1, ~q=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
| W: Y=p*q | U: ~Y=~p+~q
W: Y=p*q | |
Y=Ya=p*q | p q Y=p*q | ~p ~q ~Y=~p+~q
A: p* q = Ya | 1 1 =1 | 0 0 =0
U:~Y=~p+~q | |
~Y=~Yb+~Yc+~Yd | |
B:~p*~q =~Yb | 0 0 =0 | 1 1 =1
C:~p* q =~Yc | 0 1 =0 | 1 0 =1
D: p*~q =~Yd | 1 0 =0 | 0 1 =1
1 2 3 4 5 6 7 8 9
|
Dla punktu odniesienia Y=p*q otrzymujemy definicję operatora AND w logice dodatniej (bo Y) w obszarze ABCD456.
Dla punktu odniesienia ~Y=~p+~q otrzymujemy definicję operatora OR w logice ujemnej (bo ~Y) w obszarze ABCD789.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Dowód:
Dla tabeli ABCD789 mamy:
~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
Z analizy symbolicznej mamy matematyczny opis obszaru BCD789 z jedynkami w wyniku:
~Y = ~Yb+~Yc+~Yd = ~p*~q + ~p*q + p*~q
~Y = ~p*~q + ~p*q + p*~q
Minimalizujemy:
~Y = ~p*(~q+q) + p*~q
;~q+q=1
;~p*1=~p
~Y = ~p+(p*~q)
Przejście do logiki dodatniej 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 ujemnej poprzez negacje zmiennych i wymianę spójników:
~Y=~p+~q - to jest nagłówek tabeli ABCD789
cnd
Stąd:
~Y=~p+~q = ~p*~q + ~p*q + p*~q
Na mocy twierdzenie sfinii dla tabeli ABCD456 od razu zapisujemy:
Y = p*q
co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Na mocy twierdzenia śfinii dla tabeli ABCD789 zapisujemy:
~Y=~p+~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 lub ~q=1
Matematycznie zachodzi:
Y=p*q # ~Y=~p+~q = ~(p*q)
# - różne, w znaczeniu kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, stąd:
Y = p*q <=> ~Y=~p+~q = ~(p*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)
Przykład:
Jutro pójdę do kina i do teatru
Y=K*T
… a kiedy skłamię?
Przejście do logiki przeciwnej 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=~K+~T
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)
Równanie ogólne dla operatorów OR i AND
Operator OR ## Operator AND
gdzie:
## - różne na mocy definicji
Y = p+q # ~Y=~p*~q ## Y=p*q # ~Y=~p+~q
Po obu stronach znaku # musimy mieć identyczne p i 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)
1.3 Matematyczny fundament nowej teorii zbiorów
Matematyczny fundament nowej teorii zbiorów:
Definicja naturalnego spójnika „może” ~~>:
~~> - zbiór na podstawie wektora ~~> musi mieć co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Definicja warunku wystarczającego => (gwarancja matematyczna):
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Definicja warunku koniecznego ~>:
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>
Logika dodatnia i ujemna w operatorach implikacji i równoważności:
p=>q = ~p~>~q - definicje implikacji prostej w logice dodatniej (bo q)
~p~>~q = p=>q - definicja implikacji odwrotnej w logice ujemnej (bo ~q)
p<=>q = ~p<=>~q - równoważność w logice dodatniej gdy q
1.4 Operator chaosu
Definicja operatora chaosu w zbiorach:
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
Analiza przez wszystkie możliwe przeczenia:
A: P8~~>P3 =1 bo 24
B: P8~~>~P3 =1 bo 8
C: ~P8~~>~P3 =1 bo 5
D: ~P8~~>P3 =1 bo 3
Przejdźmy z naszym przykładem na zapisy formalne podstawiając:
p=P8
q=P3
Dla kodowania zgodnego ze zdaniem A otrzymujemy zero-jedynkową definicję operatora chaosu:
A: p~~>q
p=1, ~p=0
q=1, ~q=0
Kod: |
Analiza |Kodowanie zero-jedynkowe
Symboliczna |dla punktu odniesienia A: p~~>q
| p q Y=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
|
Obszar ABCD678 to zero-jedynkowa definicja operatora chaosu, matematycznego śmiecia bez żadnej gwarancji matematycznej.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Dla naszej tabeli ABCD345 opisanej spójnikami „i”(*) mamy:
Y = Ya+Yb+Yc+Yd
Y=p*q + p*~q + ~p*~q + ~p*q
Minimalizujemy:
Y = p*(q+~q) + ~p*(~q+q)
;q+~q=1
;p*1 =p
Y = p+~p =1
cnd
1.5 Operatory implikacji prostej i odwrotnej
Definicja implikacji prostej w zbiorach:
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
Definicja implikacji prostej jest jednocześnie prawem Kubusia:
p=>q = ~p~>~q
Interpretacja:
Implikacja prosta w logice dodatniej (bo q):
p=>q = ~p~>~q
jest tożsama z implikacją odwrotną w logice ujemnej (bo ~q):
~p~>~q = p=>q
Przykład:
A.
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L =1 bo pies, twarda prawda, gwarancja matematyczna = warunek wystarczający =>
Zdanie a w zbiorach:
P=>4L = P*4L = P =1
Definicja warunku wystarczającego => spełniona bo zbiór P zawiera się w zbiorze 4L
Dodatkowo zbiory P i 4L są różne co wymusza implikację prostą w logice dodatniej (bo 4L) o definicji
P=>4L = ~P~>~4L
… a jeśli zwierzę nie jest psem?
Prawo Kubusia:
P=>4L = ~P~>~4L
C.
Jeśli zwierzę nie jest psem to „może” ~> nie mieć czterech łap
~P~>~4L =1 bo kura
Zdanie C w zbiorach:
~P~>~4L = ~P*~4L = ~4L =1
Definicja warunku koniecznego ~> spełniona bo zbiór ~P zawiera w sobie zbiór ~4L
Dodatkowo zbiory ~P i ~4L są różne, co wymusza implikację odwrotną w logice ujemnej (bo ~4L) o definicji:
~P~>~4L = P=>4L
Bezpośrednio ze zdania A wynika fałszywość zdania B:
B.
Jeśli zwierzę jest psem to może ~~> nie mieć czterech łap
P~~>~4L = 0 - twardy fałsz, wynikły ze zdania A
Zdanie B w zbiorach:
P~~>~4L = P*~4L =1*1 =0
Oba zbiory istnieją (P=1 i ~4L=1), ale są rozłączne, co wymusza w wyniku 0 (zbiór pusty)
Bezpośrednio ze zdania C wynika prawdziwość zdania D:
D.
Jeśli zwierzę nie jest psem to może ~~> mieć cztery łapy
~P~~>4L =1 bo słoń
Zdanie D w zbiorach:
~P~~>4L = ~P*4L =1 bo słoń
Oba zbiory istnieją (~P=1 i 4L=1) i mają część wspólną (słoń..) co wymusza w wyniku 0 (zbiór niepusty)
W zdaniu D nie zachodzi warunek konieczny ~> bo prawo Kubusia:
~P~>4L = P=>~4L =0
Prawa strona jest fałszem, zatem z lewej strony nie zachodzi warunek konieczny ~>.
Dla kodowania zgodnego ze zdaniem A otrzymujemy zero-jedynkową definicję implikacji prostej w logice dodatniej (bo 4L):
A: P=>4L
P=1, ~P=0
4L=1, ~4L=0
Dla kodowania zgodnego ze zdaniem C otrzymujemy zero-jedynkową definicję implikacji odwrotnej w logice ujemnej (bo ~4L):
C: ~P~>~4L
~P=1, P=0
~4L=1, 4L=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
| A: P=>4L | C: ~P~>~4L
| 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
|
Tabela ABCD456 to zero-jedynkowa definicja operatora implikacji prostej w logice dodatniej (bo 4L).
Tabela ABCD789 to zero-jedynkowa definicja operatora implikacji odwrotnej w logice ujemnej (bo ~4L)
Tożsamość kolumn wynikowych 6 i 9 jest dowodem formalnym prawa Kubusia:
P=>4L = ~P~>~4L
Nasz przykład w zapisie formalnym:
p=>q = ~p~>~q
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Tworzymy równanie algebry Kubusia dla wynikowych jedynek w tabeli ABCD456:
Przejdźmy na zapis formalny:
Y = P=>4L
p =P
q = 4L
Na mocy tabeli symbolicznej ABCD123 w spójnikach „i”(*) zapisujemy:
Y = Ya+Yc+Yd
Y = P*4L + ~P*~4L + ~P*4L
to samo w zapisie formalnym:
Y = p*q + ~p*~q +~p*q
Minimalizujemy:
Y=p*q + ~p*(~q+q)
;~q+q=1
;~p*1 = ~p
Y = (p*q) + ~p
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
~Y = (~p+~q)*p
~Y = ~p*p + p*~q
;~p*p =0
;0+x =x
~Y = p*~q
Powrót do logiki dodatniej poprzez negację zmiennych i wymianę spójników:
Y = ~p+q
Stąd równanie opisujące tabelę ABCD456:
Y = P=>4L = ~P+4L
co matematycznie oznacza:
Y=1 <=> ~P=1 lub 4L=1
Stąd na mocy definicji spójnika „lub”(+) zdania prawdziwe w tabeli ABCD456 to:
Y=1 <=> ~P=1 i 4L=1
Y=1 <=> ~P=0 i 4L=1
Y=1 <=> ~P=1 i 4L=0
Prawa Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Na mocy prawa Prosiaczka wszystkie zmienne sprowadzamy do jedynek (do teorii zbiorów):
D: Y=1 <=> ~P=1 i 4L=1
A: Y=1 <=> P=1 i 4L=1
C: Y=1 <=> ~P=1 i ~4L=1
Dopiero w tym momencie możemy zlokalizować linie w tabeli ABCD456, oczywiście sa to linie z jedynkami w wyniku.
Stąd na mocy definicji spójnika „i”(*) w zbiorach mamy następujące zdania prawdziwe:
A.
Istnieje zwierzę które jest psem (P=1) i ma cztery łapy (4L=1)
Y = P*4L =1 bo pies
co matematycznie oznacza:
Y=1 <=> P=1 i 4L=1
lub
C.
Istnieje zwierzę które nie jest psem (~P=1) i nie ma czterech łap (~4L=1)
Y = ~P*~4L =1 bo kura
co matematycznie oznacza:
Y=1 <=> ~P=1 i ~4L=1
lub
D.
Istnieje zwierzę które nie jest psem (~P=1) i ma czterech łap (4L=1)
Y = ~P*4L =1 bo słoń
co matematycznie oznacza:
Y=1 <=> ~P=1 i 4L=1
Zauważmy, że analizując zdanie P=>4L w spójnikach „i”(*) i „lub”(+) dostajemy prawidłową odpowiedź które zdania wchodzące w skład operatora implikacji prostej są prawdziwe.
Definicja implikacji prostej:
P=>4L =~P~>~4L = ~P+4L
Nie ma tu jednak śladu istoty implikacji, gwarancji matematycznej (warunek wystarczający =>) po stronie wynikowych jedynek. Wszystkie jedynki są tu tak samo ważne, wystarczy znaleźć po jednym zwierzęciu wchodzącym w skład zdań A, C i D i koniec dowodu prawdziwości tych zdań!
Nie jest to zatem dobra analiza implikacji prostej, mimo że matematycznie poprawna.
Oczywiście jeśli będziemy analizować implikację spójnikami „i”(*) i „lub”(+) to jedna z implikacji, prosta lub odwrotna, jest matematycznie zbędna, co za chwilę udowodnimy.
Z tabeli ABCD123 odczytujemy jedyna zdanie fałszywe w implikacji prostej:
Nie istnieje zwierzę (Y=0) które jest psem (P=1) i nie ma czterech łap (~4L=1)
B: P*~4L =1*1 =0
Oba zbiory istnieją (P=1 i ~4L=1) ale są rozłączne, co wymusza w wyniku 0 (zbiór pusty)
Definicja implikacji odwrotnej w zbiorach:
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
Definicja implikacji odwrotnej jest jednocześnie prawem Kubusia:
p~>q = ~p=>~q
Interpretacja:
Implikacja odwrotna w logice dodatniej (bo q):
p~>q = ~p=>~q
jest tożsama z implikacją prostą w logice ujemnej (bo ~q):
~p=>~q = p~>q
Przykład:
A.
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P =1 bo pies
Zdanie A w zbiorach:
4L~>P = 4L*P = P =1
Definicja warunku koniecznego ~> spełniona bo zbiór 4L zawiera w sobie zbiór P
Dodatkowo zbiory 4L i P są różne co wymusza implikację odwrotną w logice dodatniej (bo P) o definicji
4L~>P = ~4L=>~P
… a jeśli zwierzę nie ma czterech łap?
Prawo Kubusia:
4L~>P = ~4L=>~P
C.
Jeśli zwierzę nie ma czterech łap to na pewno => nie jest psem
~4L=>~P =1 - twarda prawda, gwarancja matematyczna = warunek wystarczający =>
Zdanie C w zbiorach:
~4L=>~P = ~4L*~P = 1*1 =1
Definicja warunku wystarczającego => spełniona bo zbiór ~4L (kura, wąż..) zawiera się w zbiorze ~P (kura, wąż, słoń..)
Dodatkowo zbiory ~4L i ~P są różne, co wymusza implikację prostą w logice ujemnej (bo ~P) o definicji:
~4L=>~P = 4L~>P
Bezpośrednio ze zdania A wynika prawdziwość zdania B:
B.
Jeśli zwierzę ma cztery łapy to może ~~> nie być psem
4L~~>~P=1 bo słoń
Zdanie B w zbiorach:
4L~~>~P = 4L*~P =1*1 =1
Oba zbiory istnieją (4L=1 i ~P=1) i mają część wspólną (słoń..) co wymusza w wyniku 0 (zbiór niepusty)
W zdaniu B nie zachodzi warunek konieczny ~> bo prawo Kubusia:
4L~>~P = ~4L=>P =0
Prawa strona jest fałszem, zatem z lewej strony nie zachodzi warunek konieczny ~>.
Bezpośrednio ze zdania C wynika zdanie D:
D.
Jeśli zwierzę nie ma czterech łap to może ~~> być psem
~4L~~>P =0 - twardy fałsz, wynikły ze zdania C
zdanie D w zbiorach:
~4L~~>P = ~4L*P =1*1=0
Oba zbiory istnieją (~4L=1 i P=1) ale są rozłączne, co wymusza w wyniku 0 (zbiór pusty)
Dla kodowania zgodnego ze zdaniem A otrzymujemy zero-jedynkową definicję implikacji odwrotnej w logice dodatniej (bo P):
A: 4L~>P
4L=1, ~4L=0
P=1, ~P=0
Dla kodowania zgodnego ze zdaniem C otrzymujemy zero-jedynkową definicję implikacji prostej w logice ujemnej (bo ~P):
C: ~4L=>~P
~4L=1, 4L=0
~P=1, P=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
| A: 4L~>P | C: ~4L=>~P
| 4L P 4L~>P | ~4L ~P ~4L=>~P
A: 4L~> P = 4L* P =1 | 1 1 =1 | 0 0 =1
B: 4L~~>~P= 4L*~P =1 | 1 0 =1 | 0 1 =1
C:~4L=>~P =~4L*~P =1 | 0 0 =1 | 1 1 =1
D:~4L~~>P =~4L* P =0 | 0 1 =0 | 1 0 =0
1 2 3 4 5 6 7 8 9
|
Tabela ABCD456 to zero-jedynkowa definicja operatora implikacji odwrotnej w logice dodatniej (bo P).
Tabela ABCD789 to zero-jedynkowa definicja operatora implikacji prostej w logice ujemnej (bo ~P)
Tożsamość kolumn wynikowych 6 i 9 jest dowodem formalnym prawa Kubusia:
4L~>P = ~4L=>~P
Nasz przykład w zapisie formalnym:
p~>q = ~p=>~q
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Tworzymy równanie algebry Kubusia dla wynikowych jedynek w tabeli ABCD456:
Przejdźmy na zapis formalny:
Y = 4L~>P
p =4L
q = P
Na mocy tabeli symbolicznej ABCD123 w spójnikach „i”(*) zapisujemy:
Y = Ya+Yb+Yc
Y = 4L*P + 4L*~P + ~4L*~P
to samo w zapisie formalnym:
Y = p*q + p*~q +~p*~q
Minimalizujemy:
Y= p*q + ~q*(p+~p)
;p+~p=1
;~q*1 = ~q
Y = (p*q) +~q
Przejście do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
~Y = (~p+~q)*q
~Y = ~p*q + q*~q
;q*~q=0
;x+0 = x
~Y = ~p*q
Powrót do logiki dodatniej poprzez negację zmiennych i wymianę spójników:
Y = p+~q
Stąd równanie opisujące tabelę ABCD456:
Y = 4L~>P = 4L + ~P
co matematycznie oznacza:
Y=1 <=> 4L=1 lub ~P=1
Stąd na mocy definicji spójnika „lub”(+) zdania prawdziwe w tabeli ABCD456 to:
Y=1 <=> 4L=1 i ~P=1
Y=1 <=> 4L=1 i ~P=0
Y=1 <=> 4L=0 i ~P=1
Prawa Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Na mocy prawa Prosiaczka wszystkie zmienne sprowadzamy do jedynek (do teorii zbiorów):
B: Y=1 <=> 4L=1 i ~P=1
A: Y=1 <=> 4L=1 i P=1
C: Y=1 <=> ~4L=1 i ~P=1
Dopiero w tym momencie możemy zlokalizować linie w tabeli ABCD456, oczywiście są to linie z jedynkami w wyniku.
Stąd na mocy definicji spójnika „i”(*) w zbiorach mamy następujące zdania prawdziwe:
A.
Istnieje zwierzę które ma cztery łapy (4L=1) i jest psem (P=1)
Y = 4L*P =1 bo pies
co matematycznie oznacza:
Y=1 <=> 4L=1 i P=1
lub
B.
Istnieje zwierzę które ma cztery łapy (4L=1) i nie jest psem (~P=1)
Y = 4L*~P =1 bo słoń
co matematycznie oznacza:
Y=1 <=> 4L=1 i ~P=1
C.
Istnieje zwierzę które nie ma czterech łap (~4L=1) i nie jest psem (~P=1)
Y = ~4L*~P =1 bo kura
Zauważmy, że analizując zdanie 4L~>P w spójnikach „i”(*) i „lub”(+) dostajemy prawidłową odpowiedź które zdania wchodzące w skład operatora implikacji odwrotnej są prawdziwe.
Definicja implikacji odwrotnej:
4L~>P = ~4L=>~P = 4L+~P
Nie ma tu jednak śladu istoty implikacji, gwarancji matematycznej (warunek wystarczający =>) po stronie wynikowych jedynek. Wszystkie jedynki są tu tak samo ważne, wystarczy znaleźć po jednym zwierzęciu wchodzącym w skład zdań A, C i D i koniec dowodu prawdziwości tych zdań!
Nie jest to zatem dobra analiza implikacji prostej, mimo że matematycznie poprawna.
Z tabeli ABCD123 odczytujemy jedyna zdanie fałszywe w implikacji prostej:
Nie istnieje zwierzę (Y=0) które nie ma czterech łap (~4L=1) i jest psem (P=1)
B: ~4L*P =1*1 =0
Oba zbiory istnieją (~4L=1 i P=1) ale są rozłączne, co wymusza w wyniku 0 (zbiór pusty)
Zauważmy, że jeśli będziemy analizować implikację spójnikami „i”(*) i „lub”(+) to jedna z implikacji jest matematycznie zbędna!
Definicja implikacji prostej:
P=>4L = ~P~>~4L = ~P+4L
Definicja implikacji odwrotnej:
4L~>P = ~4L=>~P = 4L+~P = ~P+4L
Tożsamość prawych stron jest dowodem zbędności jednej z implikacji (dowolnej!) gdy będziemy opisywać ją spójnikami „i”(*) i „lub”(+).
Zauważmy, że w obu implikacjach, prostej i odwrotnej, zdania prawdziwe je opisujące są identyczne, bo operacje „lub”(+) i „i”(*) na zbiorach są przemienne. Definicje implikacji wyrażone spójnikami „i”(*) i „lub”(+), nie mówią nic o wzajemnym zawieraniu się zbiorów - istocie implikacji.
Zauważmy, że spójnik „i”(*) w zbiorach to nic innego jak kwantyfikator mały:
\/x p(x) ~~> q(x)
Istnieje takie x że jeśli zajdzie p(x)=1 to może ~~> zajść q(x)=1
Wystarczy znaleźć jedno x i koniec dowodu.
Natomiast warunek wystarczający => (spójnik „na pewno”=>) w zbiorach to nic innego jak kwantyfikator duży:
/\x p(x) => q(x)
Dla każdego x, jeśli zajdzie p(x)=1 to na pewno => zajdzie q(x)=1
Równanie ogólne dla operatorów implikacji:
Implikacja prosta ## Implikacja odwrotna
p=>q = ~p~>~q ## p~>q = ~p=>~q
gdzie:
## - różne na mocy definicji
W tożsamości „=” musimy mieć identyczne p i q.
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
1.6 Operator równoważności
Definicja równoważności w zbiorach:
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
Stąd mamy:
~p<=>~q = (~p=>~q)*(p=>q) = (p=>q)*(~p=>~q)
Stąd otrzymujemy:
p<=>q = ~p<=>~q
Równanie ogólne dla operatora równoważności:
[p<=>q = (p=>q)*(~p=>~q)] = [~p<=>~q = (~p=>~q)*(p=>q)]
Tożsamość „=” między nawiasami kwadratowymi oznacza, że wystarczy dowieść prawdziwość dowolnej strony aby automatycznie dowieść drugą stronę.
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:
Równoważność w logice dodatniej (bo SK):
R1.
Trójkąt jest prostokątny wtedy i tylko wtedy gdy zachodzi suma kwadratów
TP<=>SK = (TP=>SK)*(~TP=>~SK)
Równoważność w logice ujemnej (bo ~SK)
R2.
Trójkąt nie jest prostokątny wtedy i tylko wtedy gdy nie zachodzi suma kwadratów
~TP<=>~SK = (~TP=>~SK)*(TP=>SK)
Matematyczna tożsamość:
TP<=>SK = ~TP<=>~SK
oznacza, że dowód dowolnej strony tożsamości jest automatycznie dowodem drugiej strony.
Udowodnimy równoważność R1.
R1.
Trójkąt jest prostokątny wtedy i tylko wtedy gdy zachodzi suma kwadratów
TP<=>SK = (TP=>SK)*(~TP=>~SK)
Dowodzimy warunek wystarczający => w logice dodatniej (bo SK):
A: TP=>SK
A.
Jeśli trójkąt jest prostokątny to na pewno => zachodzi suma kwadratów
TP=>SK =1 - twarda prawda, gwarancja matematyczna = warunek wystarczający =>
Zdanie A w zbiorach:
TP=>SK = TP*SK = TP =1
Definicja warunku wystarczającego => spełniona bo zbiór TP zawiera się w zbiorze SK
Dodatkowo zbiory TP=SK są tożsame co wymusza definicję równoważności w logice dodatniej (bo SK):
R1: TP<=>SK = (TP=>SK)*(~TP=>~SK)
… a jeśli trójkąt nie jest prostokątny?
Tożsamość zbiorów TP=SK wymusza tożsamość zbiorów ~TP=~SK.
Tożsamość zbiorów ~TP=~SK wymusza równoważność w logice ujemnej (bo ~SK):
R2: ~TP<=>~SK = (~TP=>~SK)*(TP=>SK)
Dowodzimy warunek wystarczający => w logice ujemnej (bo ~SK):
C: ~TP=>~SK
C.
Jeśli trójkąt nie jest prostokątny to na pewno => nie zachodzi suma kwadratów
~TP=>~SK =1 - twarda prawda, gwarancja matematyczna = warunek wystarczający =>
Zdanie C w zbiorach:
~TP=>~SK = ~TP*~SK = ~TP =1
Definicja warunku wystarczającego => spełniona bo zbiór ~TP zawiera się w zbiorze ~SK
Oczywistość z powodu tożsamości zbiorów ~TP=~SK.
Bezpośrednio ze zdania A wynika twardy fałsz w zdaniu B:
B.
Jeśli trójkąt jest prostokątny to może ~~> nie zachodzić suma kwadratów
TP~~>~SK =0 - twardy fałsz, wynikły bezpośrednio ze zdania A
Zdanie B w zbiorach:
TP~~>~SK = TP*~SK = 1*1 =0
Oba zbiory istnieją (TP=1 i ~SK=1) ale są rozłączne, co wymusza w wyniku 0 (zbiór pusty)
Bezpośrednio ze zdania C wynika twardy fałsz w zdaniu D:
Jeśli trójkąt nie jest prostokątny to może ~~> zachodzić suma kwadratów
~TP~~>SK = 1 - twardy fałsz, wynikły bezpośrednio ze zdania C
Zdanie D w zbiorach:
~TP~~>SK = ~TP*SK = 1*1 =0
Oba zbiory istnieją (~TP=1 i SK=1) ale są rozłączne, co wymusza w wyniku 0 (zbiór pusty)
Dla kodowania zgodnego ze zdaniem R1 otrzymujemy zero-jedynkową definicję równoważności w logice dodatniej (bo SK):
R1: TP<=>SK
TP=1, ~TP=0
SK=1, ~SK=0
Dla kodowania zgodnego ze zdaniem R2 otrzymujemy zero-jedynkową definicję równoważności w logice ujemnej (bo ~SK):
R2: ~TP<=>~SK
~TP=1, TP=0
~SK=1, SK=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
| R1: TP<=>SK | R2: ~TP<=>~SK
| TP SK TP<=>SK | ~TP ~SK ~TP<=>~SK
A: TP=> SK = TP* SK =1 | 1 1 =1 | 0 0 =1
B: TP~~>~SK= TP*~SK =0 | 1 0 =0 | 0 1 =0
C:~TP=>~SK =~TP*~SK =1 | 0 0 =1 | 1 1 =1
D:~TP~~>SK =~TP* SK =0 | 0 1 =0 | 1 0 =0
1 3 3 4 5 6 7 8 9
|
Tabela ABCD456 to zero-jedynkowa definicja operatora równoważności w logice dodatniej (bo SK).
Tabela ABCD789 to zero-jedynkowa definicja operatora równoważności w logice ujemnej (bo ~SK)
Tożsamość kolumn wynikowych 6 i 9 jest dowodem formalnym prawa Kubusia:
TP<=>SK = ~TP<=>~SK
Nasz przykład w zapisie formalnym:
p<=>q = ~p<=>~q
1.7 Operator implikacji prostej wyrażony spójnikami „i”(*) i „lub”(+)
Rozważmy zdanie:
A.
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L =1
Zdanie A w zbiorach:
P=>4L = P*4L =P =1
Definicja warunku wystarczającego => spełniona bo zbiór P zawiera się w zbiorze 4L.
Dodatkowo zbiory P i 4L są różne co wymusza implikację prostą o definicji:
P=>4L = ~P~>~4L
Definicja implikacji prostej wyrażona spójnikami „i”(*) i „lub”(+) wyprowadzona wyżej:
Y = P=>4L = ~P~>~4L = ~P+4L
Stąd mamy funkcję logiczną w spójnikach „i”(*) i „lub”(*):
Y = ~P+4L
Przejdźmy na zapis formalny podstawiając:
p=P
q=4L
Y = ~p+q
Zbudujmy tabelę zero-jedynkową dla równania:
Y = ~p+q
co matematycznie oznacza:
Y=1 <=> ~p=1 lub q=1
Definicja operatora OR w układzie równań logicznych:
W: Y=~p+q
co matematycznie oznacza:
Y=1 <=> ~p=1 lub q=1
stąd otrzymujemy:
A: Ya=1 <=> ~p=1 i q=1
B: Yb=1 <=> ~p=1 i q=0
C: Yc=1 <=> ~p=0 i q=1
Prawa Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Na mocy prawa Prosiaczka wszystkie zmienne sprowadzamy do jedynek (do teorii zbiorów):
A: Ya=1 <=> ~p=1 i q=1
B: Yb=1 <=> ~p=1 i ~q=1
C: Yc=1 <=> p=1 i q=1
Stąd na mocy definicji spójnika „i”(*) w zbiorach otrzymujemy:
A: Ya=~p*q
B: Yb=~p*~q
C: Yc=p*q
… a kiedy zajdzie ~Y?
Przejście z W do logiki ujemnej poprzez negację zmiennych i wymianę spójników
U: ~Y=p*~q
co matematycznie oznacza:
~Y=1 <=> p=1 i ~q=1
D: ~Yd =p*~q
Dla kodowania zgodnego ze zdaniem W otrzymujemy zero-jedynkową definicję operatora OR w logice dodatniej (bo Y):
W: Y=~p+q
Y=1, ~Y=0
~p=1, p=0
q=1, ~q=0
Dla kodowania zgodnego ze zdaniem U otrzymujemy zero-jedynkową definicję operatora AND w logice ujemnej (bo ~Y):
U: ~Y=p*~q
~Y=1, Y=0
p=1, ~p=0
~q=1, q=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
W: Y=~p+q | W: Y=~p+q | U: ~Y=p*~q
Y=Ya+Yb+Yc | ~p q Y=~p+q | p ~q ~Y=p*~q
A:~p* q = Ya | 1 1 =1 | 0 0 =0
B:~p*~q = Yb | 1 0 =1 | 0 1 =0
C: p* q = Yc | 0 1 =1 | 1 0 =0
U:~Y=p*~q | |
D: p*~q =~Yd | 0 0 =0 | 1 1 =1
1 2 3 4 5 6 7 8 9
|
Dla punktu odniesienia Y=~p+q otrzymujemy definicję operatora OR w logice dodatniej (bo Y) w obszarze ABCD456.
Dla punktu odniesienia ~Y=p*~q otrzymujemy definicję operatora AND w logice ujemnej (bo ~Y) w obszarze ABCD789.
Doskonale widać, że tabele zero-jedynkowe nie maja nic wspólnego z operatorem implikacji, to po prostu definicje maszynowe operatorów OR i AND.
Zauważmy, że dopiero w tym przypadku zachodzi przemienność w operatorach OR i AND na poziomie maszynowym (zero-jedynkowym). matematycznie wszystko zatem się tu idealnie zgadza.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Dowód:
Dla tabeli ABCD456 mamy:
Y=~p+q
co matematycznie oznacza:
Y=1 <=>~p=1 lub q=1
Z analizy symbolicznej mamy matematyczny opis obszaru ABC456 z jedynkami w wyniku:
Y=~p+q
Y = Ya+Yb+Yc = ~p*q + ~p*~q + p*q
Y = ~p*q + ~p*~q + p*q
Minimalizujemy:
Y = ~p*(q+~q) + p*q
;q+~q=1
;~p*1=~p
Y = ~p+(p*q)
Przejście do logiki ujemnej 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 poprzez negację zmiennych i wymianę spójników:
Y=~p+q - to jest nagłówek tabeli ABCD456
cnd
stąd otrzymujemy:
Y = ~p+q = ~p*q + ~p*~q + p*q
Na mocy twierdzenia sfinii dla tabeli ABCD456 zapisujemy:
Y = ~p+q
co matematycznie oznacza:
Y=1 <=> ~p=1 lub q=1
Na mocy twierdzenia śfinii dla tabeli ABCD789 znaczenie nagłówka tabeli jest natychmiastowe:
~Y=p*~q
co matematycznie oznacza:
~Y=1 <=> p=1 i ~q=1
Formalnie rzecz biorąc funkcja logiczna:
W: Y=~P+4L
co matematycznie oznacza:
Y=1 <=> ~P=1 lub 4L=1
nie ma nic wspólnego z operatorem implikacji prostej.
To jest po prostu operator OR co widać w tabeli ABCD456.
… a kiedy zajdzie ~Y?
Przejście ze zdaniem W do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
U: ~Y=P*~4L
co matematycznie oznacza:
~Y=1 <=> P=1 i ~4L =1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając W i U mamy gwarancję matematyczną wyrażoną spójnikami „i”(*) i „lub”(+):
Y = ~(P*~4L)
Nie może się zdarzyć ~(…), że zwierzę jest psem i nie ma czterech łap
Zauważmy że punktem odniesienia jest tu zdanie:
Y = ~P+4L
co matematycznie oznacza:
Y=1 <=> ~P=1 lub 4L=1
Stąd otrzymujemy:
Y = ~P+4L = ~(P*~4L)
Dla prawidłowego wartościowania musimy prawą stronę sprowadzić do sygnałów odniesienia ~P i 4L korzystając z prawa podwójnego przeczenia.
Stąd otrzymujemy:
Y = ~P+4L = ~[~(~p) * ~(4L)]
Dopiero teraz możemy prawidłowo wartościować całe równanie:
Punkt odniesienia:
Y = ~P+4L
co matematycznie oznacza:
Y=1 <=> ~P=1 lub 4L=1
stąd mamy trzy przypadki dla których nasze równanie jest prawdziwe:
A.
~P=1, 4L=1
Y = ~P+4L = ~[~(~p) * ~(4L)] = 1+1 = ~[~(1)*~(1)] = ~[0*0] = ~[0] =1
B.
~P=1, 4L=0
Y = ~P+4L = ~[~(~p) * ~(4L)] = 1+0 = ~[~(1)*~(0)] = ~[0*1] = ~[0] =1
C.
~P=0, 4L=1
Y = ~P+4L = ~[~(~p) * ~(4L)] = 0+1 = ~[~(0)*~(1)] = ~[1*0] = ~[0] =1
cnd
Zauważmy, że gwarancja matematyczna w implikacji wyrażona spójnikami „i”(*) i „lub”(*) jest czasami używana.
Przykład:
Tata:
Jeśli zwierzę jest psem to na pewno => ma cztery łapy
P=>4L =1
Synek lat 5:
Tata, a czy może się zdarzyć że zwierzą jest psem i nie ma czterech łap?
Tata:
P=>4L = ~P+4L = ~(P*~4L)
Nie może się zdarzyć ~(..), że zwierzę jest psem i nie ma czterech łap
Y = ~(P*~4L)
Poprawne wartościowanie dla tego zdania wyżej.
1.8 Operator implikacji odwrotnej wyrażony spójnikami „i”(*) i „lub”(+)
A.
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P =1 bo pies
Zdanie A w zbiorach:
4L~>P = 4L*P = P =1
Definicja warunku koniecznego ~> spełniona bo zbiór 4L zawiera w sobie zbiór P
Dodatkowo zbiory 4L i P są różne co wymusza implikację odwrotną w logice dodatniej (bo P) o definicji
4L~>P = ~4L=>~P
… a jeśli zwierzę nie ma czterech łap?
Prawo Kubusia:
4L~>P = ~4L=>~P
C.
Jeśli zwierzę nie ma czterech łap to na pewno => nie jest psem
~4L=>~P =1 - twarda prawda, gwarancja matematyczna = warunek wystarczający =>
Zdanie C w zbiorach:
~4L=>~P = ~4L*~P = 1*1 =1
Definicja warunku wystarczającego => spełniona bo zbiór ~4L (kura, wąż..) zawiera się w zbiorze ~P (kura, wąż, słoń..)
Dodatkowo zbiory ~4L i ~P są różne, co wymusza implikację prostą w logice ujemnej (bo ~P) o definicji:
~4L=>~P = 4L~>P
Definicja implikacji odwrotnej wyrażona spójnikami „i”(*) i „lub”(+) wyprowadzona wyżej:
Y = 4L~>P = ~4L=>~P = 4L+~P
Stąd mamy funkcję logiczną w spójnikach „i”(*) i „lub”(*):
Y = 4L+~P
Przejdźmy na zapis formalny podstawiając:
p=4L
q=P
Y = p+~q
Zbudujmy tabelę zero-jedynkową dla równania:
W: Y = p+~q
co matematycznie oznacza:
Y=1 <=> ~p=1 lub ~q=1
Definicja operatora OR w układzie równań logicznych:
W: Y=p+~q
co matematycznie oznacza:
Y=1 <=> p=1 lub ~q=1
stąd otrzymujemy:
A: Ya=1 <=> p=1 i ~q=1
B: Yb=1 <=> p=1 i ~q=0
C: Yc=1 <=> p=0 i ~q=1
Prawa Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Na mocy prawa Prosiaczka wszystkie zmienne sprowadzamy do jedynek (do teorii zbiorów):
A: Ya=1 <=> p=1 i ~q=1
B: Yb=1 <=> p=1 i q=1
C: Yc=1 <=> ~p=1 i ~q=1
Stąd na mocy definicji spójnika „i”(*) w zbiorach otrzymujemy:
A: Ya=p*~q
B: Yb=p*q
C: Yc=~p*~q
… a kiedy zajdzie ~Y?
Przejście z W do logiki ujemnej poprzez negację zmiennych i wymianę spójników
U: ~Y=~p*q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i q=1
D: ~Yd =~p*q
Dla kodowania zgodnego ze zdaniem W otrzymujemy zero-jedynkową definicję operatora OR w logice dodatniej (bo Y):
W: Y=p+~q
Y=1, ~Y=0
p=1, ~p=0
~q=1, q=0
Dla kodowania zgodnego ze zdaniem U otrzymujemy zero-jedynkową definicję operatora AND w logice ujemnej (bo ~Y):
U: ~Y=~p*q
~Y=1, Y=0
~p=1, p=0
q=1, ~q=0
Kod: |
Analiza symboliczna |Kodowanie zero-jedynkowe |Kodowanie zero-jedynkowe
|dla punktu odniesienia |dla punktu odniesienia
W: Y=p+~q | W: Y=p+~q | U: ~Y=~p*q
Y=Ya+Yb+Yc | p ~q Y=p+~q | ~p q ~Y=~p*q
A: p*~q = Ya | 1 1 =1 | 0 0 =0
B: p* q = Yb | 1 0 =1 | 0 1 =0
C:~p*~q = Yc | 0 1 =1 | 1 0 =0
U:~Y=~p*q | |
D:~p* q =~Yd | 0 0 =0 | 1 1 =1
1 2 3 4 5 6 7 8 9
|
Dla punktu odniesienia Y=p+~q otrzymujemy definicję operatora OR w logice dodatniej (bo Y) w obszarze ABCD456.
Dla punktu odniesienia ~Y=~p*q otrzymujemy definicję operatora AND w logice ujemnej (bo ~Y) w obszarze ABCD789.
Twierdzenie śfinii:
W dowolnej tabeli zero-jedynkowej opisanej spójnikami „i”(*) i „lub”(+) nagłówek tabeli opisuje wyłącznie linie z jedynkami w wyniku
Dowód:
Dla tabeli ABCD456 mamy:
Y=p+~q
co matematycznie oznacza:
Y=1 <=> p=1 lub ~q=1
Z analizy symbolicznej mamy matematyczny opis obszaru ABC456 z jedynkami w wyniku:
Y=p+~q
Y = Ya+Yb+Yc = p*~q + p*q + ~p*~q
Y = p*~q + p*q + ~p*~q
Minimalizujemy:
Y = p*(~q+q) + ~p*~q
;~q+q=1
;p*1=p
Y = p+(~p*~q)
Przejście do logiki ujemnej 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 poprzez negację zmiennych i wymianę spójników:
Y=p+~q - to jest nagłówek tabeli ABCD456
cnd
stąd otrzymujemy:
Y = p+~q = p*~q + p*q + ~p*~q
Na mocy twierdzenie sfinii dla tabeli ABCD456 zapisujemy:
Y = p+~q
co matematycznie oznacza:
Y=1 <=> p=1 lub ~q=1
Na mocy twierdzenia śfinii dla tabeli ABCD789 znaczenie nagłówka tabeli jest natychmiastowe:
~Y=~p*q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i q=1
Formalnie rzecz biorąc funkcja logiczna:
W: Y=4L + ~P
co matematycznie oznacza:
Y=1 <=> 4L=1 +~P=1
nie ma nic wspólnego z operatorem implikacji prostej.
To jest po prostu operator OR co widać w tabeli ABCD456.
… a kiedy zajdzie ~Y?
Przejście ze zdaniem W do logiki ujemnej poprzez negację zmiennych i wymianę spójników:
U: ~Y=~4L*P
co matematycznie oznacza:
~Y=1 <=> ~4L =1 i P=1
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Podstawiając W i U mamy gwarancję matematyczną wyrażoną spójnikami „i”(*) i „lub”(+):
Y = ~(~4L*P)
Nie może się zdarzyć ~(…), że zwierzę nie ma czterech łap i jest psem
Zauważmy że punktem odniesienia jest tu zdanie:
Y = 4L +~P
co matematycznie oznacza:
Y=1 <=> 4L=1 lub ~P=1
Stąd otrzymujemy:
Y = 4L + ~P = ~(~4L*P)
Dla prawidłowego wartościowania musimy prawą stronę sprowadzić do sygnałów odniesienia 4L i ~P korzystając z prawa podwójnego przeczenia.
Stąd otrzymujemy:
Y = 4L+~P = ~[~(4L)*~(~P)]
Dopiero teraz możemy prawidłowo wartościować całe równanie:
Punkt odniesienia:
Y = 4L +~P
co matematycznie oznacza:
Y=1 <=> 4L=1 lub ~P=1
stąd mamy trzy przypadki dla których nasze równanie jest prawdziwe:
A.
4L=1, ~P=1
Y = 4L + ~P = ~[~(4L) * ~(~P)] = 1+1 = ~[~(1)*~(1)] = ~[0*0] = ~[0] =1
B.
4L=1, ~P=0
Y = 4L + ~P = ~[~(4L) * ~(~P)] = 1+0 = ~[~(1)*~(0)] = ~[0*1] = ~[0] =1
C.
4L=0, ~P=1
Y = 4L + ~P = ~[~(4L) * ~(~P)] = 0+1 = ~[~(0)*~(1)] = ~[1*0] = ~[0] =1
cnd
Zauważmy, że gwarancja matematyczna w implikacji wyrażona spójnikami „i”(*) i „lub”(*) jest czasami używana.
Przykład rodem z przedszkola:
Tata:
Jeśli zwierzę ma cztery łapy to może ~> być psem
4L~>P =1
Synek lat 5:
Tata, a jeśli zwierzę nie ma czterech łap?
Prawo Kubusia:
4L~>P = ~4L=>~P
Tata:
Jeśli zwierzę nie ma czterech łap to na pewno => nie jest psem
~4L=>~P =1
Tata, a czy może się zdarzyć że zwierzę nie ma czterech łap i jest psem?
Tata:
~4L=>~P = ~(~4L)+~P = 4L+~P = ~(~4L*P) - prawo De Morgana
Synku:
Nie może się zdarzyć ~(..), że zwierzę nie ma czterech łap i jest psem
Y = ~(~4L*P)
Poprawne wartościowanie dla tego zdania wyżej.
Ostatnio zmieniony przez rafal3006 dnia Czw 6:57, 07 Lis 2013, w całości zmieniany 24 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: 35363
Przeczytał: 23 tematy
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Pon 19:24, 04 Lis 2013 Temat postu: |
|
|
2.0 Nowa teoria zbiorów
Aksjomat to założenie które przyjmuje się bez dowodu.
Nowa teoria zbiorów to definicje wszystkich możliwych operatorów logicznych w zbiorach. Każdy aksjomat powinien być intuicyjnie prawdziwy, im dla szerszego kręgu ludzkości, tym lepiej.
Matematyczny fundament nowej teorii zbiorów:
Definicja naturalnego spójnika „może” ~~>:
~~> - zbiór na podstawie wektora ~~> musi mieć co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>
Definicja warunku wystarczającego => (gwarancja matematyczna):
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>
Definicja warunku koniecznego ~>:
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>
Definicja operatora logicznego:
Operator logiczny to matematyczny opis relacji między wszystkimi zbiorami w obrębie założonej dziedziny.
2.1 Aksjomatyka algebry Kubusia w zbiorach
Aksjomatyka algebry Kubusia w zbiorach.
Logika dodatnia i ujemna w operatorach jednoargumentowych oraz OR i AND:
Y=p+q - logika dodatnia gdy funkcja logiczna Y nie jest zanegowana
~Y =~p*~q - logika ujemna gdy funkcja logiczna Y jest zanegowana
Operatory jednoargumentowe
Dowolny zbiór jednoelementowy musi mieć swoje dopełnienie do dziedziny, inaczej nie jest rozpoznawalny (w naszym wszechświecie).
p=[1,2]
Dziedzina:
D=[1,2,3,4]
Dopełnienie do dziedziny:
~p=[3,4]
Operator transmisji:
Y = p
~Y=~p
Matematycznie zachodzi:
Y=p # ~Y=~p
Zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, stąd:
Y=p <=> ~Y=~p
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Y=[1,2]
~(~Y)=~[3,4]= [1,2] =Y
Operator negacji:
Y=~p
~Y=p
Matematycznie zachodzi:
Y=p # ~Y=~p
Zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, stąd:
Y=~p <=> ~Y=p
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Y=[3,4]
~(~Y)=~[1,2]= [3,4] =Y
Operatory dwuargumentowe
Operatory OR i AND:
OR:
Zbiory p i q muszą mieć część wspólną i żaden z nich nie może zawierać się w drugim.
Y=p+q
~Y=~p*~q
Matematycznie zachodzi:
Y=p+q # ~Y=~p*~q = ~(p+q)
Zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, stąd:
Y = p+q <=> ~Y = ~p*~q = ~(p+q)
Przykład:
p=[1,2,3,4], q=[3,4,5,6]
Definicja operatora OR n-argumentowego:
Wszystkie zbiory muszą mieć część wspólną i żaden z nich nie może zawierać się w drugim.
AND:
Zbiory p i q muszą mieć część wspólną i żaden z nich nie może zawierać się w drugim.
Y=p*q
~Y=~p+~q
Matematycznie zachodzi:
Y=p*q # ~Y=~p+~q = ~(p*q)
Zbiór ~Y jest dopełnieniem do dziedziny dla zbioru Y, stąd:
Y = p*q <=> ~Y=~p+~q = ~(p*q)
Przykład:
p=[1,2,3,4], q=[3,4,5,6]
Definicja operatora AND n-argumentowego:
Wszystkie zbiory muszą mieć część wspólną i żaden z nich nie może zawierać się w drugim.
Operatory implikacji i równoważności:
Logika dodatnia i ujemna w operatorach implikacji i równoważności:
p=>q = ~p~>~q - definicje implikacji prostej w logice dodatniej (bo q)
~p~>~q = p=>q - definicja implikacji odwrotnej w logice ujemnej (bo ~q)
p<=>q = ~p<=>~q - równoważność w logice dodatniej gdy q
Operator chaosu
p~~>q
Zbiory p i q muszą mieć część wspólną i żaden z nich nie może zawierać się w drugim.
Przykład:
p=[1,2,3,4], q=[3,4,5,6]
Implikacja prosta:
p=>q =~p~>~q
p=>q
Zbiór p musi zawierać się w zbiorze q i nie być tożsamym ze zbiorem q
p#q
Przykład:
p=[1,2], q=[1,2,3,4,5,6]
Implikacja odwrotna:
p~>q =~p=>~q
p~>q
Zbiór p musi zawierać w sobie zbiór q i nie być tożsamym ze zbiorem q
p#q
Przykład:
p=[1,2,3,4,5,6], q=[1,2]
Równoważność:
p<=>q = (p=>q)*(~p=>~q)
p=>q
Zbiór p musi zawierać się w zbiorze q i być tożsamy ze zbiorem q
p=q
Tożsamość zbiorów p=q wymusza tożsamość zbiorów ~p=~q
Przykład:
p=[1,2,3,4], q=[1,2,3,4]
XOR
Y = p*~q + ~p*q
Zbiór p musi być rozłączny ze zbiorem q
p=[1,2], q=[3,4]
2.2 Podstawowe definicje nowej teorii zbiorów
Definicja uniwersum:
Uniwersum to wszelkie możliwe pojęcia zrozumiałe dla człowieka
Uniwersum to najszersza dziedzina w której człowiek może się poruszać.
Definicja zbioru:
Zbiór to dowolnie wybrany zbiór, uniwersum lub podzbiór uniwersum.
Człowiek może tworzyć dowolne podzbiory uniwersum np. zbiór zwierząt, zbiór gwiazd, zbiór spójników logicznych, zbiór polityków, zbiór czworokątów, zbiór pojęć abstrakcyjnych … itp.
Przy tej definicji uniwersum można uznać za zbiór wszystkich zbiorów. Oczywiście uniwersum jest dynamiczne, żaden człowiek nie jest w stanie wyjść poza uniwersum. W praktyce rzadko odwołujemy się do uniwersum ale to pojecie jest dla logiki bezcenne.
W logice można ustawić punkt odniesienia na dowolnym zbiorze.
Taki zbiór nosi nazwę dziedziny.
Definicja dziedziny:
Dziedzina to zbiór główny w obrębie którego działamy, poza ramy którego nie wychodzimy
Definicja podzbioru:
Wszelkie zbiory tworzone w wybranej dziedzinie są podzbiorami w obrębie tej dziedziny
Definicja zbioru niepustego:
Zbiór niepusty to zbiór zawierający przynajmniej jeden element
W logice zbiór niepusty utożsamiany jest z logiczną jedynką
Definicja zbioru pustego:
Zbiór pusty to zbiór który nie zawiera żadnych elementów
W logice zbiór pusty jest utożsamiany jest z logicznym zerem
W nowej teorii zbiorów (NTZ) zbiory mają wartość logiczną.
Zera i jedynki w NTZ oznaczają:
1 - zbiór niepusty (zbiór istnieje)
0 - zbiór pusty (zbiór nie istnieje)
Na mocy definicji możliwe są wyłącznie dwie wartości logiczne zbiorów 0 i 1.
Elementy zbioru wypisujemy w nawiasach kwadratowych:
p=[1,2,3,4]
Wartość logiczną zbioru zapisujemy bez nawiasów:
p=[1,2,3,4]=1
Zbiór pusty nie zawiera żadnych elementów:
p=[] =0 - zbiór pusty
Tożsamość zbiorów:
Zbiory tożsame to zbiory identyczne
Definicja zdania złożonego warunkowego:
Jeśli p to q
p - poprzednik (założenie)
q - następnik (teza)
Przykład:
Jeśli zwierzę jest psem to ma cztery łapy
P=>4L
Poprzednik precyzyjnie wyznacza tu dziedzinę:
D = zbiór wszystkich zwierząt
… a interesujące nas podzbiory to:
Poprzednik:
P - zbiór jednoelementowy pies [P] =1
~P - zbiór wszystkich zwierząt z wykluczeniem psa [ZWZ-P] =1
Następnik:
4L - zbiór zwierząt z czteroma łapami [4L]=1
~4L - zbiór zwierząt nie mających czterech łap [ZWZ-4L]=1
Oczywiście w obrębie zwierząt z czterema łapami można tworzyć kolejny podzbiór np.
- zwierzęta dzikie
- zwierzęta domowe
… albo zwierzęta szczekające, miauczące, beczące itp.
2.3 Podstawowe operacje na zbiorach
Do obsługi całej algebry Kubusia w zbiorach wystarczą nam trzy podstawowe operacje na zbiorach plus pojęcie uzupełnienia zbioru do wybranej dziedziny.
1.
Iloczyn logiczny zbiorów (koniunkcja) to wspólna cześć zbiorów p i q bez powtórzeń
Y=p*q
gdzie:
„*” - spójnik „i”(*) z naturalnej logiki człowieka
Przykład:
p=[1,2,3,4], q=[3,4,5,6]
Y=p*q=[3,4]
2.
Suma logiczna zbiorów (alternatywa) to wszystkie elementy zbiorów p i q bez powtórzeń
Y=p+q
gdzie:
„+” - spójnik „lub”(+) z naturalnej logiki człowieka
Przykład:
p=[1,2,3,4], q=[3,4,5,6]
Y=p+q = [1,2,3,4,5,6]
3.
Różnica zbiorów to elementy zbioru p pomniejszone o elementy zbioru q
Y=p - q
gdzie:
„-„ - różnica zbiorów
Przykład:
p=[1,2,3,4]
q=[1,2]
Y = p - q = [1,2,3,4] - [1,2] = [3,4] =1 - zbiór niepusty
Y = q - p = [1,2] - [1,2,3,4] = [] =0 - zbiór pusty
4.
Uzupełnienie zbioru do wybranej dziedziny
W nowej teorii zbiorów zachodzi tożsamość:
Uzupełnienie zbioru do wybranej dziedziny = negacja zbioru = zaprzeczenie zbioru
„~” - symbol przeczenia, w naturalnej logice człowieka przedrostek „NIE”
Przykład:
Dany jest zbiór:
p=[1,2]
Przyjmijmy dziedzinę:
D=[1,2,3,4]
stąd:
~p=~[1,2] =[3,4]
Gdzie:
~ - symbol przeczenia
Komentarz słowny w naturalnej logice człowieka:
Jeśli przyjmiemy zbiór p=[1,2] oraz wybierzemy dziedzinę D=[1,2,3,4] to zaprzeczeniem zbioru p jest zbiór ~p=[3,4]
Definicja dziedziny:
p+~p=1
p*~p=0
p+~p=[1,2]+[3,4]=[1,2,3,4]=1 =D
p*~p=[1,2]*[3,4]=[] =0
Zaprzeczenie zbioru pustego to dziedzina:
~0=1
Zaprzeczenie dziedziny to zbiór pusty:
~1=0
Stąd mamy fundament dwuelementowej algebry Kubusia:
~0=1
~1=0
W skrajnym przypadku dziedziną może być uniwersum
Definicja uniwersum:
Uniwersum to wszelkie możliwe pojęcia zrozumiałe dla człowieka
Podsumowanie:
Zauważmy, że jeśli za dziedzinę przyjmiemy uniwersum to mamy ograniczenie fizyczne, na mocy definicji nie możemy wyjść poza uniwersum. Jeśli za dziedzinę przyjmiemy dowolny inny zbiór to mamy ograniczenie dobrowolne, nie chcemy rozpatrywać przypadków spoza tej dziedziny, co nie oznacza że nie jesteśmy w stanie.
Twierdzenie Pitagorasa:
A.
Jeśli trójkąt jest prostokątny to na pewno => zachodzi suma kwadratów
TP=>SK
Twierdzenie Pitagorasa w zbiorach:
TP=>SK = TP*SK = TP =1
Definicja warunku wystarczającego => spełniona bo zbiór TP zawiera się w zbiorze SK.
W poprzedniku mamy tu precyzyjnie zdefiniowaną dziedzinę:
Dziedzina = zbiór wszystkich trójkątów
… i nie ma tu najmniejszego sensu rozpatrywanie jakichkolwiek innych wielokątów, że o takich pojęciach z uniwersum jak pies czy galaktyka nie wspomnę.
Twierdzenie Pitagorasa w wersji najszerszej mogłoby brzmieć:
A.
Jeśli coś jest trójkątem prostokątnym to na pewno => zachodzi suma kwadratów
TP=>SK
W tym przypadku możemy przyjąć:
Dziedzina = uniwersum
To bez żadnego znaczenia poza tym że napracujemy się jak bury osioł. Zauważmy bowiem iż jeśli to „coś” nie jest trójkątem (jest np. galaktyką), to w poprzedniku będziemy mieli zbiór pusty.
A1.
Jeśli galaktyka jest trójkątem prostokątnym to na pewno => zachodzi suma kwadratów
[galaktyka]*TP=>SK = ([galaktyka]*TP)*SK = 0*SK =0
Zbiory [galaktyka] i [zbiór trójkątów prostokątnych] to zbiory rozłączne, zatem ich koniunkcja jest zbiorem pustym.
Zdanie fałszywe bo galaktyka nie jest trójkątem prostokątnym (w poprzedniku mamy zbiór pusty).
Koniec końców i tak nam wyjdzie że twierdzenie Pitagorasa jest prawdziwe wyłącznie dla trójkątów prostokątnych.
Na gruncie algebry Kubusia fałszywe są także takie zdania:
A2.
Jeśli trójkąt prostokątny nie jest trójkątem prostokątnym to zachodzi suma kwadratów
(TP*~TP) =>SK = 0*SK =0
Poprzednik jest tu zbiorem pustym co wymusza fałszywość całego zdania.
Prawa algebry Boole’a:
p*~p=0
0*x =0
2.4 Zbiory jednoelementowe
Zbiory jednoelementowe to zbiory mające unikalną definicję i nazwę w obszarze uniwersum, dzięki której są wyróżnione.
Jeśli wiemy co to jest zbiór p to automatycznie potrafimy zdefiniować zbiór ~p
Przykład:
P - zbiór psów
W najszerszej możliwej definicji nasz zbiór ~P to:
~P - wszelkie możliwe pojęcia (uniwersum) z wykluczeniem psa
~P = [uniwersum-P] =1 - zbiór niepusty
Dziedzina:
D = uniwersum
Taka definicja ~P, choć matematycznie poprawna, jest w praktyce mało sensowna.
W przypadku psa naturalną dziedziną jest:
D = ZWZ
ZWZ - zbiór wszystkich zwierząt
Stąd mamy:
~P to zbiór wszystkich zwierząt z wykluczeniem psa
~P = [ZWZ-P] =1 - zbiór niepusty
Zauważmy, że jest fizycznie niemożliwe, abyśmy znając dowolne pojęcie p wyróżnione w obszarze uniwersum nie potrafili określić zbioru ~p.
Przykład pojęcia niezdefiniowanego:
blabla - abstrakcyjne pojęcie niezdefiniowane.
Nie wiemy co to jest babla, tym samym nie znamy jego zaprzeczenia. To pojęcie jest śmieciem dopóty, dopóki go nie zdefiniujemy.
2.5 Prawa rachunku zbiorów dla zbioru jednoelementowego
Prawa rachunku zbiorów dla zbioru jednoelementowego poznamy na przykładzie konkretnego zbioru.
Rozważmy zbiór:
p=[1,2]
Przyjmijmy dziedzinę:
D=[1,2,3,4]
Stąd mamy zbiór ~p będący dopełnieniem do dziedziny dla zbioru p
~p=[3,4]
Prawo podwójnego przeczenia:
p = ~(~p)
Dowód na naszym przykładzie:
p=[1,2]
~(~p) = ~[3,4] = [1,2]
Dopełnieniem do dziedziny dla zbioru [3,4] jest zbiór [1,2]
L=P
Definicja dziedziny (fundament algebry Kubusia):
1. p+~p=1 - zbiór ~p musi być dopełnieniem do dziedziny dla zbioru p
2. p*~p=0 - zbiór ~p musi być rozłączny ze zbiorem p
Dowód na naszym przykładzie:
1. p+~p = [1,2]+[3,4] = [1,2,3,4] =1 (dziedzina)
2. p*~p = [1,2]*[3,4] = [] =0 (zbiór pusty, brak elementów wspólnych p i ~p)
3. p+0 =1
4. p+1 =1
Dowód na naszym przykładzie:
3. p+0 = [1,2]+[] = [1,2] = p =1 (zbiór niepusty)
Stąd:
0 -element neutralny dla sumy logicznej
4. p+1 = [1,2] +[1,2,3,4] =[1,2,3,4] = 1 (dziedzina)
4. p*1=p
5. p*0 =0
Dowód na naszym przykładzie:
5. p*1 = [1,2]*[1,2,3,4] = [1,2] = p =1 (zbiór niepusty)
Stąd:
1 - element neutralny dla iloczynu logicznego.
6. p*0 = [1,2]*[] = [] =0 (zbiór pusty)
Prawa maszynowe rachunku zero-jedynkowego w zbiorach.
Suma logiczna zbiorów:
7.
1+1 =1
1+0 =1
0+1 =1
0+0 =0
Dowód na naszym przykładzie:
7.
1+1 = [1,2,3,4]+[1,2,3,4] = [1,2,3,4] =1 (dziedzina)
1+0 = [1,2,3,4]+[] = [1,2,3,4] =1 (dziedzina)
0+1 = [] + [1,2,3,4] = [1,2,3,4] =1 (dziedzina)
0+0 = []+[]= [] =0 (zbiór pusty)
Iloczyn logiczny zbiorów:
8.
1*1 =1
1*0 =0
0*1 =0
0*0 =0
Dowód na naszym przykładzie:
8.
1*1 = [1,2,3,4]*[1,2,3,4] = [1,2,3,4] =1 (dziedzina)
1*0 = [1,2,3,4]*[] = [] =0 (zbiór pusty)
0*1 = []*[1,2,3,4] = [] =0 (zbiór pusty)
0*0 = []*[] = [] =0 (zbiór pusty)
9. 1=~0
10. 0=~1
Dowód na naszym przykładzie:
9.
1 =[1,2,3,4] - dziedzina
~0 = ~[] =1 = [1,2,3,4] - zaprzeczeniem zbioru pustego jest dziedzina
10.
0=[] - zbiór pusty
~1 =~[1,2,3,4] = [] =0 - zaprzeczeniem dziedziny jest zbiór pusty
11. p+p =p
12. p*p=p
Dowód na naszym przykładzie:
11. p+p = [1,2]+[1,2] = [1,2] =p =1 (zbiór niepusty)
12. p*p = [1,2]*[1,2] = [1,2] =p =1 (zbiór niepusty)
3.0 Operatory jednoargumentowe
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
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
3.1 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
Stąd mamy definicję zgodną z teorią zbiorów:
Y=p
co matematycznie oznacza:
Y=1 <=> p=1
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
Kod: |
p ~p Y=~p
1 0 =0
0 1 =1
|
Stąd mamy definicję zgodną z teorią zbiorów:
Y=~p
co matematycznie oznacza:
Y=1 <=> ~p=1
… 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.
3.2 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 w nowej teorii zbiorów:
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.
3.3 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.
3.4 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
3.5 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
3.6 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 Wto 14:43, 05 Lis 2013, w całości zmieniany 4 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: 35363
Przeczytał: 23 tematy
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Pon 19:29, 04 Lis 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.
Definicje symboliczne spójników „i”(*) i „lub”(+) są tu kluczowe.
Definicje maszynowe tych spójników to oczywiście kompletne, zero-jedynkowe tych spójników jak w tabelach wyżej (operatory logiczne).
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 Wto 14:45, 05 Lis 2013, w całości zmieniany 1 raz
|
|
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
|