ďťż

Algebra Kubusia (Beta z dn. 2013-07-15)

Baza znalezionych fraz

polsk riksdag

2013-09-16
Algebra Kubusia pisana na żywo i od początku jest w tym linku:
http://www.sfinia.fora.pl/forum-kubusia,12/algebra-kubusia-start-od-nowa-2013-11-04,6924.html#201652

… 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.

Kopernik - zatrzymał słońce, ruszył Ziemię
Kubuś - zatrzymał cyfry, ruszył symbole

Algebra Kubusia to końcowy efekt siedmioletniej dyskusji na forach sfinia.fora.pl, ateista.pl, yrizona.freeforums.org i matematyka.pl. 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 i Pana Baryckiego.

Wstęp.

Algebra Kubusia to matematyka pod którą podlega cały nasz Wszechświat, żywy i martwy, człowiek nie jest tu wyjątkiem. Fundamentem algebry Kubusia jest nowa teoria zbiorów. Z punktu widzenia dwuargumentowych operatorów logicznych teoria zbiorów to zaledwie dwa zbiory p i q we wszystkich możliwych wzajemnych położeniach z których wynikają zero-jedynkowe definicje znanych człowiekowi operatorów logicznych.

Aksjomat to założenie które przyjmuje się bez dowodu.

W świecie techniki inżynierowie przyjmują za aksjomat zero-jedynkowe definicje operatorów logicznych plus banalny rachunek zero-jedynkowy z którego wynikają wszelkie prawa logiczne.
Takie podejście jest poprawne jeśli interesuje nas fizyczne zbudowanie komputera (hardware), jednak sprzęt bez oprogramowania (software) to tylko bezużyteczna kupa złomu. Software (naturalna logika człowieka) to zupełnie co innego niż hardware, mimo że w obu przypadkach fundamentem jest ta sama, symboliczna algebra Boole’a (algebra Kubusia).

Jest oczywistym, że jeśli istnieje matematyka pod którą podlega człowiek, to musi być ona absolutnie banalna, na poziomie 5-cio latka. Ta maksyma przyświecała Kubusiowi od samego początku walki o rozszyfrowanie matematycznych podstaw naturalnej logiki człowieka.

W nowej teorii zbiorów znaczenie zer i jedynek wewnątrz operatorów logicznych jest inne niż w aktualnej logice matematycznej Ziemian zwanej Klasyczny Rachunek Zdań (KRZ). Żadne pojęcie i żadna definicja z KRZ nie pasuje do algebry Kubusia, wszystko mamy totalnie inne. Z tego powodu praktycznie niemożliwa jest dyskusja na rzeczowe argumenty. Warunkiem koniecznym zrozumienia nowej teorii zbiorów i algebry Kubusia jest odłożenie na półkę wszelkiej wiedzy z logiki matematycznej uczonej w ziemskich szkołach i zaczęcie wszystkiego od zera.

Spis treści:

Część I
Fundamenty matematyczne

1.0 Notacja
1.1 Trzęsienie ziemi w logice

2.0 Matematyczne fundamenty algebry Kubusia
2.1 Pełna lista operatorów dwuargumentowych w algebrze Boole’a
2.2 Rachunek zero-jedynkowy
2.3 Prawa De Morgana

3.0 Najważniejsze prawa rachunku zero-jedynkowego
3.1 Prawa Prosiaczka
3.2 Tworzenie równań logicznych z tabel zero-jedynkowych
3.3 Tworzenie równań logicznych w logice zero
3.4 Definicje spójników „i”(*) i „lub”(+) w logice zero

4.0 Logika człowieka w spójnikach „lub”(+) i „i”(*)
4.1 O Kubusiu który zatrzymał cyfry i ruszył symbole
4.2 Twierdzenie Kłapouchego
4.3 Twierdzenie Śfini

5.0 Pozostałe operatory logiczne wyrażone spójnikami „lub”(+) i „i”(*)
5.1 Operator równoważności wyrażony spójnikami „lub”(+) i „i”(*)
5.2 Operator XOR wyrażony spójnikami „lub”(+) i „i”(*)
5.3 Operator implikacji prostej wyrażony spójnikami „lub”(+) i „i”(*)
5.4 Operatory logiczne ~~> i N(~~>)
5.5 Operatory jednoargumentowe w tabeli operatorów dwuargumentowych

Część II
Nowa teoria zbiorów

6.0 Nowa teoria zbiorów
6.1 Podstawowe definicje nowej teorii zbiorów
6.2 Podstawowe operacje na zbiorach
6.3 Prawo podwójnego przeczenia
6.4 Zdanie w algebrze Kubusia
6.5 Czym różni się zdanie twierdzące od zdania warunkowego?
6.6 Definicje operatorów logicznych w zbiorach

7.0 Operatory jednoargumentowe
7.1 Abstrakcyjna budowa operatora logicznego
7.2 Operator transmisji w zbiorach
7.3 Operator negacji w zbiorach
7.4 Prawa Prosiaczka w zbiorach
7.5 Czym różni się tożsamość od równoważności?

8.0 Operatory OR i AND w zbiorach
8.1 Równania logiczne opisujące operator OR
8.2 Równania logiczne opisujące operator AND
8.3 Prawa przejścia do logiki przeciwnej
8.4 Operatory OR i AND w praktyce
8.5 Definicja operatora OR w zbiorach
8.6 Operator AND w zbiorach
8.7 Funkcja logiczna n-argumentowa w zbiorach

9.0 Operatory implikacji i równoważności w zbiorach
9.1 Operator chaosu w zbiorach
9.2 Implikacja prosta w zbiorach
9.3 Implikacja odwrotna w zbiorach
9.4 Równoważność w zbiorach
9.5 Alternatywne definicje implikacji i równoważności
9.6 Budowa tabeli prawdy w algebrze Kubusia
9.7 Implikacja w spójnikach „i”(*) i „lub”(+)
9.8 Prawa kontrapozycji w implikacji na gruncie NTZ
9.9 Obalenie prawa eliminacji implikacji w logice Ziemian
9.10 Zdanie zawsze prawdziwe w algebrze Kubusia, właściwości zbioru pustego
9.11 Równania Fiklita
9.12 Obietnice i groźby
9.13 Prawa przejścia z implikacji prostej do implikacji odwrotnej (i odwrotnie)
9.14 Prawo Sowy
9.15 Matematyczna historia powstania Wszechświata

10.0 Pozostałe operatory logiczne w zbiorach
10.1 Operator XOR w zbiorach
10.2 Nietypowa równoważność
10.3 Nietypowa implikacja prosta
10.4 Samodzielny warunek wystarczający
10.5 Pseudo-operator Słonia
10.6 Definicje operatorów w bramkach logicznych

Część III
Algebra Kubusia w służbie lingwistyki

11.0 Obietnice i groźby
11.1 Definicje obietnicy i groźby
11.2 Obietnica
11.3 Groźba
11.4 Obietnica w równaniach logicznych
11.5 Groźba w równaniach logicznych
11.6 Analiza złożonej obietnicy
11.7 Analiza złożonej groźby
11.8 Obietnice i groźby w ujęciu filozoficznym
11.9 Rodzaje obietnic

12.0 Złożone zdania naturalnego języka mówionego
12.1 Zdanie złożone ze spójnikiem „lub”(+)
12.2 Złożona implikacja prosta
12.3 Złożona implikacja odwrotna

1.0 Notacja

Znaczenie 0 i 1 w matematycznych fundamentach algebry Kubusia:
1 - prawda
0 - fałsz

Zera i jedynki w nowej teorii zbiorów (NTZ) oznaczają:
1 - zbiór niepusty (zbiór istnieje)
0 - zbiór pusty (zbiór nie istnieje)

~ - symbol negacji

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

= - tożsamość
Zbiory:
p=q - zbiór p jest tożsamy ze zbiorem q
Prawami tożsamościowymi w logice matematycznej są prawa De Morgana:
Y = p+q = ~(~p*~q)
Y = p*q = ~(~p+~q)
Zbiory p+q i ~(~p*~q) to zbiory tożsame.
Zbiory p*q i ~(~p+q) to również zbiory tożsame.

Każda tożsamość to automatycznie równoważność.
Prawa De Morgana możemy zatem zapisać w formie równoważności:
p+q <=> ~(~p*~q)
p*q <=> ~(~p+~q)

# - różne
Zbiory:
p#q - zbiór p jest różny od zbioru q (zbiory rozłączne)

Definicja operatora OR w układzie równań logicznych:
A: Y=p+q
B: ~Y=~p*~q
Matematycznie zachodzi:
Y=p+q # ~Y=~p*~q
# - kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Związek logiki dodatniej (bo Y) i ujemnej (bo ~Y):
Y = ~(~Y) - prawo podwójnego przeczenia
Podstawiając A i B mamy prawo De Morgana dla spójnika „lub”(+):
Y = p+q = ~(~p*~q)

Definicja operatora AND w układzie równań logicznych:
A: Y=p*q
B: ~Y=~p+~q
Matematycznie zachodzi:
Y=p*q # ~Y=~p+~q
# - kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Związek logiki dodatniej (bo Y) i ujemnej (bo ~Y):
Y = ~(~Y) - prawo podwójnego przeczenia
Podstawiając A i B mamy prawo De Morgana dla spójnika „i”(*):
Y = p*q = ~(~p+~q)

## - różne na mocy definicji
Operator OR ## Operator AND
Y = p+q # ~Y=~p*~q ## Y=p*q # ~Y=~p+~q
Po obu stronach znaku ## możemy mieć dowolne p i q.
Po obu stronach znaku ## mamy do czynienia z dwoma niezależnymi układami logicznymi pomiędzy którymi nie zachodzą żadne tożsamości matematyczne. Wszelkie znaczki z lewej strony znaku ## (Y,p,q) nie mają nic wspólnego ze znaczkami z prawej strony znaku ## (Y,p,q)

Prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
Przykład:
Y = p+q - logika dodatnia bo Y
Przejście do logiki przeciwnej poprzez negację zmiennych i wymianę spójników:
~Y = ~p*~q - logika ujemna bo ~Y
Zastosowanie:
Jeśli wiem kiedy dotrzymam słowa (Y=1) to automatycznie na mocy prawa przejścia do logiki przeciwnej wiem kiedy skłamię (~Y=1) i odwrotnie.
Mamy tu wynikanie w dwie strony, zatem zachodzi równoważność:
Y<=>~Y = (Y=>~Y)*(~Y=>Y)
Spełniona jest tu definicja dziedziny:
Y+~Y =1 - zdarzenie (zbiór) ~Y jest uzupełnieniem do dziedziny dla zdarzenia Y
Y*~Y=0 - zdarzenia Y i ~Y są rozłączne
Tej równoważności nie możemy zapisać w postaci tożsamości.
Tożsamość wynika tu z prawa podwójnego przeczenia:
Y = ~(~Y)
Y = Y
Oczywiście każda tożsamość to automatycznie równoważność:
Y<=>Y

Matematyczny fundament nowej teorii zbiorów:

Definicja znaczka ~~> (naturalny spójnik „może”)
~~> - zbiór na podstawie wektora ~~> musi mieć co najmniej jeden element wspólny ze zbiorem wskazywanym przez strzałkę wektora ~~>

Definicja znaczka => (warunek wystarczający, gwarancja matematyczna):
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>

Definicja znaczka ~> (warunek konieczny):
~> - zbiór na podstawie wektora ~> musi zawierać w sobie zbiór wskazywany przez strzałkę wektora ~>

Definicja implikacji prostej:
p=>q = ~p~>~q
p=>q
Zbiór p zawiera się w zbiorze q i nie jest tożsamy ze zbiorem q
Po obu stronach tożsamości p i q muszą być tymi samymi parametrami

Definicja implikacji odwrotnej:
p~>q = ~p=>~q
p~>q
Zbiór p zawiera w sobie zbiór q i nie jest tożsamy ze zbiorem q
Po obu stronach tożsamości p i q muszą być tymi samymi parametrami

Na mocy definicji zachodzi:
Implikacja prosta ## Implikacja odwrotna
p=>q = ~p~>~q ## p~>q = ~p=>~q
gdzie:
## - różne na mocy definicji
Po obu stronach znaku ## mamy do czynienia z dwoma niezależnymi układami logicznymi pomiędzy którymi nie zachodzą żadne związki tożsamościowe. Parametry p i q po obu stronach znaku ## mogą być absolutnie dowolne, w szczególności mogą być zamienione miejscami.

Definicje implikacji prostej i odwrotnej to jednocześnie prawa Kubusia.
Prawa Kubusia:
p=>q = ~p~>~q
p~>q = ~p=>~q

Definicja równoważności:
p<=>q = (p=>q)*(~p=>~q)
p=>q
Zbiór p zawiera się w zbiorze q i jest tożsamy ze zbiorem q
Tożsamość zbiorów p=q wymusza tożsamość zbiorów ~p=~q
W równoważności musi zachodzić definicja dziedziny:
p+~p =1 - zbiór ~p jest uzupełnieniem do dziedziny dla zbioru p
p*~p =0 - zbiory p i ~p są rozłączne
Uwaga:
Zbiory p i ~p musza być niepuste
Dowód:
Jest fizycznie niemożliwe abyśmy znając definicję p nie wiedzieli co to jest ~p
Przykład:
p = pies
~p = ~[pies] = [słoń, kura, wąż ..]

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)

1.1 Trzęsienie ziemi w logice

Każda rewolucja powinna zaczynać się od trzęsienia ziemi, czyli zniszczenia starego porządku, by na gruzach budować nowe.

Dowód wewnętrznej sprzeczności systemu logicznego zwanego Klasycznym Rachunkiem Zdań.

Twierdzenie o prawdziwości zdania p=>q:
p=>q
Zdanie p=>q jest prawdziwe wtedy i tylko wtedy gdy zbiór na podstawie wektora => zawiera się w zbiorze wskazywanym przez strzałkę wektora =>.
Stąd:
W przełożeniu na teorię zbiorów mamy:
p=>q = p*q =p
Wtedy i tylko wtedy zdanie p=>q jest prawdziwe.
Doskonale widać że zbiór ~p nie ma nic do prawdziwości zdania p=>q.

Dowód:
Zdanie p=>q wyrażone kwantyfikatorem dużym przybiera postać:
/\x p(x) => q(x)
Dla każdego elementu x, jeśli należy on do zbioru p(x) to na pewno => należy do zbioru q(x).

Aby obalić to twierdzenie musimy znaleźć kontrprzykład.
Kontrprzykład to znalezienie jednego elementu należącego do zbioru p(x) i nie należącego do zbioru q(x).
Definicja kontrprzykładu w zbiorach:
p~~>~q =p*~q =1
gdzie:
~~> - wystarczy pokazać jeden element wspólny zbiorów p i ~q
Oczywiście to jest sprzeczne z definicją zdania p=>q wyrażonego kwantyfikatorem dużym, zatem nie mamy żadnych szans na znalezienie kontrprzykładu.
cnd

Powyższy dowód jest poprawny zarówno w KRZ jak i AK, bowiem zachodzi tożsamość matematyczna kwantyfikatorów dużych w obu tych systemach co za chwilę udowodnimy.

Dowód wewnętrznej sprzeczności KRZ:
Załóżmy, że zbiór p jest zbiorem pustym:
p=[]
Na podstawie twierdzenia o prawdziwości zdania p=>q mamy:
p=>q = p*q = []*q = []
Zauważmy, że w tym przypadku następnik jest kompletnie bez znaczenia. Takie zdanie jest fałszywe bo wynik iloczynu logicznego poprzednika i następnika w zbiorach jest zbiorem pustym, czyli całe zdanie jest fałszywe.

Twierdzenie o prawdziwości zdania p=>q jest dowodem wewnętrznej sprzeczności całego KRZ. Zauważmy bowiem, że jeśli w poprzedniku mamy zbiór pusty (p=[]) to zdanie p=>q jest fałszywe bez względu na zawartość następnika co jest w jawnej sprzeczności z tym, co twierdzi KRZ: „z fałszu wynika cokolwiek”
cnd

Dlaczego KRZ działa?
KRZ działa bo zachodzi tożsamość matematyczna kwantyfikatorów dużego i małego w AK i KRZ. Definicje kwantyfikatorów małych w obu systemach są identyczne, istotna różnica jest w kwantyfikatorze dużym.

Definicja kwantyfikatora dużego w AK i KRZ:
/\x p(x) => q(x)
Dla każdego elementu x, jeśli należy on do zbioru p(x) to na pewno => należy do zbioru q(x).
KRZ iteruje tu po wszystkich obiektach p(x) i ~p(x), natomiast w algebrze Kubusia iterujemy wyłącznie po obiektach p(x).

Twierdzenie o tożsamości kwantyfikatorów:
Kwantyfikator duży z KRZ = kwantyfikator duży w AK

Dowód:
Matematycznie kwantyfikator duży z AK jest tożsamy z kwantyfikatorem dużym z KRZ bowiem oba te kwantyfikatory wypluwają identyczne rozstrzygnięcia o prawdziwości/fałszywości zdania p=>q.
Zauważmy, że w KRZ, w dowodzie prawdziwości zdania p=>q możemy zignorować wszelkie zdania w których poprzednik jest fałszem (p=0), bowiem dla p=0 forma zdaniowa zwróci nam prawdę niezależnie od wartości logicznej następnika. Takie zdania możemy natychmiast wyrzucać do kosza bo nie mają one żadnego wpływu na prawdziwość/fałszywość zdania p=>q.

Jeśli z góry wiemy iż dla p=0 zawsze dostaniemy prawdę bez wzglądu na wartość logiczną następnika q, to bez sensu jest „pytać” formę zdaniową o prawdziwość/fałszywość takiego zdania.

Wniosek:
Zachodzi matematyczna tożsamość:
Kwantyfikator duży z KRZ = kwantyfikator duży w AK
cnd

Twierdzenie o matematycznym żółtodziobie:
Matematyk, który rozumie jak działa kwantyfikator duży w KRZ i mimo wszystko iteruje po obiektach ~p(x) w celu udowodnienia prawdziwości zdania p=>q jest matematycznym żółtodziobem.
Dowód wyżej.

Przykład:
Weźmy klasyczną implikację prostą prawdziwą.
A.
Jeśli liczba jest podzielna przez 8 to na pewno=> jest podzielna przez 2
P8=>P2

Zdanie tożsame zapisane kwantyfikatorowo:
/\x p(x)=>q(x)
Dla każdego x jeśli x należy do zbioru p(x) to na pewno => należy do zbioru q(x)

Nasz przykład:
/\x P8(x) =>P2(x)
Dla każdego x jeśli x należy do zbioru P8 to na pewno => należy do zbioru P2

Aby obalić to twierdzenie z reguły szukamy kontrprzykładu, bo to najprostsze.
Definicja kontrprzykładu w zbiorach:
P8~~>~P2 =P8*~P2 =0
Szukamy jednej liczby należącej do zbioru P8 i nie należącej do zbioru P2
Oczywiście tu kontrprzykładu nie znajdziemy co oznacza, że zbiór P8 zawiera się w P2.

W ten sposób wyskoczyła nam poprawna definicja znaczka => w zbiorach:
=> - zbiór na podstawie wektora => musi zawierać się w zbiorze wskazywanym przez strzałkę wektora =>

Stąd mamy równanie prawdziwości zdania P8=>P2:
P8=>P2 = P8*P2 = P8
Zauważmy że liczby niepodzielne przez 8 (~P8 ) nie maja NIC do prawdziwości zdania P8=>P2.
W definicji znaczka => istotne jest aby zbiór P8 zawierał się w zbiorze P2, wszystko inne jest bez znaczenia.

Stąd mamy kluczową definicję o prawdziwości zdania p=>q.

Zdanie p=>q jest prawdziwe wtedy i tylko wtedy gdy zachodzi poniższe równanie w zbiorach:
p=>q = p*q =p
Zbiór ~p nas kompletnie nie interesuje bo nie ma nic do prawdziwości zdania p=>q

2.0 Matematyczne fundamenty algebry Kubusia

Aksjomat to założenie które przyjmuje się bez dowodu.

Aksjomatyka algebry Kubusia to zero-jedynkowe definicje operatorów logicznych plus banalne zasady rachunku zero-jedynkowego. Symboliczna algebra Boole’a (algebra Kubusia) to zero-jedynkowe definicje operatorów logicznych zapisane w równaniach algebry Boole’a.

Zmienna binarna:
Zmienna binarna to zmienna mogąca przyjmować w osi czasu wyłącznie dwie wartości 0 albo 1.
Przykłady zmiennych binarnych:
p, q, r

~ - symbol przeczenia NIE
Fundament algebry Kubusia:
1=~0
0=~1

Prawo podwójnego przeczenia:
p=~(~p)

Przykład:
A: Jestem uczciwy
A: U
B: Jestem nieuczciwy
B: ~U
C: Nieprawdą jest ~(…) że jestem nieuczciwy
C: ~(~U) = A: U
Zdania A i C znaczą dokładnie to samo
cnd

Funkcja logiczna:
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:
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

2.1 Pełna lista operatorów dwuargumentowych w algebrze Boole’a

Definicja operatora logicznego w technicznej algebrze Boole’a:
Operator logiczny to odpowiedź układu na wszystkie możliwe stany 0 i 1 na wejściach p i q

Definicja operatora OR:
[linki]
Abstrakcyjnie 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.

Aksjomatyka technicznej algebry Boole’a to po prostu wszystkie możliwe zero-jedynkowe definicje operatorów logicznych plus banalny rachunek zero-jedynkowy.
[linki]
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:
[linki]
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.

Operator ujemny to zanegowany operator dodatni, co doskonale widać w powyższej tabeli.
[linki]
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.

2.2 Rachunek zero-jedynkowy

Banalne zasady rachunku zero-jedynkowego w algebrze Boole’a najlepiej poznać na przykładach.

Definicja operatora OR:
[linki]
Dowód przemienności argumentów w spójniku „lub”(+):
[linki]
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

Definicja operatora AND:
[linki]
Dowód przemienności argumentów w spójniku „i”(*):
[linki]
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

2.3 Prawa De Morgana

Prawo De Morgana dla spójnika „lub”(+):
Y = p+q = ~(~p*~q)

Dowód formalny w rachunku zero-jedynkowym:
[linki]
Prawo De Morgana w logice dodatniej (bo Y):
Y=Y
A.
Y = p+q = ~(~p*~q)
Identyczne kolumny wynikowe ABCD3 i ABCD8
cnd

Prawo De Morgana w logice ujemnej (bo ~Y):
~Y=~Y
B.
~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:
~[~(~p*~q)] = ~p*~q
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
Y = p+q = ~(~p*~q) # ~Y = ~(p+q) = ~p*~q
gdzie:
# - różne (kolumny wynikowe są różne)

Związek logiki dodatniej i ujemnej:
Y = ~(~Y) - prawo podwójnego przeczenia

Podstawiając A i B mamy:
Y = p+q=~(~p*~q) = ~[~Y = ~(p+q) = ~p*~q]
Y = p+q=~(~p*~q) = ~[~Y] =~[~(p+q)] =~( ~p*~q)
Prawo podwójnego przeczenia:
~(~x)=x
stąd:
Y = p+q=~(~p*~q) = Y = (p+q) =~( ~p*~q)
cnd

Prawo De Morgana dla spójnika „i”(*):
Y = p*q = ~(~p+~q)

Dowód formalny w rachunku zero-jedynkowym:
[linki]
Prawo De Morgana w logice dodatniej (bo Y):
Y=Y
A.
Y = p*q = ~(~p+~q)
Identyczne kolumny wynikowe ABCD3 i ABCD8
cnd

Prawo De Morgana w logice ujemnej (bo ~Y):
~Y=~Y
B.
~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:
~[~(~p+~q)] = ~p+~q
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
Y = p*q = ~(~p+~q) # ~Y = ~(p*q) = ~p+~q
gdzie:
# - różne (kolumny wynikowe są różne)

Związek logiki dodatniej i ujemnej:
Y = ~(~Y) - prawo podwójnego przeczenia

Podstawiając A i B mamy:
Y = p*q=~(~p+~q) = ~[~Y = ~(p*q) = ~p+~q]
Y = p*q=~(~p+~q) = ~[~Y] =~[~(p*q)] =~( ~p+~q)
Prawo podwójnego przeczenia:
~(~x)=x
stąd:
Y = p*q=~(~p+~q) = Y = (p*q) =~( ~p+~q)
cnd

Tożsamość w operatorach OR i AND:

= - tożsamość
Zbiory:
p=q - zbiór p jest tożsamy ze zbiorem q
Prawami tożsamościowymi w logice matematycznej są prawa De Morgana:
Y = p+q = ~(~p*~q)
Y = p*q = ~(~p+~q)
Zbiory p+q i ~(~p*~q) to zbiory tożsame.
Zbiory p*q i ~(~p+q) to również zbiory tożsame.

Każda tożsamość to automatycznie równoważność, wynikanie w dwie strony.
Prawa De Morgana możemy zatem zapisać w formie równoważności:
p+q <=> ~(~p*~q)
p*q <=> ~(~p+~q)

Nie każda równoważność to tożsamość, o czym niżej.

Równoważność w operatorach OR i AND:

# - różne
Zbiory:
p#q - zbiór p jest różny od zbioru q (zbiory rozłączne)
Definicja operatora OR:
Y=p+q # ~Y=~p*~q
# - kolumny wynikowe w tabelach zero-jedynkowych są różne
Po obu stronach znaku # musimy mieć to samo p i q
Związek logiki dodatniej i ujemnej:
Y = ~(~Y)
Stąd prawo De Morgana:
Y = p+q = ~(~p*~q)
Zbiory p+q i ~(~p*~q) to zbiory tożsame.
Między Y i ~Y zachodzi równoważność:
Y=p*q <=> ~Y=~p+~q
Zbiór ~Y=~p+~q jest dopełnieniem do dziedziny dla zbioru Y=p*q
Tej równoważności nie wolno zapisać w postaci tożsamości, to jest błąd czysto matematyczny.

Różność na mocy definicji w operatorach OR i AND:

## - różne na mocy definicji
Operator OR ## Operator AND
Y = p+q # ~Y=~p*~q ## Y=p*q # ~Y=~p+~q
Po obu stronach znaku ## możemy mieć dowolne p i q.
Po obu stronach znaku ## mamy do czynienia z dwoma niezależnymi układami logicznymi pomiędzy którymi nie zachodzą żadne tożsamości matematyczne. Wszelkie znaczki z lewej strony znaku ## (Y,p,q) nie mają nic wspólnego ze znaczkami z prawej strony znaku ## (Y,p,q)

Między prawami De Morgana dla spójnika „lub”(+) oraz „i”(*) zachodzi:
Y = p+q = ~(~p*~q) # ~Y = ~(p+q) = ~p*~q ## Y = p*q = ~(~p+~q) # ~Y = ~(p*q) = ~p+~q
gdzie:
## - różne na mocy definicji
Po obu stronach znaku ## mamy do czynienia z dwoma izolowanymi układami logicznymi pomiędzy którymi nie zachodzą żadne związki matematyczne. 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łady z powyższego równania:
p, q
2.
Parametry aktualne:
Parametry aktualne to podstawione w miejsce parametrów formalnych zmienne ze świata fizycznego
Przykłady niżej:
K, T

Przykład:
A1.
Jutro pójdę do kina lub do teatru
Y=K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub do teatru (T=1)
Czytamy:
Prawdą jest (=1) że dotrzymam słowa (Y) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub do teatru (T=1)
Y=1 <=> K=1 lub T=1
A2.
Nie może się zdarzyć ~(…), że jutro nie pójdę do kina i nie pójdę do teatru
Y = ~(~K*~T)
Matematycznie zachodzi:
A1=A2
Y = K+T = ~(~K*~T)
… a kiedy skłamię?
Negujemy powyższe równanie
~Y = ~(K+T) = ~K*~T
A3.
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
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
co matematycznie oznacza:
~Y=1 <=> ~K=1 i ~T=1

Stąd mamy prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki
A1: Y=K+T
A3: ~Y=~K*~T

Matematycznie zachodzi:
Y = p+q = ~(~p*~q) # ~Y = ~(p+q) = ~p*~q
Y = K+T = ~(~K*~T) # ~Y = ~(K+T) = ~K*~T
gdzie:
# - różne (kolumny wynikowe w tabeli zero-jedynkowej są różne)
Po obu stronach znaku # muszą być identyczne parametry aktualne:
p=K
q=T

B1.
Jutro pójdę do kina i do teatru
Y=K*T
co matematycznie oznacza:
Y=1 <=> K=1 i T=1
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) i do teatru (T=1)
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=1 <=> K=1 i T=1

B2.
Nie może się zdarzyć ~(…), że jutro nie pójdę do kina lub nie pójdę do teatru
Y = ~(~K+~T)
Matematycznie zachodzi:
Y = K*T = ~(~K+~T)
… a kiedy skłamię?
Negujemy powyższe równanie
~Y = ~(K*T) = ~K+~T
B3.
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)
~Y=~K+~T
co matematycznie oznacza:
~Y=1 <=> ~K=1 lub ~T=1

Stąd mamy prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki
B1: Y=K*T
B3: ~Y=~K+~T

Matematycznie zachodzi:
Y = p*q = ~(~p+~q) # ~Y = ~(p*q) = ~p+~q
Y = K*T = ~(~K+~T) # ~Y = ~(K*T) = ~K+~T
gdzie:
# - różne (kolumny wynikowe w tabeli zero-jedynkowej są różne)
Po obu stronach znaku # muszą być identyczne parametry aktualne:
p=K
q=T

Serie zdań A i B nie mają ze sobą nic wspólnego, to dwa izolowane układy logiczne, różne na mocy definicji.
A: Y = p+q = ~(~p*~q) # ~Y = ~(p+q) = ~p*~q ## B: Y = p*q = ~(~p+~q) # ~Y = ~(p*q) = ~p+~q
A: Y = K+T = ~(~K*~T) # ~Y = ~(K+T) = ~K*~T ## B: Y = K*T = ~(~K+~T) # ~Y = ~(K*T) = ~K+~T
Gdzie:
## - różne na mocy definicji
Doskonale widać, że układ równań B otrzymujemy wyłącznie poprzez wymianę spójników. Układy te nie mogą być zatem tożsame, to dwa izolowane układy logiczne, lewa strona znaku ## nie ma nic wspólnego z prawą stroną znaku ##. Pod parametry formalne po obu stronach znaku ## możemy podstawiać cokolwiek, nie ma tu wymagania identycznego podstawienia.
W szczególności po lewej stronie znaku ## możemy podstawić:
p=K
q=T
Natomiast po prawej stronie znaku ## możemy podstawić cokolwiek.
p=K
q=T
albo:
p=T
q=K
itp
Nie ma to żadnego znaczenia, bo to dwa izolowane układy logiczne.

3.0 Najważniejsze prawa rachunku zero-jedynkowego

Definicja zero-jedynkowa operatora OR:
[linki]
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:
[linki]
Poprawność wszystkich praw algebry Boole’a widać jak na dłoni.
W szczególności:
p+0=p
czego dowodem jest tożsamość odpowiednich kolumn wynikowych

Definicja zero-jedynkowa operatora AND:
[linki]
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:
[linki]
Poprawność wszystkich praw algebry Boole’a widać jak na dłoni.
W szczególności:
p*1=p
czego dowodem jest tożsamość odpowiednich kolumn wynikowych

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:
„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.

Na zakończenie poznajmy 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:
Y = ~p*q*~r + ~p*~q*r + ~p*~q*~r
Rozwiązanie:
Y = ~p*q*~r + ~p*~q(r+~r)
Y = ~p*q*~r + ~p*~q
Y = ~p(q*~r+~q)
Y = ~p*(z)
z=(q*~r) + ~q
~z = (~q+r)*q
~z = ~q*q + r*q
~z = r*q
~z = q*r
z = ~q + ~r
Y = ~p*(z)
D: Y = ~p*(~q + ~r)
Po wymnożeniu zmiennej przez wielomian mamy:
C: Y = ~p*~q + ~p*~r
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.

3.1 Prawa Prosiaczka

Prawa Prosiaczka:
(p=1) = (~p=0) - prawda (=1) w logice dodatniej (p) jest tożsama z fałszem (=0) w logice ujemnej (~p)
(p=0) = (~p=1) - fałsz (=0) w logice dodatniej (p) jest tożsamy z prawdą (=1) w logice ujemnej (~p)

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:
[linki]
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:
[linki]
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

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:
Skłamię (Y=0) wtedy i tylko wtedy gdy jutro nie pójdę do kina (K=0)
Y=0 <=> K=0
Szczegółowo czytamy:
Fałszem jest (=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.

Twierdzenie:
Logika to równania algebry Boole’a, nigdy tabele zero-jedynkowe.
Dowód:
Wszelkie prawa logiczne zapisane są w równaniach algebry Boole’a, nigdy w tabelach zero-jedynkowych.

3.2 Tworzenie równań logicznych z tabel zero-jedynkowych

Dowolną tabelę zero-jedynkową można opisać równoważnymi równaniami algebry Boole’a w spójnikach „lub”(+) oraz „i”(*).

Fundamentem algorytmu są definicje spójników „i”(*) oraz „lub”(+) z naturalnego języka mówionego (naturalnej logiki człowieka) oraz prawa Prosiaczka.

Definicja spójnika „i” (koniunkcji) w naturalnej logice człowieka:
Iloczyn logiczny (spójnik „i”(*) ) n-zmiennych binarnych jest równy 1 wtedy i tylko wtedy gdy wszystkie zmienne są równe 1
Y = (A1*A2*...An)=1 <=> A1=1 i A2=1 i ...An=1
Analogia w celu łatwego zapamiętania:
1*1*1…*1 =1
1*0*1…*1 =0
Zauważmy, że mamy tu 100% analogię do mnożenia znanego ze szkoły podstawowej, stąd nazwa „iloczyn logiczny”. Oczywiście znaczek „*” nie ma nic wspólnego z mnożeniem, to po prostu symbol spójnika „i” z naturalnego języka mówionego.

Podstawowe prawa logiczne wynikające z definicji spójnika „i”(*):
1*1 =1
1*0 =0
0*1 =0
0*0 =0
Prawa dla zmiennej binarnej p:
p*1 =p
p*0 =0
p*p =p
p*~p=0

Dla dwóch zmiennych p i q mamy:
Y=p*q
Co matematycznie oznacza:
Y=1 <=> p=1 i q=1
Stąd tabela zero-jedynkowa spójnika „i”(*) w naturalnej logice człowieka:
[linki]
gdzie:
„*” - spójnik „i” o definicji wyłącznie jak wyżej

Definicja spójnika „lub”(alternatywy) w naturalnej logice człowieka:
Suma logiczna (spójnik „lub”(+) ) n-zmiennych binarnych jest równa 1 wtedy i tylko wtedy gdy którakolwiek zmienna jest równa 1
Y = (A1+A2+...An)=1 <=> A1=1 lub A2=1 lub ... An=1
Analogia w celu łatwego zapamiętania:
0+0+0….+0 =0
1+1+0….+0 =1
Mamy tu „drobną” różnicę w stosunku do dodawania znanego ze szkoły podstawowej. Oczywiście znaczek „+” nie ma nic wspólnego z dodawaniem, to spójnik „lub”(+) z naturalnego języka mówionego.

Podstawowe prawa logiczne wynikające z definicji spójnika „lub”(+):
1+1 =1
1+0 =1
0+1 =1
0+0 =0
Prawa dla zmiennej binarnej p:
p+0 =p
p+1 =1
p+p =p
p+~p =1

Fundament algebry Kubusia:
p*~p =0
p+~p =1
Dowód:
[linki]
Rozpatrzyliśmy wszystkie możliwe przypadki p (pierwsza kolumna).
Ostatnie dwie kolumny są dowodem poprawności fundamentu algebry Kubusia.

Dla dwóch zmiennych p i q mamy:
Y=p+q
Co matematycznie oznacza:
Y=1 <=> p=1 lub q=1
Stąd tabela zero-jedynkowa spójnika „lub”(+) w naturalnej logice człowieka:
[linki]
gdzie:
„+” - spójnik „lub” o definicji wyłącznie jak wyżej

Algorytm tworzenia równania algebry Boole’a poznamy na przykładzie operatora OR.

Zero-jedynkowa definicja operatora OR:
[linki]
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 powyższą tabelę zero-jedynkową:
ABC123:
Y = Ya+Yb+Yc
Y = p*q + p*~q + ~p*q
Oczywiście równanie to opisuje wyłącznie obszar ABC123 powyżej tabeli.

Dokładnie ten sam obszar opisuje nagłówek tabeli:
ABC123:
Y=p+q
na mocy definicji spójnika „lub”(+).

Stąd mamy tożsamość matematyczną:
ABC123:
Y = p+q
ABC123:
Y = p*q + p*~q + ~p*q
Y=Y
stąd równoważna definicja spójnika „lub”(+):
ABC123:
Y = p+q = p*q + p*~q + ~p*q
Powyższe równanie opisuje obszar ABC123.

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ę D123.

Algorytm Wuja Zbója:
1.
Uzupełniamy nawiasy i brakujące spójniki:
ABC123:
Y = p+q = (p*q) + (p*~q) + (~p*q)
2.
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 1 i 2 w bramkach logicznych i połączymy wyjścia Y i ~Y to zobaczymy kupę dymu i smrodu, wszystko wyleci w powietrze.

Równania algebry Boole’a opisujące wynikowe zera

Zero-jedynkowa definicja operatora OR:
[linki]
Postępujemy identycznie jak wyżej.
1.
Spis z natury dla wynikowych zer (tu mamy tylko jedno w linii D123):
Y=0 <=> p=0 i q=0
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ę D123:
D123:
~Y=~p*~q
co matematycznie oznacza:
~Y=1 <=> ~p=1 i ~q=1

Oczywiście, negując linię D123 musimy otrzymać definicje spójnika „lub”(+) w równaniu algebry Boole’a opisującą wyłącznie obszar ABC123.

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:
[linki]
Y=Ya+Yb+Yc
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).

Wnioski:
Kompletną tabelę zero-jedynkową operatora OR (wszystkie cztery linie) opisuje układ równań logicznych:
A: Y=p+q
B: ~Y=~p*~q
Związek logiki dodatniej (Y) i ujemnej (~Y):
Y=~(~Y)
Podstawiając A i B mamy prawo De Morgana:
Y = p+q = ~(~p*~q)

Dopiero to równanie opisuje kompletny operator OR, wszystkie cztery linie.
Y = p+q = ~(~p*~q)

Twierdzenie:
Jeśli w operatorze OR zanegujemy wszystkie zmienne to na podstawie prawa De Morgana musimy otrzymać definicję operatora AND.

Definicja operatora OR w równaniach algebry Boole’a:
A: Y=p+q
B: ~Y=~p*~q
Negujemy wszystkie zmienne i zgodnie z prawem De Morgana musimy otrzymać definicję operatora AND:
C: ~Y=~p+~q
D: Y=p*q
Równania C i D to definicja operatora AND w równaniach algebry Boole’a.
cnd

Definicja operatora OR w równaniu De Morgana:
1.
Y = p+q = ~(~p*~q)

Sprawdźmy czy po zanegowaniu wszystkich zmiennych otrzymamy definicję operatora AND.
2.
Negujemy zmienne wejściowe p i q:
y = ~p +~q = ~(p*q)
3.
Negujemy wyjście y:
~y = ~(~p+~q) = p*q

Równanie 3 to oczywiście pełna definicja operatora AND w równaniu algebry Boole’a.
Zauważmy że operator AND (3) jest logiką ujemną (~y) w stosunku do operatora OR (1).

Zauważmy że równanie:
A: Y=p+q
nie jest kompletnym opisem operatora OR (opisującym wszystkie cztery linie) bo negujemy zmienne i nie otrzymujemy definicji operatora AND.
C: ~Y=~p+~q
Brakuje równań B i D.

Sensacyjny wniosek.

W równaniu logicznym:
Y=p+q
Znaczek „+” nie jest operatorem logicznym opisującym wszystkie cztery linie tabeli zero-jedynkowej.
Znaczek „+” to tylko połówka operatora OR (obszar ABC123) a nie cały operator (ABCD123) jak to jest we współczesnej logice matematycznej Ziemian.
cnd

Oczywiście matematycznie zachodzi w prawach De Morgana:
[linki]
gdzie:
## - różne na mocy definicji
bo w przejściu z operatora OR do operatora AND wyłącznie negowaliśmy zmienne bez zmiany spójników

To samo w równaniach algebry Boole’a:
[linki]
gdzie:
## - różne na mocy definicji
Po obu stronach znaku ## mamy do czynienia z dwoma niezależnymi układami logicznymi pomiędzy którymi nie zachodzą żadne związki matematyczne. Pod parametry formalne p i q po obu stronach znaku ## możemy podstawiać co nam się podoba.

Przykład:
[linki]
Doskonale widać, że nie ma żadnego matematycznego związku między zdaniami po obu stronach znaku ##, to dwie kompletnie niezależne analizy, dwa kompletnie różne operatory logiczne OR i AND.

Równanie logiczne:
Y=p+q
jest wystarczającym opisem tabeli zero-jedynkowej ABCD456 mimo że opisuje wyłącznie pierwsze trzy linie. To jest dwuelementowa algebra Kubusia, zatem pozostałe linie muszą być uzupełnione zerami w wyniku. Trzeba to rozumieć i o tym pamiętać.

3.3 Tworzenie równań logicznych w logice zero

Przepiszmy definicję operatora OR z naniesionymi równaniami cząstkowymi opisującymi poszczególne linie tej definicji.

Definicja operatora OR w naturalnej logice człowieka:
[linki]
Definicja operatora OR w równaniach algebry Boole’a:
Y=Ya+Yb+Yc
Y = p*q + p*~q + ~p*q
~Y = ~p*~q
Doskonale widać ogólny algorytm opisania dowolnej tabeli zero-jedynkowej w logice człowieka.
1.
Korzystając z praw Prosiaczka:
(p=0) = (~p=1)
(~p=0) = (p=1)
Dokładniej korzystamy z tego:
Jeśli p=0 to ~p=1
Sprowadzamy wszystkie zmienne do jedynek
2.
Funkcje cząstkowe w wierszach łączymy spójnikiem „i”(*), natomiast odpowiednie funkcje cząstkowe w pionach łączmy spójnikiem „lub”(+).

Skorzystajmy z prawa przejścia do logiki przeciwnej w definicji operatora OR zapisanej w naturalnej logice człowieka.

Prawo przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki

Definicja operatora OR w naturalnej logice człowieka:
Y = p*q + p*~q + ~p*q
~Y = ~p*~q

Definicja operatora OR w logice ZERO:
~Y = (~p+~q)*(~p+q)*(p+~q)
Y = p+q

Stąd mamy.
Definicja operatora OR w logice ZERO:
[linki]
Definicja operatora OR w równaniach algebry Boole’a w logice ZERO:
~Y=~Ya*~Yb*~Yc
~Y = (~p+~q)*(~p+q)*(p+~q)
Y = p+q

Doskonale widać ogólny algorytm opisania dowolnej tabeli zero-jedynkowej w logice ZERO.
1.
Korzystając z praw Prosiaczka:
(p=1) = (~p=0)
(~p=1) = (p=0)
Dokładniej korzystamy z tego:
Jeśli p=1 to ~p=0
Sprowadzamy wszystkie zmienne do zera
2.
Funkcje cząstkowe w wierszach łączymy spójnikiem „lub”(+), natomiast odpowiednie funkcje cząstkowe w pionach łączmy spójnikiem „i”(*).

Podsumowując:
Dokładnie tą samą tabelę zero-jedynkową możemy opisać w logice człowieka lub w logice ZERO.

Logika człowieka:
Y = p*q + p*~q + ~p*q
~Y = ~p*~q

Logika ZERO:
~Y = (~p+~q)*(~p+q)*(p+~q)
Y = p+q

Związek logiki człowieka z logiką ZERO:
Y=Y
Y = p+q = p*q + p*~q + ~p*q
~Y=~Y
~Y=~p*~q = (~p+~q)*(~p+q)*(p+~q)

Rozważmy na przykładzie funkcję Y=Y:
Y = Y
Stąd:
Y = p+q = p*q + p*~q + ~p*q

Zauważmy, że obie strony powyższej tożsamości są doskonale rozumiane przez każdego człowieka, od 5-cio latka poczynając.
W.
Jutro pójdę do kina lub do teatru
Y=K+T
co matematycznie oznacza:
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy jutro pójdę do kina (K=1) lub do teatru (T=1)
Y=K+T
co matematycznie oznacza:
Y=1 <=> K=1 lub T=1
Wystarczy że zajdzie dowolny człon po prawej stronie i już dotrzymałem słowa, drugiego członu nie muszę sprawdzać.

Dokładnie to samo zdanie wynikające z tożsamości Y=Y:

Dla naszego zdania mamy:
W.
Jutro pójdę do kina lub do teatru
Y=K+T - logika dodatnia (bo Y)

Zdanie wypowiedziane W znaczy dokładnie to samo co:
Y=K*T + K*~T + ~K*T
co matematycznie oznacza:
Y=1 <=> (K*T)=1 lub (K*~T)=1 lub (~K*T)=1
Wystarczy że zajdzie jeden z członów po prawej stronie i już dotrzymałem słowa (Y=1), pozostałych członów nie muszę sprawdzać.

Szczegółowo:
Dotrzymam słowa (Y=1) wtedy i tylko wtedy gdy:
A: K*T=1*1=1 - jutro pójdę do kina (K=1) i do teatru (T=1)
lub
B: K*~T=1*1=1 - jutro pójdę do kina (K=1) i nie pójdę do teatru (~T=1)
lub
C: ~K*T=1*1=1 - jutro nie pójdę do kina (~K=1) i pójdę do teatru (T=1)

Doskonale widać tożsamość w naturalnej logice każdego 5-cio latka:
Y= K+T = K*T + K*~T + ~K*T

Pójdźmy z analizą naszego zdania W o krok dalej niż wynika to z funkcji Y=Y.
... a kiedy skłamię?
Przejście ze zdaniem W do logiki ujemnej (bo ~Y)
~Y=~K*~T
U.
Skłamię (~Y=1) wtedy i tylko wtedy gdy:
D: ~K*~T=1*1=1 - jutro nie pójdę do kina (~K=1) i nie pójdę do teatru (~T=1)

Rozważmy na tym samym przykładzie funkcję ~Y=~Y:
~Y=~Y
stąd:
~Y = ~p*~q = (~p+~q)*(~p+q)*(p+~q)

W ostatnim równaniu mamy tą samą funkcję logiczną (~Y) zapisaną w dwóch postaciach.

Postać koniunkcyjna (naturalna logika człowieka):
~Y=~p*~q
Którą doskonale rozumie każdy człowiek, od 5-cio latka poczynając.

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

Dokładnie to samo zdanie wyrażone postacią koniunkcyjno-alternatywną przyjmie brzmienie.
~Y = (~K+~T)*(~K+T)*(K+~T)
Jest oczywistym, że żaden człowiek nie zrozumie równania postaci koniunkcyjno-alternatywnej.

3.4 Definicje spójników „i”(*) i „lub”(+) w logice zero

W poprzednim rozdziale doszliśmy do poprawnych równań logicznych w logice zero opisujących dowolną tabelę zero-jedynkową na drodze logicznego rozumowania, korzystając z prawa przejścia do logiki przeciwnej. Formalizmowi musi jednak stać się zadość. Podstawą matematyczną są tu definicje spójników „lub”(+) oraz „i”(*) w logice zero.

Zero-jedynkowa definicja operatora OR:
[linki]
Definicja spójnika „lub”(+) w logice zero:
Suma logiczna (spójnik „lub”(+)) jest równa zeru wtedy i tylko wtedy gdy wszystkie zmienne są równe zeru.
Y=p+q
co w logice zero oznacza (spis z natury):
Y=0 <=> p=0 i q=0
Jak widzimy w definicji mamy spójnik „lub”(+) natomiast w spisie z natury mamy spójnik „i”(*).

Zero-jedynkowa definicja operatora AND:
[linki]
Definicja spójnika „i”(*) w logice zero:
Iloczyn logiczny (spójnik „i”(*)) jest równy zeru wtedy i tylko wtedy gdy którakolwiek zmienna jest równa zeru
Y=p*q
co w logice zero oznacza (spis z natury):
Y=0 <=> p=0 lub q=0
Jak widzimy w definicji mamy spójnik „i”(*) natomiast w spisie z natury mamy spójnik „lub”(+). dnia Nie 17:58, 02 Lut 2014, w całości zmieniany 100 razy