|
Ś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: 35331
Przeczytał: 23 tematy
Skąd: z innego Wszechświata Płeć: Mężczyzna
|
Wysłany: Nie 8:46, 15 Mar 2009 Temat postu: Fundamenty algebry Boole'a |
|
|
Proste jest piekne
Fundamenty algebry Boole’a
Autor: Kubuś
Kubuś – wirtualny, Internetowy Miś
W pracach nad teorią implikacji bezcennej pomocy udzielili Kubusiowi przyjaciele:
Emde (sfinia), Irbisol (sfinia), Macjan (sfinia), Miki (sfinia), Rafał3006 (sfinia), Volrath (sfinia), WujZbój (sfinia)
Wielkie dzięki !
Szczególne podziękowania Wujowi Zbójowi za jego nieskończoną cierpliwość w dyskusjach z Kubusiem oraz Vorathowi za końcową, decydującą o wszystkim dyskusję
Spotkało się siedmiu odpowiednich ludzi w odpowiednim miejscu i czasie, gdyby zabrakło któregokolwiek ogniwa ta teoria nie mogłaby zaistnieć.
Spis treści:
1.0 Notacja
1.1 Aktualny stan logiki klasycznej w implikacji
1.2 Fundament dzisiejszego rozumienia implikacji jest chory
1.3 Dowód fałszywości dzisiejszego fundamentu implikacji w równaniach
1.4 Parametry formalne i aktualne w implikacji
1.5 Parametry formalne i aktualne w praktyce
1.6 Zburzenie starego świata
2.0 Fundamenty algebry Boole’a
2.1 Definicja iloczynu logicznego
2.2 Definicja sumy logicznej
2.3 Definicja negacji
2.4 Prawa algebry Boole’a wynikające z definicji AND i OR
2.5 Logika dodatnia i ujemna
2.6 Prawo de’Morgana dla iloczynu logicznego
2.7 Prawo de'Morgana dla sumy logicznej
3.0 Iloczyn kartezjański i pojęcie funkcji
3.1 Funkcja iloczynu algebraicznego
3.2 Funkcja iloczynu logicznego
3.3 Funkcja sumy logicznej
3.4 Funkcja implikacji prostej
3.5 Funkcja równoważności
3.6 Funkcja implikacji odwrotnej
4.0 Która algebra jest prawdziwa
5.0 Spójniki zdaniowe
Wstęp.
W pkt.1.0 zawarto materiał dotyczący stanu dzisiejszej logiki w zakresie implikacji który nie zmieścił się w podpisie. Punkty 2.0 i 3.0 to algebra Boole’a od podstaw dedykowana początkującym, podana w nieznany ludziom sposób, mam nadzieje że prostszy i ciekawszy.
1.0 Notacja
1 = prawda
0 = fałsz
Twarda prawda/fałsz - zachodzi zawsze, bez żadnych wyjątków
Miękka prawda/fałsz - może zajść ale nie musi
# - różne
* - symbol iloczynu logicznego (AND), w mowie potocznej spójnik 'i'
+ - symbol sumy logicznej (OR), w mowie potocznej spójnik "lub"
~ - przeczenie, negacja (NOT), w mowie potocznej "NIE"
~(...) - w mowie potocznej "nie może się zdarzyć że ...", "nie prawdą jest że ..."
<=> - symbol równoważności
Definicja implikacji prostej:
p=>q = ~p+q
Jeśli zajdzie p to „musi” => zajść q
p musi być warunkiem wystarczającym dla q
Definicja implikacji odwrotnej:
p~>q = p+~q
Jeśli zajdzie p to „może” ~> zajść q
p musi być warunkiem koniecznym dla q
Spójniki zdaniowe:
=> - „musi”, implikacja prosta, warunek wystarczający między p i q
~> - „może”, implikacja odwrotna, warunek konieczny między p i q
~~> - MOŻE, wystarczy pokazać jeden przypadek dla którego zdanie jest prawdziwe, warunek konieczny tu nie zachodzi zatem nie jest to implikacja odwrotna prawdziwa.
1.1 Aktualny stan logiki klasycznej w implikacji
Definicja implikacji prostej:
p=>q=~p+q
Jeśli zajdzie p to na pewno => zajdzie q
p musi być warunkiem wystarczającym dla q
Warunek wystarczający wynika bezpośrednio z definicji zero-jedynkowej.
Implikacja odwrotna do powyższej wedle dzisiejszej logiki to:
q~>p = q+~p = ~p+q
czyli:
p=>q = q~>p
… ale przecież w logice klasycznej mamy równie dobrze zdefiniowaną implikacje odwrotną.
Definicja implikacji odwrotnej:
p~>q=p+~q
Jeśli zajdzie p to może ~> zajść q
p musi być konieczne dla q
Warunek konieczny wynika bezpośrednio z definicji zero-jedynkowej.
Implikacja odwrotna do powyższej wedle dzisiejszej logiki to:
q=>p = ~q+p = p+~q
czyli:
p~>q = q=>p
Oczywiście w logice klasycznej mamy:
p=>q # p~>q
… ale jednocześnie na podstawie powyższego dzisiejsza algebra Boole’a generuje dwa równania:
p=>q = q~>p
i
p~>q = q=>p
Powyższe równania to przyczyna nieszczęść całej dzisiejszej algebry Boole’a w zakresie implikacji. Pozornie są poprawne … tyle że „dzięki” nim dzisiejsza logika to generator liczb losowych od 1 do 4.
1.2 Fundament dzisiejszego rozumienia implikacji jest chory
Irbisol napisał: | rafal3006 napisał: | Rozumiem, że według Ciebie zachodzą takie równania:
p=>q= q~>p
i
p=>q # p~>q
Zgadza się ? |
Tak |
volrath napisał: | Ja nie twierdzę, że implikacja odwrotna to samo co prosta.
Twierdzę, że p=>q <=> ~q=>~p <=> q~>p <=> ~p~>~q <=> p NAND (p NAND q)
|
Czyli według Volratha również zachodzi:
p=>q # p~>q
i
p=>q=q~>p
Fundamentem dzisiejszego rozumienia implikacji są dwa równania:
p=>q # p~>q AND p=>q=q~>p
Dowody:
A.
p=>q # p~>q
p=>q = ~p+q - definicja implikacji prostej
p~>q = p+~q - definicja implikacji odwrotnej
Zauważmy, że przemienność sumy logicznej niczemu tu nie przeszkadza, zawsze otrzymamy prawidłowe p=>q # p~>q
B.
p=>q = q~>p
p=>q = ~p+q
q~>p = q+~p = ~p+q - na podstawie prawa przemienności sumy logicznej.
Prawe strony są równe zatem zachodzi:
p=>q=q~>p
Dowód A jest oczywiście poprawny bo to są definicje implikacji prostej i odwrotnej.
Uznanie dowodu B za poprawny natychmiast prowadzi do absurdu:
p=>q = ~p~>~q = q~>p = ~q=>~p
czyli implikacja staje się generatorem liczb losowych od 1 do 4.
Przykład:
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P
… a jeśli zwierzę nie ma czterech łap ? … to na podstawie powyższego równania możemy sobie rzucać monetą i losować dowolne zdanie z trzech pozostałych.
Jeśli zwierzę jest psem to na pewno ma cztery łapy
P=>4L
Wszyscy normalni ludzie wyśmieją taką odpowiedź jako kompletnie nie na temat …
Gdzie tkwi błąd ?
Warunki wystarczający w implikacji prostej i konieczny w implikacji odwrotnej wynikają bezpośrednio z definicji zero-jedynkowych tych implikacji.
Definicja implikacji prostej:
p q p=>q
1 1 =1 / p=>q=1
1 0 =0 / p=>~q=0
0 0 =1 / ~p~>~q=1
0 1 =1 / ~p~~>q=1
p=>q = ~p+q
Jeśli zajdzie p to musi zajść q
p musi być wystarczające dla q, inaczej druga linia nie będzie twardym fałszem, definicja leży w gruzach.
gdzie:
=> - operator implikacji prostej, spójnik „na pewno” między p i q
~> - operator implikacji odwrotnej, spójnik może ~> między p i q, warunek konieczny spełniony
~~> - naturalny spójnik MOŻE ~~> (wystarczy jedna prawda), warunek konieczny nie spełniony
Przykład:
Jeśli zwierze jest psem to na pewno ma cztery łapy
P=>4L =1
Jeśli zwierzę jest psem to na pewno nie ma czterech łap
P=>~4L=0
Jeśli zwierzę jest psem to na pewno ma skrzydła
P=>S=0 - brak warunku wystarczającego, żegnaj definicjo …
Definicja implikacji odwrotnej:
p q p~>q
1 1 =1 / p~>q=1
1 0 =1 / p~~>~q=1
0 0 =1 / ~p=>~q=1
0 1 =0 / ~p=>q=0
p~>q = p+~q
Jeśli zajdzie p to może zajść q
p musi być warunkiem koniecznym dla q, inaczej pierwsza linia definicji jest twardym fałszem
Przykład:
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P=1 bo pies
4L są warunkiem koniecznym dla psa zatem jest to implikacja odwrotna prawdziwa
Jeśli zwierzę ma skrzydła to może być psem
S~>P=0
Skrzydła nie są warunkiem koniecznym dla psa, implikacja odwrotna leży w gruzach.
Zauważmy, że jeśli p jest warunkiem koniecznym dla q, to zajście ~p wymusza zajście ~q. W ten sposób odkryliśmy w sposób naturalny jedno z praw Kubusia:
p~>q = ~p=>~q
Na podstawie odpowiednich definicji mamy:
p=>q # p~>q
Dzisiejsze rozumienie implikacji jest chore bo:
1.
Jeśli punkt odniesienia przywiążemy na stałe do implikacji prostej p=>q, warunek wystarczający spełniony (dzisiejsza logika) to prawdziwa będzie implikacja odwrotna q~>p ze spełnionym tu warunkiem koniecznym. Implikacja odwrotna p~>q będzie oczywiście zawsze fałszywa bo między p i q występuje tu warunek wystarczający a nie konieczny wymagany przez definicję implikacji odwrotnej. Po co komu zawsze fałszywa definicja p~>q ?
Przykład:
Jeśli zwierzę jest psem to ma cztery łapy
P=>4L
Ustalamy sztywno:
p=P
q=4L
Czyli:
p=>q = P=>4L - implikacja prosta prawdziwa
q~>p - 4L~>P - implikacja odwrotna prawdziwa
Ale:
p~>q = P~>4L - implikacja odwrotna zawsze fałszywa
2.
Jeśli ustawimy sztywny punkt odniesienia na implikacji odwrotnej p~>q, warunek konieczny spełniony (drugi możliwy sztywny punkt odniesienia) to prawdziwa będzie implikacja odwrotna q=>p ze spełnionym tu warunkiem wystarczającym. Implikacja prosta p=>q będzie wówczas zawsze fałszywa bo między p i q występuje tym razem warunek konieczny a nie wymagany w definicji implikacji prostej p=>q warunek wystarczający. Po co komu zawsze fałszywa definicja p=>q ?
Przykład:
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P
Ustalamy sztywno:
p=4L
q=P
Czyli:
p~>q = 4L~>P - implikacja odwrotna prawdziwa
q=>p = P=>4L - implikacja prosta prawdziwa
Ale:
p=>q = 4L=>P - implikacja prosta zawsze fałszywa
Najgorszy w tym wszystkim jest fakt, że ze sztywnego punktu odniesienia ustawionego na komunistycznej implikacji prostej p=>q wyniknęła logikom zbędność implikacji odwrotnej w logice bo:
p=>q = q~>p
czyli implikacja prosta jest tym samym co implikacja odwrotna czyli:
P=>4L = 4L~>P
czyli dzisiejsza logika w zakresie implikacji staje się generatorem liczb losowych od 1 do 4, przykład pokazano wyżej.
Lekarstwem na powyższe bzdury jest ustalenie punktu odniesienia na wypowiedzianym zdaniu czyli po „Jeśli…” zawsze mamy poprzednik implikacji p, zaś po „to…” zawsze jest następnik implikacji q. Ten prosty manewr sprowadza całą dzisiejszą logikę w zakresie implikacji do poziomu przedszkolaka, zaś implikacja staje się w 100% jednoznaczna, zgodna z naturalnym językiem mówionym człowieka.
1.3 Dowód fałszywości dzisiejszego fundamentu implikacji w równaniach
Fundament dzisiejszej logiki w zakresie implikacji:
p=>q # p~>q AND p=>q=q~>p
W dzisiejszej logice klasycznej zachodzą równania:
A.
p=>q = q~>p
B.
p~>q = q=>p
Irbisol napisał: |
W każdym niezależnym równaniu możesz sobie podstawiać pod p i q co chcesz.
Ale w jednym równaniu muszą one oznaczać to samo, czyli tak łopatologicznie:
p = p
q = q
|
Jeśli liczba jest podzielna przez 8 to jest podzielna przez 2
P8=>P2
P8 jest wystarczające dla P2 zatem jest to implikacja prosta prawdziwa.
Doskonale widać, że przejście z powyższego przykładu do zapisu ogólnego zgodnie z postulatem Irbisola możemy zrealizować na dwa sposoby.
I.
Rzucamy monetą, orzełek czyli przyjmujemy:
p=P8
q=P2
Dla tego zapisu musimy przyjąć równanie A czyli mamy:
p=>q = q~>p
czyli:
C.
P8=>P2 = P2~>P8
II.
Rzucamy ponownie monetą, tym razem reszka zatem przyjmujemy:
P=P2
q=P8
Dla tego zapisu sensowne jest wyłącznie równanie B zatem mamy:
p~>q = q=>p
czyli:
D.
P2~>P8 = P8=>P2
Porównajmy równania C i D. Widać że są tożsame zatem zachodzi:
p=>q = p~>q
co jest sprzeczne z powyższym fundamentem dzisiejszej logiki.
W ten sposób poprzez sprowadzenie do absurdu udowodniliśmy fałszywość całej dzisiejszej logiki w zakresie implikacji.
Miejsce dzisiejszej logiki w zakresie implikacji jest w grobowcu historii. W implikacji nadchodzi nowa era - era algebry Kubusia (podpis)
1.4 Parametry formalne i aktualne w implikacji
Definicja implikacji prostej:
p=>q = ~p+q
Jeśli zajdzie p to na pewno zajdzie q
p musi być wystarczające dla q
Definicja implikacji odwrotnej:
p~>q = p+~q
Jeśli zajdzie p to może zajść q
p musi być konieczne dla q
Parametry p i q to parametry formalne przyjmujące wartości z wypowiedzianego zdania.
Zarówno parametry formalne jak i aktualne są zmiennymi
p~>q - tu może zajść p lub ~p oraz q lub ~q
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P - tu wylosowane zwierzę może mieć cztery łapy lub nie mieć (4L lub ~4L) oraz może być psem lub nie (P lub ~P).
czyli:
Zmienną formalną o nazwie p zastępujemy zmienną rzeczywistą o nazwie 4L
Zmienną formalną o nazwie q zastępujemy zmienną rzeczywistą o nazwie P
Parametry formalne p i q spełniają warunek wystarczający w implikacji prostej p=>q oraz warunek konieczny w implikacji odwrotnej p~>q, decyduje o tym użyty operator => lub ~>. Wtedy i tylko wtedy zdanie jest implikacją prawdziwą. W parametrach formalnych zakładamy że zdanie p=>q spełnia warunek wystarczający, zaś zdanie p~>q spełnia warunek konieczny.
Parametry aktualne P i 4L spełniają warunek wystarczający w implikacji prostej P=>4L oraz warunek konieczny w implikacji odwrotnej 4L~>P, decyduje o tym użyty operator => lub ~>. Wtedy i tylko wtedy zdanie jest implikacją prawdziwą. W parametrach aktualnych o tym czy należy użyć operatora => czy też ~> decyduje treść zdania.
Różnica między parametrami formalnymi i aktualnymi jest więc istotna.
Założenie spełnienia warunku wystarczającego i koniecznego w parametrach formalnych wynika bezpośrednio z definicji zero-jedynkowych operatorów co pokazano wyżej.
Dopiero analiza zdania poprzez zero-jedynkową definicję implikacji prostej => lub odwrotnej ~> jest operacją na stałych, czyli rozpatrujemy wszystkie możliwe przypadki jakie w przyszłości mogą zaistnieć. Implikacją jest tylko i wyłącznie zdanie które spełnia odpowiednią definicję zero-jedynkową.
Przykład 1
Jeśli zwierzę jest psem to ma cztery łapy
P=>4L
Implikacja prosta prawdziwa bo bycie psem jest wystarczające aby mieć cztery łapy
Analiza zero-jedynkowa poprzez definicję implikacji prostej p=>q:
Definicja:
1 1 =1
1 0 =0
0 0 =1
0 1 =1
A.
Jeśli zwierzę jest psem to na pewno ma cztery łapy
1 1 =1 bo pies
P*4L=1
P=>4L=1
B.
Jeśli zwierzę jest psem to na pewno nie ma czterech łap
1 0 =0 - oczywisty twardy fałsz
P*~4L=0
P=>~4L=0
C:
Jeśli zwierzę nie jest psem to może nie mieć czterech łap
0 0 =1 bo kura
~P*~4L=1
~P~>~4L=1
D.
Jeśli zwierzę nie jest psem to może mieć cztery łapy
0 1 =1 bo koń
~P*4L=1
~P~~>4L=1
Na podstawie definicji spójnika MOŻE ~~> (wystarczy jedna prawda)
Zdania A,B,C i D są zdaniami na stałych, to wszystkie możliwe przypadki jakie w przyszłości mogą zaistnieć, jednak każde z tych zdań człowiek może wypowiedzieć jako niezależne zdanie np.
D.
Jeśli zwierzę nie jest psem to może mieć cztery łapy
~P~~>4L=1 bo koń
Zdanie prawdziwe na mocy definicji spójnika MOŻE ~~> (wystarczy jedna prawda).
Zdanie to nie jest implikacja odwrotną co najłatwiej stwierdzić korzystając z prawa Kubusia:
~P~>4L=P=>~4L=0
Zdanie P=>~4L to oczywisty fałsz, zatem w zdaniu ~P~>4L nie zachodzi warunek konieczny czyli zdanie ~P~>4L jest implikacją odwrotną fałszywą.
Definicje zero jedynkowe implikacji pozwalają na eliminację wszelkich fałszów. Zdania które nie spełniają odpowiedniej definicji nie są implikacjami !
Jeśli zwierzę jest psem to ma skrzydła
S=>P=0 - oczywisty fałsz
Bycie psem nie jest warunkiem wystarczającym aby mieć skrzydła
Przykład 2
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P
Implikacja odwrotna prawdziwa bo cztery łapy są konieczne dla psa
Analiza zero-jedynkowa poprzez definicję implikacji odwrotnej p~>q:
Definicja:
1 1 =1
1 0 =1
0 0 =1
0 1 =0
E.
Jeśli zwierzę ma cztery łapy to może być psem
1 1 =1 bo pies
4L*P =1
4L~>P=1
F.
Jeśli zwierzę ma cztery łapy to może nie być psem
1 0 =1 bo koń
4L*~P=1
4L~~>~P=1
Na podstawie definicji spójnika MOŻE ~~> (wystarczy jedna prawda).
G.
Jeśli zwierzę nie ma czterech łap to na pewno nie jest psem
0 0 =1 - oczywista twarda prawda np. kura
~4L*~P=1
~4L=>~P=1
H.
Jeśli zwierzę nie ma czterech łap to na pewno jest psem
0 1 =0
~4L*P=0
~4L=>P=0 - oczywisty fałsz
Zdania E,F,G i H są zdaniami na stałych, to wszystkie możliwe przypadki jakie mogą w przyszłości zaistnieć. Każde z tych zdań człowiek może wypowiedzieć jako zdanie niezależne np.
F.
Jeśli zwierzę ma cztery łapy to może nie być psem
4L~~>~P =1 bo koń
Na podstawie definicji spójnika MOŻE ~~> (wystarczy jedna prawda).
Zdanie 4L~>P nie jest implikacją bo nie jest tu spełniony warunek konieczny co doskonale widać po zastosowaniu prawa Kubusia:
4L~>P = ~4L=>P = 0 - zdanie fałszywe zatem nie zachodzą tu warunki konieczny/wystarczający
Oba powyższe zdania są implikacjami fałszywymi.
Definicje zero jedynkowe implikacji pozwalają na eliminację wszelkich fałszów. Zdania które nie spełniają odpowiedniej definicji nie są implikacjami !
Jeśli zwierzę ma skrzydła to może być psem
S~>P=0 - nie jest to implikacja odwrotna bo skrzydła nie są konieczne dla psa
S~~>P=0 - nie istnieje choćby jeden przypadek dla którego zdanie to jest prawdziwe
Wnioski końcowe:
1.
Zdanie P=>4L spełnia definicję zero-jedynkową implikacji prostej p=>q
2.
Zdanie 4L~>P spełnia definicję zero-jedynkową implikacji odwrotnej p~>q
Zatem:
P=>4L # 4L~>P
bo zdanie P=>4L spełnia definicje zero-jedynkową implikacji prostej p=>q, zaś zdanie 4L~>P spełnia definicję zero-jedynkową implikacji odwrotnej p~>q.
Oczywiście:
p=>q # p~>q
Jedyny zdrowy fundament implikacji jest zatem taki:
p=>q # p~>q czyli: P=>4L # 4L~>P
CND
Powyższe jest dowodem fałszywości fundamentu dzisiejszej implikacji gdzie zachodzi:
p=>q # p~>q AND p=>q = q~>p
czyli dla powyższego przykładu:
p=>q # p~>q AND P=>4L = 4L~>P
Dowód:
W dzisiejszej logice punkt odniesienia ustalony jest sztywno na implikacji prostej czyli mamy:
Jeśli zwierzę jest psem to na pewno ma cztery łapy
P=>4L
p=P
q=4L
stądi:
p=>q = P=>4L
q~>p = 4L~>P
Fundament dzisiejszej logiki:
p=>q # p~>q AND P=>4L = 4L~>P
jest zatem twardym fałszem
CND
1.5 Parametry formalne i aktualne w praktyce
Definicja p~>q jest identyczna jak q~>p bo to jest definicja operatora implikacji odwrotnej ~> gdzie istotne są zera i jedynki podawane na podstawę i strzałkę wektora.
p q p~>q
1 1 =1
1 0 =1
0 0 =1
0 1 =0
q p q~>p
1 1 =1
1 0 =1
0 0 =1
0 1 =0
Jeśli zdanie jest implikacją odwrotną to musi spełniać definicję zero-jedynkową implikacji odwrotnej.
Przykład:
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P
Dla definicji p~>q musimy przyjąć:
p=4L, q=P
Dla definicji q~>p musimy przyjąć:
q=4L, p=P
Kod: | 4L P 4L~>P
1 1 =1
1 0 =1
0 0 =1
0 1 =0 |
Kubuś zupełnie nie rozumie dlaczego dzisiejsi logicy nie załapują takiego banału ?
... właściwie to rozumie.
Umiejętność posługiwania się definicjami zero-jedynkowymi implikacji zabiła idiotyczna definicja implikacji materialnej.
Na koniec nowość w logice czyli to samo co wyżej w zapisie symbolicznym.
Przyjmujemy:
4L=1, ~4L=0
P=1, ~P=0
Kod: | 4L P 4L~>P
4L* P =1
4L*~P =1
~4L*~P =1
~4L* P =0 |
Finałem niech będzie totalna nowość w logice czyli to samo co wyżej w zapisie operatorowym.
Kod: | 4L ~> P =1
4L~~>~P =1
Prawo Kunusia:
4L~>P=~4L=>~P
~4L =>~P =1
~4L => P =0 |
Analiza zdania w zapisie operatorowym jest w 100% zgodna z naturalnym językiem mówionym, co widać w szczegółowym przykładzie w pkt. 2.0.
Analizą operatorową implikacji doskonale posługiwali się w praktyce już pierwsi ludzie na Ziemi, Adam i Ewa.
1.6 Zburzenie starego świata
Jest 3 rano, przed chwilą wróciłem z delegacji. W czasie długich służbowych podróży Kubuś lubi słuchać muzyki i ma dużo czasu na myślenie o implikacji. Cztery godziny temu Kubuś doznał olśnienia … ale jaja, pomyślał sobie i zatrzymał się na najbliższej stacji benzynowej bo nie mógł uwierzyć w to co się stało, wyjął wizytówkę i na odwrocie zapisał kilka znaczków jak niżej:
Kod: |
1.
p*~q =0
~p* q =1
2.
~q* p =0
q*~p =1
3.
p*~q =0
~p* q =1
|
Co to jest ?
To skrócone przejście z implikacji prostej => do odwrotnej ~> i z powrotem, wykonane na symbolicznych wersjach tych implikacji.
Przy przejściach z jednej implikacji do drugiej linie
Kod: |
1 1 =1
p* q =1
0 0 =1
~p*~q =1 |
są bez znaczenia bo to są linie symetryczne nieczułe na zamianę argumentów.
Zacznijmy od początku, operując na skróconych definicjach implikacji zapisanych w wersji zero-jedynkowej i symbolicznej.
W definicjach symbolicznych przyjmujemy:
p=1, ~p=0
q=1, ~q=0
Skrócona definicja implikacji prostej:
Kod: |
p q p=>q
1 0 =0
p*~q =0
0 1 =1
~p* q =1
|
Równanie w algebrze Boole’a najłatwiej utworzyć korzystając z linii w której jest samotne zero w wyniku. Jeżeli sprowadzamy argumenty do jedynek to musimy stosować operator AND(*).
Mamy zatem:
p*~q = ~(p=>q) - wynik też sprowadzamy do jedynki
stąd:
p=>q = ~(p*~q) = ~p+q - na podstawie prawa de’Morgana
Skrócona definicja implikacji odwrotnej:
Kod: |
p q p~>q
0 1 =0
~p* q =0
1 0 =1
p*~q =1
|
Równanie:
~p*q = ~(p~>q)
stąd:
p~>q = ~(~p*q) = p+~q
Zajmijmy się teraz przekształceniami Kubusia zapisanymi na wizytówce.
Kod: |
A.
p q p=>q
1 0 =0
p*~q =0
0 1 =1
~p* q =1
|
Równanie wynikające bezpośrednio z powyższej tabeli:
p*~q=~(p=>q)
czyli:
p=>q = ~(p*~q) = ~p+q
Po zamianie p i q miejscami powyższa implikacja prosta przechodzi w implikację odwrotną:
Kod: |
B.
q p q~>p
0 1 =0
~q* p =0
1 0 =1
q*~p =1
|
Równanie:
~q*p=~(q~>p)
czyli:
q~>p = ~(~q*p) = q+~p
Robimy dokładnie ten sam manewr dla tabeli B czyli w q~>p zamieniamy miejscami q i p.
C.
Kod: |
p q p=>q
1 0 =0
p*~q =0
0 1 =1
~p* q =1
|
Równanie:
p*~q=~(p=>q)
czyli:
p=>q = ~(p*~q) = ~p+q
Jak widać zamieniając p i q przeszliśmy z p=>q (A) do q~>p (B) po czym ponownie zamieniając p i q powróciliśmy do p=>q (A).
p=>q --> q~>p --> p=>q
Na podstawie tabel zero-jedynkowych mamy wyżej:
p=>q # q~>p !
Błąd popełniany przez logikę klasyczną jest taki:
Dla tabeli B mamy:
q~>p = ~(~q*p) = q + ~p
Zamieniając q i ~p w sumie logicznej, zamieniamy te same parametry w iloczynie logicznym czyli:
X = ~(p*~q) = ~p+q
Czym jest X ?
Oczywiście X jest implikacją prostą.
p=>q = ~(p*~q) = ~p+q
W ten sposób również przeszliśmy z tabeli B do tabeli A metodą „od tyłu” czyli poprzez zamianę q i ~p w równaniu matematycznym.
p=>q # q~>p
co widać w tabelach zero-jedynkowych A i B.
Błędny jest zatem fundament dzisiejszej algebry Boole’a jakoby:
p=>q=q~>p - to jest bzdura !
Jak uniezależnić się od tak perfidnych wpadek ?
Bardzo prosto.
Wystarczy ustawić punkt odniesienia zawsze na wypowiedzianym zdaniu, czyli po „Jeśli…” mamy zawsze poprzednik implikacji p zaś po „to…” zawsze jest następnik implikacji q … i po bólu !
Na tym właśnie polega fundamentalna różnica między dzisiejszą algebrą Boole’a a algebrą Kubusia o której w podpisie.
2.0 Fundamenty algebry Boole’a
Fundamentem algebry Boole’a są definicje iloczynu i sumy logicznej oraz definicja negacji plus definicje implikacji. DNA wszelkich komputerów to zaledwie suma logiczna albo iloczyn logiczny plus definicja negacji. Dysponując zaledwie dwuwejściową bramką OR (suma logiczna) oraz negatorem realizującym negację można zbudować każdy komputer.
2.1 Definicja iloczynu logicznego
Iloczyn logiczny n zmiennych binarnych równy jest jeden wtedy i tylko wtedy gdy każda ze zmiennych jest równa jeden.
Y = 1*1*1*1...*1 = 1
albo definicja równoważna.
Iloczyn logiczny n zmiennych binarnych równy jest zeru gdy którakolwiek ze zmiennych równa jest zero
Y = 1*0*1*1....*1 = 0
Używanie zer i jedynek w definicjach to średniowiecze, to pisanie programu komputerowego w kodzie maszynowym. Po wynalezieniu komputera człowiek błyskawicznie zorientował się, że pisanie programu w kodzie maszynowym to horror i natychmiast wynalazł język symboliczny. Fundamentalnym językiem symbolicznym każdego mikroprocesora jest język asemblera.
Zapis definicji iloczynu logicznego w postaci symbolicznej
Y = A1*A2*A3 ... *An
gdzie:
* - symbol iloczynu logicznego w algebrze Boole’a (spójnik „i” w języku mówionym ang. AND)
A1,A2..An - zmienne binarne wejściowe, mogące przyjmować w funkcji czasu wyłącznie wartości 0 albo 1
Y - funkcja logiczna np. wartość zdania
Jak widać mnożenie logiczne niczym nie różni się od mnożenia algebraicznego.
2.2 Definicja sumy logicznej
Suma logiczna n zmiennych binarnych równa jest zeru wtedy i tylko wtedy gdy każda ze zmiennych równa jest zero
Y = 0+0+0+0....+0 = 0
albo definicja równoważna
Suma logiczna n zmiennych binarnych równa jest jeden gdy którakolwiek ze zmiennych jest równa jeden.
Y = 0+1+0+0 ... +0 = 1 - wystarczy że jedna zmienna jest równa jeden
Y = 1+1+1+1 ....+1 = 1 - mogą być nawet wszystkie zmienne równe jeden
Zapis definicji sumy logicznej w postaci symbolicznej
Y = A1+A2+A3 ... +An
gdzie:
+ - symbol sumy logicznej w algebrze Boole’a (spójnik „lub” a języku mówionym ang. OR)
A1,A2..An - zmienne binarne wejściowe, mogące przyjmować w funkcji czasu wyłącznie wartości 0 albo 1
Y - binarna zmienna wyjściowa np. wartość zdania
Jak widać suma logiczna różni się od sumy algebraicznej. Wystarczy, że którakolwiek ze zmiennych wejściowych równa jest jeden i już całe wyrażenie przyjmuje wartość 1.
2.3 Definicja negacji
W algebrze Boole’a dostępne są wyłącznie cyfry 0 i 1, stąd łatwo wydedukować definicję negacji.
1=~0
0=~1
Definicja negacji w zapisie symbolicznym, to funkcja logiczna realizowana przez negator (ang. inverter)
Y=~A
~ - symbol negacji (odpowiednik przeczenia NIE w języku mówionym)
A - zmienna binarna wejściowa
Y - zmienna binarna wyjściowa
W technice cyfrowej fizyczna realizacja negatora jest niesłychanie prosta. Negator to czarna skrzynka do której dochodzi sygnał wejściowy A, zaś wychodzi sygnał wyjściowy Y = ~A np. w standardzie TTL.
Jeśli zmienna wejściowa A=1 to wyjście Y=0, jeśli zmienna wejściowa A=0 to Y=1.
Tabela prawdy negatora:
Prawo podwójnego przeczenia
A = ~(~A)
Dowód:
Twierdzenia w algebrze Boole’a dowodzi się niezwykle prosto budując tabele zero-jedynkowe dla wszystkich możliwych przypadków.
Kod: |
A ~A ~(~A)
0 1 0
1 0 1
|
Identyczność kolumn A i ~(~A) dowodzi prawdziwości twierdzenia czyli:
A=~(~A)
Przykład:
Jestem uczciwy
Jestem NIEuczciwy
NIE jestem NIEuczciwy = jestem uczciwy
~(~U)=U
2.4 Prawa algebry Boole’a wynikające z definicji AND i OR
* - operator iloczynu logicznego (spójnik „i” ang. AND)
+ - operator sumy logicznej (spójnik „lub” ang. OR)
Prawa wynikające bezpośrednio z definicji iloczynu i sumy logicznej
A*1 = A
A*0 = 0
A+1 = 1
A+0 = A
A*A = A
A+A = A
A+~A=1
A*~A=0
Najważniejsze prawa wynikające z definicji algebry Boole’a
A+~A =1
A*~A =0
A+~A=1 - tu jest gwarancja że A i ~A nie mogą być równocześnie równe 0 (fałsz)
bo byłoby:
0+0=1
Czyli:
0=1 - algebra Boole’a leży w gruzach
A*~A=0 - tu jest gwarancja że A i ~A nie mogą być równocześnie równe 1 (prawda)
bo byłoby:
1*1=0
Czyli:
1=0 - algebra Boole’a leży w gruzach
Porada praktyczna.
Najważniejsze prawa łatwo zapamiętać jeśli wyobrazimy sobie zmienne jako zera i jedynki w logice dodatniej czyli:
A=1
~A=0
Wtedy w wyobraźni zapisujemy sobie uproszczenie:
A+~A = 1+0 =1
A*~A = 1*0 =0
Zauważmy że dla dowolnej ilości zmiennych mnożenie logiczne niczym nie różni się od mnożenia algebraicznego:
Y = 1*1*1*1*0*0*1 =0 - wystarczy jedno zero aby wynik był równy 0
W algebrze dziesiętnej dla powyższego mamy identycznie Y=0
Zupełnie inaczej jest w sumie logicznej:
Y=1+1+0+1+0+1 = 1 - wystarczy jedna jedynka aby wynik był równy 1
W algebrze dziesiętnej byłoby tu Y=4, zupełnie co innego !
2.5 Logika dodatnia i ujemna
W Wikipedii w temacie "logika ujemna" pisze o związku 0 i 1 z poziomami napięć. Przydatność takiego pojęcia w matematyce jest równa zeru absolutnemu, zapomnijmy o tym.
Dowolne wyrażenie w algebrze Boole’a może przyjmować w osi czasu wyłącznie wartości 0 albo 1
A+B(C*D) .....
gdzie:
A,B,C,D… - zmienne binarne przyjmujące w osi czasu wyłącznie wartości 0 albo 1
Wyrażeniu jak wyżej możemy przypisać abstrakcyjną funkcję logiczną Y (wyjście cyfrowe).
Fizycznie, dowolna funkcja logiczna Y:
Y=A+B(C*D) .....
Może przyjmować w osi czasu wyłącznie wartości 0 albo 1.
Po przepuszczeniu jej przez prościutki negator otrzymamy funkcję ~Y będącą lustrzanym odbiciem funkcji Y. Logika ujemna (~Y) to lustrzane odbicie logiki dodatniej.
Oczywiście zachodzi:
Y = ~(~Y)
O tym, że logika ujemna istnieje można się łatwo przekonać w technice cyfrowej obserwując wszystko na przyrządzie pomiarowym zwanym oscyloskopem.
Definicja iloczynu logicznego.
Y=A1*A2 ….*An = 1 - wtedy i tylko wtedy gdy wszystkie zmienne są równe jeden
Definicja sumy logicznej.
Y=A1+A2 ….+An = 0 - wtedy i tylko wtedy gdy wszystkie zmienne są równe zeru
Jeśli:
Y=A1*A2 ….*An = 1 - wtedy i tylko wtedy gdy wszystkie zmienne są równe jeden
to:
~Y= ~A1+~A2…+~An = 0 - bo wszystkie składniki sumy logicznej są równe 0.
Oczywistym jest że:
Jeśli Y=1 to ~Y=0
Jeśli A1=1 to ~A1=0 itd.
Z ostatniego równania mamy:
Y= ~(~Y) = ~(~A1+~A2…+~An) = ~(0) = 1 czyli:
A1*A2 ….*An = ~(~A1+~A2…+~An) - prawo de’Morgana dla iloczynu logicznego
To samo rozumowanie możemy przeprowadzić dla sumy logicznej.
Jeśli:
Y = A1+A2…+An = 0 - wtedy i tylko wtedy gdy wszystkie zmienne są równa zeru
to:
~Y = ~A1*~A2…*~An =1 - bo wszystkie składniki iloczynu logicznego są równe 1
W tym przypadku mamy;
Jeśli Y=0 to ~Y=1
Jeśli A1=0 to ~A1=1 itd.
Z ostatniego równania mamy:
Y = ~(~Y) = ~(~A1*~A2…*~An) = ~(1) = 0
czyli:
A1+A2…+An = ~(~A1*~A2…*~An) - prawo de’Morgana dla sumy logicznej
Definicja
Dowolnemu wyrażeniu w algebrze Boole’a możemy przypisać abstrakcyjną funkcję logiczną Y przyjmującą w osi czasu wartości binarne w zależności od zmiennych wejściowych.
Logika dodatnia - funkcja logiczna (wyjście cyfrowe) jest niezanegowana (Y)
Logika ujemna - funkcja logiczna (wyjście cyfrowe) jest zanegowana (~Y)
Prawa de’Morgana mówią o związkach między logiką dodatnią a ujemną na dowolnie długiej funkcji logicznej z dowolnie pomieszanymi operatorami.
Y=A+(B*C)
przejście do logiki ujemnej
~Y = ~A * (~B + ~C) - totalna negacja wszystkich zmiennych i wymiana operatorów na przeciwne tzn. OR(+) na AND(*) i odwrotnie.
Powrót do logiki dodatniej możemy wykonać na dwa sposoby:
I.
Y=A+(B*C) - ponowna totalna negacja wszystkich zmiennych i wymiana operatorów
II.
Y = ~(~Y) = ~[~A * (~B + ~C)] - zanegowanie logiki ujemnej
Twierdzenie 2.5
Przejście z logiki dodatniej (Y) do logiki ujemnej (~Y) polega na zamianie wszystkich zmiennych na przeciwne oraz wszystkich operatorów na przeciwne czyli AND(*) na OR(+) i OR na AND. Domyślna kolejność wykonywania działań w logice ujemnej zmieni się na: nawiasy, OR, AND.
Logika dodatnia:
A.
Y=A+B(C+~D)+E*~F - logika dodatnia (Y)
Domyślna kolejność wykonywania działań w logice dodatniej: nawiasy, AND(*), OR(+).
Przejście do logiki ujemnej:
B.
~Y=~A*~B+(~C*D)*~E+F - logika ujemna (~Y)
Domyślna kolejność wykonywania działań w logice ujemnej: nawiasy, OR(+), AND(*)
Przejścia powrotnego do logiki dodatniej dokonujemy w identyczny sposób.
C.
Y=A+B(C+~D)+E*~F - logika dodatnia (Y)
Domyślna kolejność wykonywania działań w logice dodatniej: nawiasy, AND(*), OR(+).
Zmiana kolejności wykonywania działań w logice ujemnej jest oczywista bowiem przy przejściu z logiki dodatniej do ujemnej AND zamienia się w OR.
Dowód twierdzenia:
I.
Y=A+B(C+~D)+E*~F - funkcja zapisana w logice dodatniej (Y)
Uzupełniamy brakujące nawiasy i operatory.
II.
Y=A+(B*(C+~D))+(E*~F) - logika dodatnia (Y)
negujemy wszystkie zmienne i wymieniamy operatory na przeciwne.
III.
~Y=~A*(~B+(~C*D))*(~E+~F) - logika ujemna (~Y)
Zauważmy, że jeśli przyjmiemy domyślną kolejność wykonywania działań w logice ujemnej (~Y): nawiasy, OR, AND to zbędne stanie się dokładanie nawiasów. Przejście powrotne do logiki dodatniej wykonujemy w identyczny sposób tj. zamieniamy wszystkie zmienne i operatory na przeciwne.
IV.
Y=A+(B*(C+~D))+(E*~F) - logika dodatnia (Y)
Aby powrócić do funkcji pierwotnej I usuwamy dołożone nawiasy.
Y=A+B(C+~D)+E*~F - oryginał, logika dodatnia (Y)
Zauważmy, że w tej metodzie uzupełniamy nawiasy przy przejściu z logiki dodatniej na ujemną oraz usuwamy je przy przejściu powrotnym by dojść do oryginału. W sumie niepotrzebna syzyfowa praca bowiem o fakcie zapisania funkcji w logice ujemnej informuje precyzyjnie przeczenie przy jej nazwie (~Y).
Zauważmy, że prawo de’Morgana pozwala w prosty sposób zamienić operatory na przeciwne w dowolnym fragmencie nawet nieskończonej funkcji logicznej. Wystarczy dowolny fragment ciągu ująć w nawiasy, postawić przed nimi znak przeczenia ~, zaś w środku tych nawiasów zamienić wszystkie zmienne i operatory na przeciwne. W tym przypadku bezpieczniej będzie uzupełnić brakujące nawiasy domyślne, aby nie pogubić się w kolejności wykonywania działań.
2.6 Prawo de’Morgana dla iloczynu logicznego
Prawa de’Morgana mówią o związkach sumy logicznej z iloczynem logicznym, poznaliśmy je wyżej dla przypadku ogólnego.
Wyprowadzenie praw de’Morgana dla dwóch zmiennych.
Iloczyn logiczny:
Y=p*q - funkcja logiczna w logice dodatniej (bo Y)
Przejście do logiki ujemnej poprzez negację zmiennych i odwrócenie operatorów.
~Y=~p+~q - funkcja logiczna w logice ujemnej (bo ~Y)
Prawo podwójnego przeczenia:
Y=~(~Y)
Stąd mamy:
p*q = ~(~p + ~q) - prawo zamiany iloczynu logicznego na sumę logiczną
Zero-jedynkowa wersja prawa de’Morgana
Kod: |
p q Y=p*q ~p ~q ~Y=~p+~q Y=~(~Y)=~(~p+~q)
0 0 =0 1 1 =1 =0
0 1 =0 1 0 =1 =0
1 0 =0 0 1 =1 =0
1 1 =1 0 0 =0 =1
|
Równość kolumn Y=p*q i Y=~(~p+~q) jest dowodem poprawności prawa de’Morgana
Symboliczna wersja prawa de’Morgana
Kod: |
p q Y=p*q ~p ~q ~Y=~p+~q Y=~(~Y)=~(~p+~q)
0 0 =0 ~p ~q =1 =0
0 1 =0 ~p q =1 =0
1 0 =0 p ~q =1 =0
p q =1 0 0 =0 =1
|
Jak widać, w symbolicznej wersji prawa de’Morgana zapisujemy stałe w postaci symbolicznej w tych liniach w których wynik jest równy 1. Reszta bezwzględnych zer i jedynek zupełnie nas nie interesuje.
Symboliczne wartości stałych przyjmujemy zgodnie z zapisanym nagłówkiem czyli:
1 - oznacza zgodność z nagłówkiem, przepisujemy nagłówek
0 - oznacza brak zgodności z nagłówkiem, przepisujemy zanegowany nagłówek
Z powyższego wynika że:
W tabeli dla logiki dodatniej (Y) przyjmujemy:
1=p, 0=~p
1=q, 0=~q
W tabeli dla logiki ujemnej (~Y) przyjmujemy:
1=~p, 0=p
1=~q, 0=q
Z symbolicznej wersji prawa de’Morgana widać jak na dłoni że:
Dotrzymam słowa (Y=1):
Y=p*q
wtedy i tylko wtedy gdy zajdzie p*q
Skłamię (~Y=1):
~Y=~p*~q+~p*q+p*~q
wtedy i tylko wtedy gdy zajdzie ~p*~q LUB ~p*q LUB p*~q
Przykład:
Jutro pójdę do kina i do teatru
Y=K*T
p=K
q=T
Podstawiamy do wzorów ogólnych wyżej i otrzymujemy:
Dotrzymam słowa (Y):
Y=K*T
wtedy i tylko wtedy pójdę do kina i pójdę do teatru.
Skłamię (~Y):
~Y = ~K*~T + ~K*T + K*~T
wtedy i tylko wtedy gdy nie pójdę do kina i nie pójdę do teatru LUB nie pójdę do kina i pójdę do teatru LUB pójdę do kina i nie pójdę do teatru
W praktyce powyższą tabelę można zdecydowanie uprościć
Tabela zero-jedynkowa iloczynu logicznego:
Kod: |
p q Y=p*q
0 0 =0
0 1 =0
1 0 =0
1 1 =1 |
Tabela symboliczna iloczynu logicznego:
Kod: |
p q Y=p*q
~p ~q =~Y
~p q =~Y
p ~q =~Y
p q = Y
|
Wszystkie sygnały sprowadzamy do 1 w logice dodatniej czyli:
p=1, ~p=0
q=1, ~q=0
…. i mamy to samo co w rozbudowanej, symbolicznej tabeli de’Morgana
Dotrzymam słowa (Y):
Y=p*q
wtedy i tylko wtedy gdy zajdzie p*q
Skłamię (~Y):
~Y=~p*~q+~p*q+p*~q
wtedy i tylko wtedy gdy zajdzie ~p*~q LUB ~p*q LUB p*~q
2.7 Prawo de'Morgana dla sumy logicznej
Suma logiczna:
Y=p+q - funkcja logiczna w logice dodatniej (bo Y)
Przejście do logiki ujemnej poprzez negację zmiennych i odwrócenie operatorów.
~Y=~p*~q - funkcja logiczna w logice ujemnej (bo ~Y)
Prawo podwójnego przeczenia:
Y=~(~Y)
Stąd mamy:
p+q = ~(~p * ~q) - prawo zamiany sumy logicznej na iloczyn logiczny
Zero-jedynkowa wersja prawa de’Morgana
Kod: |
p q Y=p+q ~p ~q ~Y=~p*~q Y=~(~Y)=~(~p*~q)
0 0 =0 1 1 =1 =0
0 1 =1 1 0 =0 =1
1 0 =1 0 1 =0 =1
1 1 =1 0 0 =0 =1
|
Równość kolumn Y=p+q i Y=~(~p*~q) jest dowodem poprawności prawa de’Morgana
Symboliczna wersja prawa de’Morgana
Kod: |
p q Y=p+q ~p ~q ~Y=~p*~q Y=~(~Y)=~(~p*~q)
0 0 =0 ~p ~q =1 =0
~p q =1 1 0 =0 =1
p ~q =1 0 1 =0 =1
p q =1 0 0 =0 =1
|
Jak widać, w symbolicznej wersji prawa de’Morgana zapisujemy stałe w postaci symbolicznej w tych liniach w których wynik jest równy 1. Reszta bezwzględnych zer i jedynek zupełnie nas nie interesuje.
Symboliczne wartości stałych przyjmujemy zgodnie z zapisanym nagłówkiem czyli:
1 - oznacza zgodność z nagłówkiem, przepisujemy nagłówek
0 - oznacza brak zgodności z nagłówkiem, przepisujemy zanegowany nagłówek
Z powyższego wynika że:
W tabeli dla logiki dodatniej (Y) przyjmujemy:
1=p, 0=~p
1=q, 0=~q
W tabeli dla logiki ujemnej (~Y) przyjmujemy:
1=~p, 0=p
1=~q, 0=q
Z symbolicznej wersji prawa de’Morgana widać jak na dłoni że:
Dotrzymam słowa (Y=1):
Y=~p*q+p*~q+p*q
wtedy i tylko wtedy gdy zajdzie ~p*q lub p*~q lub p*q
Skłamię (~Y=1):
~Y=~p*~q
wtedy i tylko wtedy gdy ~p*~q
Przykład:
Jutro pójdę do kina lub do teatru
Y=K+T
p=K
q=T
Podstawiamy do wzorów ogólnych wyżej i otrzymujemy:
Dotrzymam słowa (Y):
Y=~K*T+K*~T+K*T
wtedy i tylko wtedy nie pójdę do kina i pójdę do teatru LUB pójdę do kina i nie pójdę do teatru LUB pójdę do kina i pójdę do teatru
Skłamię (~Y):
~Y =~K*~T
wtedy i tylko wtedy gdy nie pójdę do kina i nie pójdę do teatru
W praktyce powyższą tabelę można zdecydowanie uprościć
Tabela zero-jedynkowa dla sumy logicznej:
Kod: |
p q Y=p+q
0 0 =0
0 1 =1
1 0 =1
1 1 =1 |
Tabela symboliczna sumy logicznej:
Kod: |
p q Y=p+q
~p ~q =~Y
~p q = Y
p ~q = Y
p q = Y
|
Wszystkie sygnały sprowadzamy do 1 w logice dodatniej czyli:
p=1, ~p=0
q=1, ~q=0
…. i mamy to samo co w rozbudowanej, symbolicznej tabeli de’Morgana
Dotrzymam słowa (Y=1):
Y=~p*q+p*~q+p*q
wtedy i tylko wtedy gdy zajdzie ~p*q lub p*~q lub p*q
Skłamię (~Y=1):
~Y=~p*~q
wtedy i tylko wtedy gdy ~p*~q
3.0 Iloczyn kartezjański i pojęcie funkcji
W drugiej klasie szkoły podstawowej Pani na kartkówce zadała uczniom napisanie tabliczki mnożenia do 100. Wszystkie dzieci zrobiły to w sposób uporządkowany, łatwy do sprawdzenia. Jedynie dowcipny Jaś oddał kartkę pozornie bez sensu, bo poszczególne działania poustawiane były w sposób losowy, taki groch z kapustą.
Jak sprawdzić czy Jaś wykonał poprawnie zadanie ?
Oczywiście należy wykreślać po kolei jedno działanie z kartki uporządkowanej, odszukać identyczne w Jasiowym bałaganie i też je skreślić. Jeśli na końcu okaże się że Jaś zapisał wszystkie działania poprawnie i żadnego nie brakuje to Jaś wykonał zadanie poprawnie, powinien dostać 6 za fajny dowcip.
Ogólnie na obu kartkach z tabliczką mnożenia może być dowolny bałagan byleby zawierały wszystkie mnożenia do 100, co wynika z definicji iloczynu kartezjańskiego i pojęcia funkcji. Zobaczmy to na przykładzie budując tabelę mnożenia do dziewięciu.
3.1 Funkcja iloczynu algebraicznego
Iloczynem kartezjańskim zbiorów A = {1, 2, 3} i B = {1, 2, 3} jest zbiór C = AxB składający się z par liczb (a,b), gdzie a jest liczbą ze zbioru A, zaś b jest liczbą ze zbioru B. Innymi słowy, zbiór C wygląda tak: C = {(1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3)}. Wobec tego zadanie, jakie otrzymały dzieci, polegało na tym, żeby każdemu elementowi iloczynu kartezjańskiego zbiorów A i B przyporządkować liczbę całkowitą równą iloczynowi algebraicznemu liczb zawartych w tym elemencie.
Oznaczmy:
* - matematyczny operator iloczynu algebraicznego, funkcja mnożenia algebraicznego (nie mylić z iloczynem logicznym AND !)
Kod: | a b a*b
1*1 =1
1*1 =2
1*3 =3
2*1 =2
2*2 =4
2*3 =6
3*1 =3
3*2 =6
3*3 =9 |
Jest oczywistym, że linie można dowolnie poprzestawiać i dalej będzie to tabela mnożenia do 9 czyli znajdziemy w niej wynik dowolnego mnożenia.
Pary liczb po lewej stronie znaku „=” tworzą zbiór będący iloczynem kartezjańskim dwóch zbiorów liczb, z których każdy zawiera liczby od 1 do 3, zaś po prawej stronie znaku „=” mamy liczby ze zbioru liczb od 1 do 9, stanowiące wynik odwzorowania tego iloczynu kartezjańskiego (czyli zbioru) w zbiór liczb całkowitych od 1 do 9. Jako ciekawostkę można zauważyć, że niektóre liczby w wyniku pojawiają się tylko jeden raz (1,4,9), niektóre pojawiają się dwukrotnie (2,3,6), a niektóre nie pojawiają się w ogóle (np. liczba 5,7,8). Każdej parze liczb z lewej strony „=” odpowiada jednak tylko jedna liczba z prawej strony „=” (każde mnożenie algebraiczne ma tylko jeden prawidłowy wynik) - takie jednoznaczne odwzorowanie jednego zbioru w drugi zbiór nazywa się funkcją.
Zauważmy, że funkcja iloczynu algebraicznego „*” jest przemienna tzn. można zamieniać argumenty i wynik nie ulegnie zmianie.
a*b = b*a
3.2 Funkcja iloczynu logicznego
Weźmy teraz algebrę Boole’a gdzie znane są wyłącznie cyfry 0 i 1. Mamy tu tylko dwa zbiory A=(0,1) i B=(0,1) bo inne cyfry są nielegalne. Iloczyn kartezjański tych zbiorów to C={(0,0), (0,1), (1,0), (1,1)}.
Oczywiście pary cyfr ze zbioru C można dowolnie przestawiać.
Definicja iloczynu logicznego (funkcja logiczna):
Kod: | Tabela A
p q p*q
1 1 =1
1 0 =0
0 0 =0
0 1 =0 |
gdzie:
* - operator iloczynu logicznego AND(*), funkcja logiczna.
Zauważmy, że funkcja iloczynu logicznego jest przemienna, czyli można zamieniać argumenty po obu stronach operatora AND(*). Z samej tabeli widać doskonale, że po zamianie p i q kolumna wynikowa nie ulegnie zmianie czyli:
p*q=q*p
Dowód formalny:
Zamieniamy p i q miejscami.
Kod: | Tabela B
q p q*p
1 1 =1
0 1 =0
0 0 =0
1 0 =0 |
Identyczność kolumn wynikowych tabel A i B jest dowodem przemienności iloczynu logicznego:
p*q = q*p
3.3 Funkcja sumy logicznej
Definicja sumy logicznej (funkcja logiczna):
Kod: | p q p+q
1 1 =1
1 0 =1
0 0 =0
0 1 =1 |
gdzie:
+ - operator sumy logicznej OR(+), funkcja logiczna
Funkcja sumy logicznej jest przemienna, można zamieniać argumenty po obu stronach operatora OR(+), co widać w powyższej tabeli.
p+q = q+p
Dowód jest analogiczny jak w iloczynie logicznym.
3.4 Funkcja implikacji prostej
Definicja implikacji prostej (funkcji logicznej):
Kod: | Tabela A
p q p=>q
1 1 =1
1 0 =0
0 0 =1
0 1 =1 |
gdzie:
=> - operator implikacji prostej, funkcja logiczna
Z definicji widzimy, że funkcja logiczna przyjmuje wartość 0 wtedy i tylko wtedy gdy na podstawę wektora =>podamy 1, zaś na strzałkę 0.
Zbadajmy czy w implikacji można zamieniać p i q miejscami.
Kod: | Tabela B
q p q=>p
1 1 =1
0 1 =1
0 0 =1
1 0 =0 |
Różnica w wynikowych zerach i jedynkach w tabelach A i B jest dowodem, że w implikacji prostej nie wolno zamieniać p i q miejscami, to bardzo ważna informacja.
Zapis:
q=>p - jest w implikacji zawsze fałszywy
Przykład:
Jeśli liczba jest podzielna przez 8 to jest podzielna przez 2
P8=>P2 =1
p=P8
q=P2
Po zamianie p i q otrzymujemy zdanie zawsze fałszywe.
Jeśli liczba jest podzielna przez 2 to na pewno jest podzielna przez 8
P2=>P8 =0 bo 2
Logika nie zajmuje się fałszem, stwierdza fałsz i kropka. Nie buduje się praw matematycznych dla fałszu.
Tabele A i B wyżej są równoważne, co łatwo stwierdzić zamieniając wiersze 2 i 4 w tabeli B miejscami. Zgodnie z definicją iloczynu kartezjańskiego i definicją funkcji jest to dopuszczalne.
Kod: | Tabela C
q p q=>p
1 1 =1
1 0 =0
0 0 =1
0 1 =1 |
Tabele A i C są równoważne o czym świadczy identyczność kolumn wynikowych.
Mamy zatem:
p=>q = q=>p
Oczywiście w implikacji to równanie jest fałszywe co dowiedliśmy wyżej. Równanie powyższe jest prawdziwe wyłącznie w równoważności bo tu jest obojętne co nazwiemy p a co q.
3.5 Funkcja równoważności
Definicja równoważności to iloczyn logiczny tabel A i B (pkt.3.4), czyli pewne wynikanie w dwie strony. Mnożenie logiczne tabel A i B polega na mnożeniu logicznym wyników z tych samych wierszy.
Definicja równoważności (funkcja równoważności):
Kod: | p q p<=>q=(p=>q)*(q=>p)
1 1 =1
1 0 =0 - bo w tabeli A mamy tu 0
0 0 =1
0 1 =0 - bo w tabeli B mamy tu 0 |
Z tabeli równoważności doskonale widać, że możemy bez problemu zamieniać argumenty p i q. Równanie matematyczne opisujące powyższą tabelę uzyskujemy z linii 1 i 3 sprowadzając wszystkie sygnały do jedynki.
p*q = p<=>q - linia 1
LUB
~p*~q = p<=>q - linia 3
stąd otrzymujemy:
p<=>q = p*q+~p*~q
To samo co wyżej można otrzymać korzystając z definicji operatora implikacji prostej =>:
p=>q = ~p+q - definicja operatora implikacji prostej
czyli:
q=>p = ~q+p
Stąd mamy:
p<=>q = (p=>q)*(q=>p) = (~p+q)*(~q+p) = ~p*~q + ~p*p + q*~p + q*p = ~p*~q + q*p = p*q + ~p*~q
czyli:
p<=>q = p*q+~p*~q
bo na podstawie prawa A*~A=0 mamy:
~p*p =0
q*~q =0
3.6 Funkcja implikacji odwrotnej
Definicja implikacji odwrotnej, funkcja logiczna.
Kod: | Tabela A
p q p~>q
1 1 =1
1 0 =1
0 0 =1
0 1 =0 |
Zapis tej tabeli w równaniu algebry Boole’a najłatwiej uzyskać z ostatniej linii sprowadzając wszystkie sygnały do jedynki.
~p*q = ~(p~>q)
stąd:
p~>q = ~(~p*q) = p+~q
Sprawdźmy czy można zamieniać p i q.
Kod: | Tabela B
q p q~>p
1 1 =1
0 1 =0
0 0 =1
1 0 =1 |
Różnica w wyniku tabel A i B jest dowodem, że w implikacji odwrotnej nie wolno zamieniać p i q, identycznie jak w implikacji prostej.
Wniosek:
Jeśli implikacja p~>q jest prawdziwa to na pewno fałszywa jest implikacja q~>p.
Przykład:
Jeśli liczba jest podzielna przez 2 to może być podzielna przez 8
P2~>P8
p=P2
q=P8
Implikacja odwrotna prawdziwa bo P2 jest konieczne dla P8
Po zamianie p i q mamy:
Jeśli liczba jest podzielna przez 8 to może być podzielna przez 2
P8~>P2
q~>p
Implikacja odwrotna fałszywa ponieważ podzielność liczby przez 8 nie jest konieczna dla jej podzielności przez 2 bo 4, 6…
Zauważmy, że zdanie P8~>P2 jest prawdziwe na mocy definicji spójnika „może” (wystarczy jedna prawda) natomiast implikacja odwrotna jest fałszywa bo nie zachodzi warunek konieczny między P8 i P2 (definicje spójników „może” i „musi” w podpisie).
Zauważmy, że jeśli implikacja odwrotna p~>q jest prawdziwa (zachodzi warunek konieczny), to w druga stronę musi zachodzić implikacja prosta q=>p (zachodzi warunek wystarczający).
Jeśli liczba jest podzielna przez 8 to na pewno => jest podzielna przez 2
P8=>P2
q=>p
Implikacja prosta prawdziwa bo P8 jest wystarczające dla P2
Tabela A i B są równoważne co łatwo dowieść zamieniając linie 2 i 4 w tabeli B, pozwala na to definicja iloczynu kartezjańskiego i definicja funkcji.
Kod: | Tabela C
q p q~>p
1 1 =1
1 0 =1
0 0 =1
0 1 =0 |
Identyczność tabel A i C jest dowodem iż:
p~>q = q~>p
Powyższa równość jest w praktyce bezużyteczna, ponieważ w przeciwieństwie do równoważności nie istnieje zdanie w którym byłby spełniony warunek konieczny w stronę p~>q i jednocześnie w stronę q~>p, to fizycznie niemożliwe.
4.0 Która algebra jest prawdziwa
Cytat z:
http://www.sfinia.fora.pl/metodologia,12/gwarancje-matematyczne-w-rownowaznosci-i-implikacji,3845-60.html#80307
Która algebra w zakresie implikacji jest prawdziwa ?
Autor: Kubuś, wirtualny Internetowy Miś
macjan napisał: | dr entropia napisał: | to jest do skopiowania gdzieś i pokazywania ludziom co algebra może zrobić z człowiekiem |
Widzisz tu jakąś algebrę...? |
dr entropia napisał: | fakt.
algebry tu nie ma jako takiej (co wykazałem autorowi jakoś w pierwszym tygodniu jego spamowania), ale słowo "algebra" się pojawia wielokroć i o to mi chodzi.
|
Macjanie i dr entropia !
Logika człowieka = algebra Kubusia
Czym różni się algebra Boole’a od algebry Kubusia ?
W algebrze Kubusia punkt odniesienia ustawiony jest na wypowiedzianym zdaniu, zaś o tym czy zdanie jest implikacją prostą czy odwrotną decyduje treść zdania. Szczegóły w podpisie.
Małe, a robi wielką różnicę … algebra Kubusia jest w 100% jednoznaczna i w 100% zgodna z naturalną logiką człowieka.
Zobaczmy gdzie jest algebra a gdzie jej nie ma
Irbisol napisał: | rafal3006 napisał: | Rozumiem, że według Ciebie zachodzą takie równania:
p=>q= q~>p
i
p=>q # p~>q
Zgadza się ? |
Tak |
To co wyżej potwierdził Volrath ...
volrath napisał: | Ja nie twierdzę, że implikacja odwrotna to samo co prosta.
Twierdzę, że p=>q <=> ~q=>~p <=> q~>p <=> ~p~>~q <=> p NAND (p NAND q)
|
Irbisol napisał: |
W każdym niezależnym równaniu możesz sobie podstawiać pod p i q co chcesz.
Ale w jednym równaniu muszą one oznaczać to samo, czyli tak łopatologicznie:
p = p
q = q
|
Chory fundament implikacji = algebra Boole’a
Fundament dzisiejszej chorej logiki w zakresie implikacji jest na podstawie powyższego taki:
p=>q # p~>q
i
A.
p=>q=q~>p
B.
p~>q=q=>p
Sprawdźmy czy to jest zdrowe czy chore algorytmem Irbisola.
Jeśli liczba jest podzielna przez 8 to na pewno => jest podzielna przez 2
P8=>P2
P8 jest wystarczające dla P2, zatem implikacja odwrotna prawdziwa
Implikacja odwrotna do powyższej to:
Jeśli liczba jest podzielna przez 2 to może ~> być podzielna przez 8
P2~>P8
P2 jest konieczne dla P8, zatem jest to implikacja odwrotna prawdziwa.
Zróbmy to co proponuje w ostatnim cytacie Irbisol, niech to będzie chwila prawdy dla dzisiejszej logiki.
Mamy kluczowe równania chorej logiki:
A.
p=>q=q~>p
B.
p~>q=q=>p
Dla powyższych zdań możemy przyjąć:
I.
p=P8
q=P2
albo:
II.
p=P2
q=P8
Nie ma innych możliwości matematycznych
Dla równania A mamy:
A.
P8=>P2 = P2~>P8 czyli: 1=1 dla I.
P2=>P8 = P8~>P2 czyli: 0=0 dla II.
To samo dla równania B:
B.
P8~>P2 = P2=>P8 czyli: 0=0 dla I.
P2~>P8 = P8=>P2 czyli: 1=1 dla II
Oczywiście w równaniach B możemy zamieniać linie oraz przestawiać argumenty z lewa na prawo i odwrotnie. Przekształcamy równanie B do równoważnej postaci C.
C=B.
P8=>P2 = P2~>P8 czyli: 1=1 dla II.
P2=>P8 = P8~>P2 czyli: 0=0 dla I.
Oczywiście zestaw równań A i C jest IDENTYCZNY, zatem:
p=>q = p~>q
co jest oczywistym idiotyzmem.
Dzisiejsza algebra Boole’a w zakresie implikacji jest wewnętrznie sprzeczna !
Wytłuszczony wyżej fundament dzisiejszej implikacji został totalnie skompromitowany. Cała dzisiejsza logika w zakresie implikacji zbudowana jest na oczywistym fałszu.
Miejsce dowolnej logiki zbudowanej na fałszu jest w śmietniku historii.
Zdrowy fundament implikacji = algebra Kubusia
Fundament algebry Kubusia w zakresie implikacji:
p=>q # p~>q
i
A.
p=>q = ~p~>~q
B.
p~>q = ~p=>~q
Potraktujmy algebrę Kubusia identycznie jak algebrę Boole’a wyżej:
Dla powyższych zdań możemy przyjąć:
I.
p=P8
q=P2
albo:
II.
p=P2
q=P8
Nie ma innych możliwości matematycznych
Dla równania A mamy:
A.
P8=>P2 = ~P8~>~P2 czyli: 1=1 dla I.
P2=>P8 = ~P2~>~P8 czyli: 0=0 dla II.
To samo dla równania B:
B.
P8~>P2 = ~P8=>~P2 czyli: 0=0 dla I.
P2~>P8 = ~P2=>~P8 czyli: 1=1 dla II
Oczywiście dla powyższych równań zachodzi prawidłowo:
p=>q # p~>q
Równania A i B to dwa niezależne układy implikacyjne między którymi nie zachodzą żadne związki matematyczne. O dwóch niezależnych, zamkniętych układach implikacyjnych trąbi już podręcznik do I klasy LO:
[link widoczny dla zalogowanych]
… tyle że nie w tym kościele dzwony biją.
Pytanie do Macjana i dr entropii !
… no i która algebra jest prawdziwa w zakresie implikacji ?
Algebra Boole’a czy algebra Kubusia ?
dr entropia napisał: | Cytat: | Czym różni się algebra Boole’a od algebry Kubusia ? |
pierwsza jest algebrą (pewnym zbiorem z operacjami nie wyprowadzającymi poza ten zbiór) a druga nią nie jest.
to cała różnica.
|
Różnica jest minimalna, to zmiana punktu odniesienia czyniąca algebrę Kubusia w 100% jednoznaczną. Nie pisz więc głupot.
Małe, a robi wielką różnicę ...
Algebra Kubusia to też pewien zbiór z operacjami nie wyprowadzającymi poza ten zbiór. Udowodnij że jest inaczej.
p=>q=~p~>~q = ~p+q = q+~p = ~(p*~q) = ~(~q*p)
p~>q = ~p=>~q = p+~q = ~q+p = ~(~p*q) = ~(q*~p)
W zdrowym fundamencie obowiązuje oczywiście przemienność sumy i iloczynu logicznego. Algebra Kubusia jest zatem spójna. Oczywiście w algebrze Kubusia prawo kontrapozycji jest prawdziwe w równoważności i fałszywe w implikacji, zaś prawa Kubusia są prawdziwe w implikacji i fałszywe w równoważności. Tak musi być, bo równoważność i implikacja to dwa różne światy.
Dzisiejsza algebra Boole’a uznająca jedynie słuszną implikację prostą => to po prostu algebra równoważnościowa, dlatego jest sensowna wyłącznie w matematyce bo twierdzenia to równoważności.
Udowodniłem Wam, że algebra Boole'a jest w zakresie implikacji wewnętrznie sprzeczna. Dowód jest na poziomie przedszkolaka. Proszę o jego merytoryczne obalenie.
Na fałszu można budować co się chce, stąd implikacja materialna, logiczna i ścisła czyli jedna definicja i trzy różne teorie … te najbardziej znane, bo idiotyzmów budowanych na tym fałszu może być nieskończenie wiele.
Algebra Boole'a w zakresie implikacji to po prostu śmieć, nic więcej.
5.0 Spójniki zdaniowe
Człowiek to nie komputer, język ma być wystarczająco jednoznaczny a nie superprecyzyjny.
Jeśli powiem:
Jutro o 11:00 będę w kinie lub w teatrze
to jest oczywistym że nie mogę być jednocześnie tu i tu o tej samej godzinie. Superprecyzyjnie powinno tu być „albo” ale „lub” niczemu tu nie przeszkadza bo to jest pojęcie szersze, zatem bezpieczniejsze.
Podobnie:
Jan wszedł i padł martwy
to oczywiste następstwo czasowe czyli AND jest tu użyte w znaczeniu „po czym”.
LUB (OR) jest pojęciem szerszym od ALBO (XOR), (OR zawiera XOR) dlatego bezpieczniejszym w języku potocznym i najczęściej używanym np.
A.
Jutro pójdę do kina albo do teatru
powiem gdy zależy mi na podkreśleniu że nie pójdę tu i tu.
B.
O wiele bezpieczniejsze jest zdanie:
Jutro pójdę do kina lub do teatru
Tu mogę zrobić jak w A plus mam furtkę tu i tu.
Implikacja to sprawa poważniejsza bo chodzi tu przede wszystkim o obsługę gróźb i obietnic.
Człowiek ma prawo blefować, ma tez prawo darować dowolną karę ... a to zapewnia wyłącznie implikacja odwrotna np..
Zapłacę ci za ułożenie kafelków wtedy i tylko wtedy gdy skończysz do soboty
Odbiorca nie wie czy nadawca blefuje, oczywiście sensownym jest wziąć taką groźbę na serio. Załóżmy, że wykonawca skończył w niedzielę. Czy nadawca musi wykonać karę ? Gdyby musiał to jego wolna wola leży w gruzach dlatego:
Matematycznie:
Groźba = implikacja odwrotna
… a człowiek może sobie pieprzyć co chce np. wypowiadać groźbę w postaci równoważności.
Bardzo często ludzie w zacietrzewieniu wypowiadają groźby jak stąd do nieskończoności …. by po chwili ochłonąć i wypić piwo ze swoim wrogiem numer 1 z dnia wczorajszego.
Prawo do darowania kary i prawo do przebaczenia to FUNDAMENT wolnej woli każdego żywego stworzenia na Ziemi … to po prostu implikacja odwrotna
2009-03-15 Koniec
Ostatnio zmieniony przez rafal3006 dnia Czw 18:44, 19 Mar 2009, w całości zmieniany 19 razy
|
|
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
|