Forum ŚFiNiA Strona Główna Ś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.
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Nieznane fundamenty algebry Boole'a (2009-02-01)

 
Napisz nowy temat   Odpowiedz do tematu    Forum ŚFiNiA Strona Główna -> Metodologia / Forum Kubusia
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
rafal3006
Opiekun Forum Kubusia



Dołączył: 30 Kwi 2006
Posty: 32546
Przeczytał: 41 tematów

Skąd: z innego Wszechświata
Płeć: Mężczyzna

PostWysłany: Wto 23:18, 27 Sty 2009    Temat postu: Nieznane fundamenty algebry Boole'a (2009-02-01)

Proste jest piękne

Aksjomat logików praktyków:
Jak logicznie myślimy, tak matematycznie zapisujemy. Mówimy „NIE” zapisujemy (~), mówimy „i” zapisujemy AND(*), mówimy “lub” zapisujemy OR(+), w implikacji mówimy “musi” zapisujemy ( =>), mówimy “może” zapisujemy (~>).


Nieznane fundamenty algebry Boole’a

Autor: Kubuś

Kubuś – wirtualny, Internetowy Miś


Ciąg dalszy:
Fundamenty algebry Boole'a - Implikacja

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 Stara definicja algebry Boole’a
1.2 Nowa definicja algebry Boole'a

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 Bramki logiczne
4.1 Bramka iloczynu logicznego
4.2 Bramka sumy logicznej
4.3 Bramka implikacji prostej
4.4 Bramka implikacji odwrotnej
4.5 Symboliczna definicja implikacji prostej
4.6 Symboliczna definicja implikacji odwrotnej

5.0 Prawa Kubusia, logika dodatnia i ujemna w implikacji
5.1 Operatorowa definicja implikacji prostej
5.2 Operatorowa definicja implikacji odwrotnej
5.3 Iloczyn kartezjański i funkcja w praktyce

6.0 Kwadrat logiczny implikacji
6.1 Istota implikacji
6.2 Różnica między implikacją a równoważnością

7.0 Aktualny stan logiki
7.1 Fałszywość praw kontrapozycji w implikacji



Wstęp

Algebra Boole’a jest nieprawdopodobnie prosta po zaakceptowaniu poprawnie rozumianej logiki dodatniej i ujemnej. W zdaniach twierdzących w logice dodatniej mamy odpowiedź kiedy mówimy prawdę zaś w logice ujemnej kiedy skłamiemy.

Jutro pójdę do kina i do teatru
Y=K*T - logika dodatnia bo Y niezanegowane
Dotrzymam słowa (Y) jeśli jutro pójdę do kina i do teatru

Przejście do logiki ujemnej poprzez negację zmiennych i odwrócenie operatorów
~Y = ~K+~T - logika ujemna bo Y zanegowane
Skłamię (~Y) jeśli jutro nie pójdę do kina lub nie pójdę do teatru

W implikacji w logice dodatniej mamy odpowiedź na pytanie co będzie jeśli warunek p zostanie spełniony, zaś w logice ujemnej co się stanie jeśli warunek p nie zostanie spełniony.

Jeśli ubrudzisz spodnie dostaniesz lanie
B~>L - implikacja odwrotna ~> bo groźba, logika dodatnia bo wyjście L niezanegowane

… a jak nie ubrudzę spodni ?

Prawo Kubusia:
B~>L = ~B=>~L - prawo zamiany implikacji odwrotnej ~> na implikację prostą =>

Jeśli nie ubrudzisz spodni to nie dostaniesz lania
~B=>~L - implikacja prosta => bo obietnica, logika ujemna bo wyjście L zanegowane

To wszystko. Problem algebry Boole’a w naturalnym języku mówionym sprowadzony został do poziomu przedszkolaka. Algebra Boole’a to logika człowieka wyssana z mlekiem matki.

Najważniejsze prawa algebry Boole’a:

Prawa de’Morgana - operatory AND i OR:
A*B = ~(~A+~B) - zamiana AND na OR
A+B = ~(~A*~B) - zamiana OR na AND

Prawa Kubusia - operatory implikacji prostej => i odwrotnej ~>:
p=>q = ~p~>~q - zamiana implikacji prostej => na odwrotną ~>
p~>q = ~p=>~q - zamiana implikacji odwrotnej ~> na prostą =>

Prawa kontrapozycji - równoważność <=>:
p=>q = ~q=>~p
q=>p = ~p=>~q
W równoważności powyższe prawa są równoważne bo tu jest obojętne co nazwiemy p a co q.



1.0 Notacja

1 = prawda
0 = fałsz
Twarda prawda - prawda zachodząca zawsze, bez żadnych wyjątków
Twardy fałsz - fałsz zachodzący 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

=> - operator implikacji prostej, w naturalnej logice człowieka spójnik "musi" między p i q
~> - operator implikacji odwrotnej, w naturalnej logice człowieka spójnik "może" między p i q

W naturalnej logice człowieka spójnik „musi” między p i q decyduje o tym iż jest to implikacja prosta, zaś spójnik „może” decyduje o tym iż jest to implikacja odwrotna.


1.1 Stara definicja algebry Boole’a

Stara definicja algebry Boole’a jest ślepa bo nie uwzględnia dwóch najważniejszych operatorów logiki wszelkich istot żywych: implikacji prostej => oraz implikacji odwrotnej ~>.

Stara definicja:
Algebra Boole'a jest to struktura matematyczna złożona z trzech działań binarnych:
+ - (lub, or, alternatywa)
* - (i, and, koniunkcja)
~ - (nie, not, przeczenie logiczne)
oraz wyróżnionych elementów 0 (fałsz), 1 (prawda).


1.2 Nowa definicja algebry Boole'a

Definicja:
Algebra Boole’a to algebra legalnych operatorów matematycznych oraz wyróżnionych elementów 1 (prawda), 0 (fałsz).

Lista operatorów logicznych

Kod:
p q  OR NOR  AND NAND  <=> XOR  => ->  ~> <-  FILL NOP  P NP  Q NQ
0 0  0   1    0   1     1   0   1  0    1  0   1    0   0 1   0 1
0 1  1   0    0   1     0   1   1  0    0  1   1    0   0 1   1 0
1 0  1   0    0   1     0   1   0  1    1  0   1    0   1 0   0 1
1 1  1   0    1   0     1   0   1  0    1  0   1    0   1 0   1 0


Kod:
Logika dodatnia    Logika ujemna

OR                 NOR
AND                NAND
<=>                XOR
=>                 ->
~>                 <-
FILL               NOP
P                  NP
Q                  NQ


Najważniejsze operatory logiczne to:
OR(+), AND(*), Implikacja prosta =>, Implikacja odwrotna ~>

Wszystkich możliwych operatorów logicznych jest 16 z czego człowiek zna poprawne znaczenie zaledwie sześciu: AND, NAND, OR, NOR, <=>, XOR.


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:
Kod:
A Y=~A
0 1
1 0


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 Bramki logiczne

Algebra Boole’a to algebra bramek logicznych. Wszystkie definicje algebry Boole’a mają swój odpowiednik w bramkach logicznych. Podstawowa bramka logiczna to układ cyfrowy z dwoma wejściami oznaczanymi w tej publikacji p i q oraz jednym wyjściem r (lub s). Na wejściach można ustawiać dowolne kombinacje zer i jedynek. Wyjście może przyjmować wartości wyłącznie 0 albo 1 zgodnie z realizowaną funkcją logiczną. Odwzorowanie musi być funkcją co oznacza, że tym samym sygnałom na wejściach p i q odpowiada zawsze ten sam sygnał na wyjściu r.


4.1 Bramka iloczynu logicznego

Bramka logiczna iloczynu logicznego AND(*):
Kod:

 p * q
 |   |
 |   |
-------
| AND |
|     |
-------
   |
   |
   r=p*q

Zero-jedynkowa definicja iloczynu logicznego:
Kod:

Tabela A
p q  r=p*q
1 1 =1
1 0 =0
0 0 =0
0 1 =0

Sprawdzenie czy w bramce AND można zamieniać sygnały na wejściu. W tabeli zero jedynkowej zamieniamy miejscami p i q po czym stosujemy operator AND(*).

Kod:

Tabela B
q p  s=q*p
1 1 =1
0 1 =0
0 0 =0
1 0 =0


Jak widać kolumna wynikowa w tabelach A i B jest identyczna co oznacza, że sygnały p i q na wejściu bramki AND są symetryczne i wolno je zamieniać.


4.2 Bramka sumy logicznej

Kod:

 p + q
 |   |
 |   |
-------
| OR  |
|     |
-------
   |
   |
   r=p+q

Tabela prawdy bramki logicznej OR(+):
Kod:

Tabela A
p q  r=p+q
1 1 =1
1 0 =1
0 0 =0
0 1 =1

Oczywiście właściwości bramki OR są identyczne jak bramki AND. Wolno zamieniać sygnały p iq na wejściu.


4.3 Bramka implikacji prostej

Kod:

 p=> q
 |   |
 O   |
-------
| OR  |
|     |
-------
   |
   |
   r=p=>q=~p+q

Kółko w linii p oznacza negator wbudowany w układ scalony, niedostępny dla świata zewnętrznego.

Tabela zero-jedynkowa implikacji prostej.
Kod:

Tabela A
p q  p=>q
1 1 =1
1 0 =0
0 0 =1
0 1 =1

Równanie opisujące powyższą tabelę najłatwiej uzyskać z drugiej linii sprowadzając sygnały do jedynki.
p*~q = ~(p=>q)
stąd:
p=>q = ~(p*~q) = ~p+q

W celu sprawdzenia czy w implikacji można zamieniać p i q, zamieniamy kolumny p i q miejscami.
Kod:

Tabela B
q p  q=>p
1 1 =1
0 1 =1
0 0 =1
1 0 =0

Różne kolumny wynikowe w tabelach A i B są dowodem, że w implikacji nie wolno zamieniać p i q miejscami. To jedyna informacja jaką uzyskaliśmy po przeprowadzeniu tego manewru.

Matematycznie tabele A i B są równoważne ponieważ funkcja => jest identyczna. W obu tabelach otrzymujemy na wyjściu zero wtedy i tylko wtedy gdy na podstawę wektora => podamy 1 zaś na strzałkę 0.


4.4 Bramka implikacji odwrotnej

Kod:

 p~> q
 |   |
 |   O
-------
| OR  |
|     |
-------
   |
   |
   r=p~>q=p+~q

Kółko w linii q oznacza negator wbudowany w układ scalony.

Tabela zero-jedynkowa implikacji odwrotnej.
Kod:

Tabela A
p q  p~>q
1 1 =1
1 0 =1
0 0 =1
0 1 =0

Równanie opisujące powyższą tabelę najłatwiej uzyskać z ostatniej linii sprowadzając sygnały do jedynki.
~p*q = ~(p~>q)
stąd:
p~>q = ~(~p*q) = p+~q

W celu sprawdzenia czy w implikacji można zamieniać p i q, zamieniamy kolumny p i q miejscami.
Kod:

Tabela B
q p  q~>p
1 1 =1
0 1 =0
0 0 =1
1 0 =1

Różne kolumny wynikowe w tabelach A i B są dowodem, że w implikacji nie wolno zamieniać p i q miejscami. To jedyna informacja jaką uzyskaliśmy po przeprowadzeniu tego manewru.

Matematycznie tabele A i B są równoważne ponieważ funkcja ~> jest identyczna. W obu tabelach otrzymujemy na wyjściu zero wtedy i tylko wtedy gdy na podstawę wektora ~> podamy 0 zaś na strzałkę 1.

Z ostatnich dwóch punktów wynika że:
p=>q # p~>q
bo to dwie fundamentalnie różne definicje zero-jedynkowe.

To samo wynika z równań algebry Boole’a.

Definicja implikacji prostej:
p=>q = ~p+q
Definicja implikacji odwrotnej:
p~>q = p+~q
stąd:
p=>q # p~>q
bo prawe strony równań są różne.


4.5 Symboliczna definicja implikacji prostej

Zero-jedynkowa definicja implikacji prostej.
Kod:

Tabela A
p q  p=>q
1 1 =1
1 0 =0
0 0 =1
0 1 =1

p=>q = ~p+q

Symboliczna definicja implikacji prostej.
Przyjmujemy:
p=1, ~p=0
q=1, ~q=0
Kod:

Tabela B
 p  q  p=>q
 p  q =1
 p ~q =0
~p ~q =1
~p  q =1

Definicją słowną implikacji zawsze budujemy dla p i dowolnego q, czyli wynika ona z pierwszych dwóch linii tabeli.

Jeśli zajdzie p to „musi” => zajść q, bo druga linia jest twardym fałszem i nie ma prawa wystąpić
p=>q
p musi być warunkiem wystarczającym dla q, inaczej pierwsza linia jest fałszem, definicja leży w gruzach.
gdzie:
=> - operator implikacji prostej, spójnik „musi” między p i q
p - poprzednik implikacji, zawsze po „Jeśli…”
q - następnik implikacji, zawsze po „to…”

W implikacji po stwierdzeniu warunku wystarczającego w stronę p=>q należy wykluczyć równoważność czyli najprościej stwierdzić czy nie zachodzi warunek wystarczający w drugą stronę q=>p. Jeśli w stronę q=>p zachodzi warunek wystarczający to mamy do czynienia z równoważnością, funkcją fundamentalnie różną od implikacji prostej.

Z ostatnich dwóch linii tabeli widać że:
Jeśli zajdzie ~p to może zajść ~q
~p~>~q
LUB
Jeśli zajdzie ~p to może zajść q
~p~>q
gdzie:
~> - operator implikacji odwrotnej, spójnik „może” ~> między p i q

Jedynki w implikacji prostej oznaczają, że dla nieskończonej ilości losowań wszystkie pudełka ustawione przy liniach będą pełne z wyjątkiem linii 2.

Zauważmy, że linie w definicji implikacji prostej można dowolnie pomieszać na przykład tak.
Kod:

Tabela C
 p  q  p=>q
~p  q =1
 p ~q =0
~p ~q =1
 p  q =1
 

Nie ma to żadnego wpływu na analizę słowną implikacji prostej jak wyżej.

Przykład:
Jeśli liczba jest podzielna przez 8 to jest podzielna przez 2
P8=>P2
P8 jest wystarczające dla P2


4.6 Symboliczna definicja implikacji odwrotnej

Tabela zero-jedynkowa implikacji odwrotnej.
Kod:

Tabela A
p q  p~>q
1 1 =1
1 0 =1
0 0 =1
0 1 =0

p~>q = p+~q

Tabela symboliczna implikacji odwrotnej.
Kod:

Tabela B
p  q  p=>q
 p  q =1
 p ~q =1
~p ~q =1
~p  q =0

Definicję słowna implikacji tworzymy dla p i dowolnego q, czyli dla pierwszych dwóch linii tabeli.

Jeśli zajdzie p to może ~> zajść q
p~>q=1
LUB
Jeśli zajdzie p to może zajść ~q
p~>~q
Druga linia wynika z pierwszej i jest zbędna

Definicja implikacji odwrotnej:
Jeśli zajdzie p to może ~> zajść q
p~>q=1
p musi być warunkiem koniecznym dla q, inaczej pierwsza linia jest twardym fałszem, nie jest to implikacja odwrotna.
gdzie:
~> - operator implikacji odwrotnej, spójnik „może” ~> między p i q
p - poprzednik implikacji, zawsze po „Jeśli…”
q - następnik implikacji, zawsze po „to…”

Jeśli p jest warunkiem koniecznym dla q, to zajście ~p wymusi zajście ~q, mówią o tym dwie ostatnie linie tabeli symbolicznej.
~p=>~q=1 - twarda jedynka
stąd:
~p=>q=0

Zauważmy, że jeśli stwierdzimy warunek konieczny w implikacji p~>q to na pewno jest to implikacja odwrotna. W drugą stronę q=>p na pewno zachodzi wówczas warunek wystarczający. Inna sytuacja jest fizycznie niemożliwa do zaistnienia.

Implikację prostą od odwrotnej rozpoznajemy po użytym spójniku między p i q.

Implikacja prosta:
Jeśli zwierzę jest psem to „na pewno” => ma cztery łapy
P=>4L - implikacja prosta bo operator „na pewno” =>
Bycie psem jest warunkiem wystarczającym dla czterech łap
Operator „na pewno” => jest w języku mówionym domyślny, dlatego często pomijany

Implikacja odwrotna:
Jeśli zwierzę ma cztery łapy to „może” być psem
4L~>P - implikacja odwrotna bo operator „może” ~>
Cztery łapy są konieczne aby być psem
Operator „może” jest zawsze jawny, wyjątkiem są tu groźby. Ukryty w groźbach operator „może” nie prowadzi do niejednoznaczności gdyż groźbę od obietnicy musi rozróżniać wszystko co żyje, to warunek przetrwania.


5.0 Prawa Kubusia, logika dodatnia i ujemna w implikacji

Prawa Kubusia mówią o matematycznych związkach implikacji prostej z implikacją odwrotną.

p=>q = ~p~>~q - prawo zamiany implikacji prostej => na odwrotną ~>
p~>q = ~p=>~q - prawo zamiany implikacji odwrotnej ~> na prostą =>

Definicja.
Implikacja jest zapisana w logice dodatniej jeśli wyjście q jest niezanegowane.
Implikacja jest zapisana w logice ujemnej jeśli wyjście q jest zanegowane.

Człowiek praktycznie zawsze jako pierwszą wypowiada implikację w logice dodatniej. Implikacja w logice ujemnej jest odpowiedzią na pytanie co będzie jeśli nie zajdzie p.

Przykład:
Jeśli ubrudzisz spodnie dostaniesz lanie
B~>L - groźba w logice dodatniej, logika dodatnia bo L

… a jak nie ubrudzę ?
B~>L = ~B=>~L - prawo zamiany implikacji odwrotnej ~> na prostą =>

Jeśli nie ubrudzisz spodni to nie dostaniesz lania
~B=>~L - równoważna obietnica w logice ujemnej bo ~L

Trudno sobie wyobrazić zdrowego na umyśle człowieka, który jako pierwszą wypowie implikację w logice ujemnej.


5.1 Operatorowa definicja implikacji prostej

Prawo Kubusia:
p=>q = ~p~>~q - prawo zamiany implikacji prostej na odwrotną

Zero-jedynkowa tabela Kubusia, dowód prawa Kubusia.
Kod:

Tabela A
p q  p=>q ~p ~q ~p~>~q
1 1 =1     0  0 =1
1 0 =0     0  1 =0
0 0 =1     1  1 =1
0 1 =1     1  0 =1

Doskonale widać że:
p=>q = ~p~>~q
bo linie wynikowe sa identyczne.

Symboliczna tabela Kubusia.
Kod:

Tabela B
 p  q  p=>q  ~p ~q ~p~>~q
 p  q =1      0  0 =1
 p ~q =0      0  1 =0
 0  0 =1     ~p ~q =1
 0  1 =1     ~p  q =1

p=>q = ~p~>~q

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 (p=>q) przyjmujemy:
1=p, 0=~p
1=q, 0=~q
W tabeli dla logiki ujemnej (~p~>~q) przyjmujemy:
1=~p, 0=p
1=~q, 0=q

O logice dodatniej (q) czy ujemnej (~q) decydują implikacje czyli w powyższej tabeli zdania 1 (implikacja prosta) oraz 3 (implikacja odwrotna). Zdania 2 i 4 wynikają ze zdań implikacyjnych i same jako takie nie są implikacjami bo warunek wystarczający/konieczny nie jest tu spełniony.

W tabeli B widać, że jeśli spełniony jest warunek p to implikację obsługuje bramka implikacji prostej =>, zaś jeśli warunek p nie jest spełniony to implikacja jest obsługiwana przez bramkę implikacji odwrotnej ~>.

Z powyższej tabeli wynika operatorowa definicja implikacji prostej.
Kod:

Tabela C
p=> q =1
p=>~q =0

Prawo Kubusia:
p=>q = ~p~>~q
~p~>~q =1
LUB
~p~> q =1


Operatorowa definicja implikacji prostej jest bezkonkurencyjna w analizie wszelkich implikacji prostych ponieważ umożliwia analizę zdań w naturalnym języku mówionym.

Przykład:
Jeśli liczba jest podzielna przez 8 to jest podzielna przez 2
P8=>P2 =1 - twarda prawda dla 8,16,24…
P8 jest wystarczające dla P2, implikacja prosta poprawna
P8=>~P2 =0 - twardy fałsz, pudełko zawsze puste

Prawo Kubusia:
P8=>P2 = ~P8~>~P2
Jeśli liczba nie jest podzielna przez 8 to może ~> być niepodzielna przez 2
~P8~>~P2 =1 - dla 1,3,5…, miękka prawda
LUB
Jeśli liczba nie jest podzielna przez 8 to może ~> być podzielna przez 2
~P8~>P2 =1 - dla 2,4,6…, miękka prawda

Jak widać, jeśli zajdzie ~P8 to może zajść cokolwiek ~P2 lub P2
Miękka prawda - może zajść ale nie musi
czyli:
~P8=>~P2+P2 =1 - tautologia

Istota implikacji jest gwarancja matematyczna którą z definicji jest sama definicja implikacji prostej.


5.2 Operatorowa definicja implikacji odwrotnej

Prawo Kubusia:
p~>q = ~p=>~q - prawo zamiany implikacji odwrotnej na prostą

Zero-jedynkowa tabela Kubusia, dowód prawa Kubusia.
Kod:

Tabela A
p q  p~>q ~p ~q ~p=>~q
1 1 =1     0  0 =1
1 0 =1     0  1 =1
0 0 =1     1  1 =1
0 1 =0     1  0 =0

Doskonale widać że:
p~>q = ~p=>~q
bo linie wynikowe sa identyczne.

Symboliczna tabela Kubusia.
Kod:

Tabela B
 p  q  p~>q  ~p ~q ~p=>~q
 p  q =1      0  0 =1
 p ~q =1      0  1 =1
 0  0 =1     ~p ~q =1
 0  1 =0     ~p  q =0

p~>q = ~p=>~q

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 (p~>q) przyjmujemy:
1=p, 0=~p
1=q, 0=~q
W tabeli dla logiki ujemnej (~p=>~q) przyjmujemy:
1=~p, 0=p
1=~q, 0=q

O logice dodatniej (q) czy ujemnej (~q) decydują implikacje czyli w powyższej tabeli zdania 1 (implikacja odwrotna) oraz 3 (implikacja prosta). Zdania 2 i 4 wynikają ze zdań implikacyjnych i same jako takie nie są implikacjami bo warunek wystarczający/konieczny nie jest tu spełniony.

W tabeli B widać, że jeśli spełniony jest warunek p to implikację obsługuje bramka implikacji odwrotnej ~>, zaś jeśli warunek p nie jest spełniony to implikacja jest obsługiwana przez bramkę implikacji prostej =>.

Z powyższej tabeli wynika operatorowa definicja implikacji odwrotnej.
Kod:

Tabela C
p~> q =1
LUB
p~>~q =1

Prawo Kubusia:
p~>q = ~p=>~q
~p=>~q =1
~p=> q =0


Operatorowa definicja implikacji odwrotnej jest bezkonkurencyjna w analizie wszelkich implikacji odwrotnych ponieważ umożliwia analizę zdań w naturalnym języku mówionym.

Przykład:
Jeśli liczba jest podzielna przez 2 to może ~> być podzielna przez 8
P2~>P8 =1 - dla 8,16,24…, miękka prawda
P2 jest konieczne dla P8, implikacja odwrotna poprawna
LUB
Jeśli liczba jest podzielna przez 2 to może ~> być niepodzielna przez 8
P2~>~P8 =1 - dla 2,4,6…, miękka prawda

Prawo Kubusia:
P2~>P8 = ~P2=>~P8
Jeśli liczba nie jest podzielna przez 2 to na pewno => nie jest podzielna przez 8
~P2=>~P8 =1 - twarda prawda dla 1,3,5…
~P2=>P8 =0 - twardy fałsz, to pudełko będzie zawsze puste

Istota implikacji jest gwarancja matematyczna którą z definicji jest sama definicja implikacji prostej. Gwarancja w implikacji odwrotnej wynika z prawa Kubusia.


5.3 Iloczyn kartezjański i funkcja w praktyce

Przeanalizujmy matematycznie zdanie:

Jeśli zwierzę ma cztery łapy to może być psem
4L~>P
p=4L
q=P
Implikacja odwrotna prawdziwa bo 4 łapy są konieczne dla psa

Symboliczna definicja implikacji odwrotnej:

Kod:
 p  q  p~>q
 p  q =1
 p ~q =1
~p ~q =1
~p  q =0

Oczywiście logika dodatnia czyli:
p=1, ~p=0
q=1, ~q=0

gdzie:
p i q to parametry formalne w miejsce których dla konkretnego przykładu podstawiamy parametry aktualne (cecha języka asemblera znana programistom).

Dla naszego przykładu mamy parametry aktualne:
p=4L
q=P

Podstawiamy to do tabeli symbolicznej otrzymując:

Kod:
Tabela A
 4L  P =1
 4L ~P =1
~4L ~P =1
~4L  P =0

Zgodnie z właściwością iloczynu kartezjańskiego i pojęciem funkcji linie w powyższej tabeli możemy sobie dowolnie poprzestawiać lub analizować w dowolnej kolejności, co na jedno wychodzi.

Zachowajmy jednak kolejność z powyższej tabeli bo dla implikacji odwrotnej jest ona optymalna.

Rozszyfrowujemy zapis symboliczny zgodnie z zasadą jak widzimy tak zapisujemy.

4L P =1 - bo pies
Jeśli zwierzę ma 4 łapy to może być psem
4L~>P =1 - bo kolejna linia również jest prawdą
LUB
4L ~P =1 - bo kura
Jeśli zwierzę ma 4 łapy to może nie być psem
4L~>~P =1

~4L ~P =1 - twarda prawda, oczywistość
Jeśli zwierzę nie ma 4 łap to na pewno => nie jest psem
~4L=>~P =1 - twarda prawda bo ostatnia linia jest twardym fałszem

~4L P =0 - twardy fałsz wynikający z twardej prawdy wyżej
Jeśli zwierzę nie ma 4 łap to na pewno => jest psem
~4L=>P =0 - oczywistość

Wypowiedzmy teraz takie zdanie:

Jeśli zwierzę nie ma czterech łap to nie jest psem
~4L=>~P
p=~4L
q=~P
Implikacja prosta prawdziwa bo brak czterech łap jest warunkiem wystarczającym dla nie bycia psem

Oczywiście, możemy tu skorzystać z prawa Kubusia:
~4L=>~P = 4L~>P - prawo zamiany implikacji prostej => na odwrotną ~>

Zdanie 4L~>P mamy przeanalizowane wyżej zatem nic nie musimy robić bo analiza będzie identyczna. Bądźmy jednak ambitni i udowodnijmy to na tym przykładzie.

Definicja symboliczna implikacji prostej:

Kod:
 p  q  p=>q
 p  q =1
 p ~q =0
~p ~q =1
~p  q =1

Logika dodatnia czyli:
p=1, ~p=0
q=1, ~q=0

W miejsce parametrów formalnych p i q w powyższej tabeli wstawiamy parametry aktualne czyli:
p=~4L
q=~p

Mamy zatem tabelę:

Kod:
 (~4L)  (~P) =1
 (~4L) ~(~P) =0
~(~4L) ~(~P) =1
~(~4L)  (~P) =1


Opuszczamy nawiasy korzystając z prawa podwójnego przeczenia A=~(~A):

Kod:
~4L ~P =1
~4L  P =0
 4L  P =1
 4L ~P =1


Tym razem skorzystajmy z prawa zamiany dowolnych linii na co pozwala definicja iloczynu kartezjańskiego i funkcji. Zamieńmy dwie pierwsze linie z dwoma ostatnimi.

Kod:
Tabela B
 4L  P =1
 4L ~P =1
~4L ~P =1
~4L  P =0


Porównajmy tabele A i B wyżej. Widać, że są identyczne zatem analiza matematyczna również będzie identyczna zgodna z przeanalizowanym zdaniem wyżej 4L~>P.


6.0 Kwadrat logiczny implikacji

W naturalnym języku mówionym po „Jeśli …” zawsze występuje poprzednik implikacji p zaś po „to…” zawsze mamy na następnik q niezależnie od tego czy jest to implikacja prosta, implikacja odwrotna czy też równoważność (częsta w matematyce).

Kwadrat logiczny to operatorowa definicja implikacji prostej p=>q z lewej strony, oraz operatorowa definicja implikacji odwrotnej p~>q z prawej strony. Prawe strony równań uzyskano korzystając z definicji implikacji prostej i odwrotnej.

p=>q = ~p+q - definicja implikacji prostej
p~>q = p+~q - definicja implikacji odwrotnej
Kod:

A1:  p=>q = ~p+q            A2:  p~>q = p+~q
W.Wystarczający             W.Konieczny
B1:  p=>~q = ~p+~q          B2:  p~>~q = p+q

C1: ~p~>~q = ~p+q           C2: ~p=>~q = p+~q
W.Konieczny                 W.Wystarczający
D1: ~p~>q = ~p+~q           D2: ~p=>q = p+q

W pionach mamy dwa niezależne układy implikacyjne pomiędzy którymi nie zachodzą żadne zależności matematyczne. Doskonale widać prawa Kubusia zachodzące w pionach. Identyczność prawych stron jest równoznaczna z identycznością odpowiednich tabel zero-jedynkowych.

O tym czy mamy do czynienia z implikacją prostą p=>q, implikacją odwrotną p~>q, czy też równoważnością p<=>q decyduje zawartość spójnika „Jeśli…to…”

Zauważmy, że w przypadku równoważności będziemy mieli do czynienia z pewnym wynikaniem prostym w liniach A1 i C1 czyli:

p<=>q = (p=>q)*(~p=>~q) = 1*1 =1 - na podstawie definicji równoważności
Przykład:
Jeśli trójkąt ma kąty równe to jest równoboczny
K60<=>R = (K60=>R)*(~K60=>~R) = 1*1 =1 - twarda prawda w obu przypadkach = równoważność

Implikacja jest implikacją odwrotną jeśli w linii A2 zachodzi warunek konieczności.
Przykład:
Jeśli zwierzę ma cztery łapy to może być psem
4L~>P
Cztery łapy są warunkiem koniecznym dla psa.

Ogólnie, jeśli wykluczymy równoważność to w przedstawionym kwadracie logiki wystarczy udowodnić że zachodzi dowolny z warunków wystarczających (A1,C2) lub koniecznych (A2,C1) aby mieć pewność poprawności wszystkich implikacji w kwadracie logicznym.


6.1 Istota implikacji

Istotą implikacji jest gwarancja matematyczna która z definicji jest operator implikacji prostej =>

Implikacja prosta:
Jeśli liczba jest podzielna przez 8 to jest podzielna przez 2
P8=>P2
Gwarancja:
A.
Liczby 8,16,24… na pewno są podzielne przez 2

Po zamianie p i q wyżej otrzymujemy poprawna implikacje odwrotną.

Implikacja odwrotna:
Jeśli liczba jest podzielna przez 2 to może być podzielna przez 8
P2~>P8

Gwarancja w implikacji odwrotnej wynika z prawa Kubusia.
P2~>P8 = ~P2=>~P8

Jeśli liczba nie jest podzielna przez 2 to na pewno nie jest podzielna przez 8
~P2=>~P8
Gwarancja:
B.
Liczby 1,3,5… na pewno nie są podzielne ani przez 2, ani też przez 8

Powyższe gwarancje nie są równoważne, ponieważ negując ciąg A nie otrzymamy ciągu B i odwrotnie.

Zbudujmy kwadrat logiczny dla tego konkretnego przykładu.

Kod:

A1:  P8=>P2 = ~(P8*~P2)     A2:  P2~>P8 = ~(~P2*P8)
W.Wystarczający             W.Konieczny

C1: ~P8~>~P2 = ~(P8*~P2)    C2: ~P2=>~P8 = ~(~P2*P8)
W.Konieczny                 W.Wystarczający

Teoretycznie wszystkie gwarancje są równoważne bowiem iloczyn logiczny dopuszcza przemienność, jednak w implikacji zachodzi:
~(P8*~P2) # ~(~P2*P8)

W implikacji przemienność jest zabroniona bowiem gwarancja z lewej strony kwadratu logicznego nie jest równa gwarancji z prawej strony.

Gwarancja dla lewej strony kwadratu logicznego:
~(P8*~P2)
Nie może się zdarzyć, że liczba jest podzielna przez 8 i nie jest podzielna przez 2
Czyli:
P8=>P2
Jeśli liczba jest podzielna przez 8 to na pewno jest podzielna przez 2
Gwarancja:
Liczby 8,16,24… na pewno sa podzielne przez 2

Gwarancja dla prawej strony kwadratu logicznego:
~(~P2*P8)
Nie może się zdarzyć, że liczba nie jest podzielna przez 2 i jest podzielna przez 8
Czyli:
~P2=>~P8
Jeśli liczba nie jest podzielna przez 2 to na pewno nie jest podzielna przez 8
Gwarancja:
Liczby 1,3,5… na pewno nie są podzielne ani przez 2, ani tez przez 8


6.2 Różnica między implikacją a równoważnością

Implikacja to coś fundamentalnie innego niż równoważność.

Definicja implikacji prostej:
p q p=>q
1 1 =1 - twarda prawda
1 0 =0
0 0 =1 - miękka prawda
0 1 =1 - miękka prawda

Definicja równoważnosci:
p q p<=>q
1 1 =1 - twarda prawda
1 0 =0
0 0 =1 - twarda prawda
0 1 =0

W implikacji mamy zawsze jedną twardą prawdę i dwie miękkie czyli mogą zajść ale nie muszą. Nigdy nie wiemy która z prawd miękkich zajdzie dla danego przypadku, możemy sobie rzucać monetą. Jeśli dla konkretnego przypadku zajdzie prawda miękka to druga będzie automatycznie miękkim fałszem.

Przykład:
Jeśli zwierzę jest psem to ma cztery łapy
P=>4L =1 - twarda prawda dla psa

Nigdy nie wiemy co wyciągniemy z worka, możemy wylosować psa albo nie psa. Jeśli wylosujemy psa to mamy twardą prawdę zgodnie ze zdaniem wyżej. Pozostałe zdania w implikacji będą dla tego przypadku fałszem.

Możemy jednak wylosować „nie psa” czyli:

Jeśli zwierzę nie jest psem to może nie mieć czterech łap
A.
~P~>~4L =1 - miękka prawda bo kura…
LUB
Jeśli zwierzę nie jest psem to może mieć cztery łapy
B.
~P~>4L =1 - miękka prawda bo kot …

Żadne zwierzę nie może być jednocześnie kotem i kurą. Jeśli wylosujemy kurę to zdanie A będzie dla tego przypadku prawdą, pozostałe fałszem. Jeśli kota to zdanie B będzie prawdą, pozostałe fałszem.

Dla nieskończonej ilości losowań wszystkie pudełka będą na 100% pełne za wyjątkiem twardego fałszu:
Jeśli zwierzę jest psem to na pewno => nie ma czterech łap
P=>~4L=0
To pudełko będzie zawsze puste bez względu na ilość losowań. Stąd w definicji implikacji mamy jedną twardą prawdę (zachodzi zawsze) i dwie miękkie.

W implikacji znamy zdanie na pewno prawdziwe i na pewno fałszywe, o dwóch pozostałych nic nie możemy powiedzieć … i tym różni się implikacja od równoważności.

W równoważności z góry znamy wartości logiczne wszystkich czterech zdań - mamy tu dwie twarde prawdy i wynikające z nich dwa twarde fałsze, zgodnie z tabelą równoważności wyżej.


7.0 Najważniejsze prawa algebry Boole’a

Prawa de’Morgana - operatory AND i OR:
A*B = ~(~A+~B) - zamiana AND na OR
A+B = ~(~A*~B) - zamiana OR na AND
Oba powyższe prawa są prawdziwe.

Prawa Kubusia - operatory implikacji prostej => i odwrotnej ~>:
p=>q = ~p~>~q - zamiana implikacji prostej => na odwrotną ~>
p~>q = ~p=>~q - zamiana implikacji odwrotnej ~> na prostą =>
Powyższe prawa są prawdziwe w implikacji i fałszywe w równoważności.

Prawa kontrapozycji - równoważność <=>:
p=>q = ~q=>~p
q=>p = ~p=>~q
W równoważności powyższe prawa są równoważne bo tu jest obojętne co nazwiemy p a co q.
Powyższe prawa są prawdziwe w równoważności i fałszywe w implikacji.

Logika nie buduje praw matematycznych dla fałszu. Implikacja i równoważność to fundamentalnie różne funkcje logiczne. Prawdziwości obu praw kontrapozycji w równoważności na pewno nikt nie zaprzeczy. Nie mogą te same prawa matematyczne obowiązywać zarówno w równoważności jak i implikacji, to bzdura.


7.0 Aktualny stan logiki

Dzisiejsza logika nie zna fundamentalnych praw matematycznych dotyczących implikacji. Znane logikom prawa kontrapozycji to fundamentalnie co innego.

Prawa Kubusia obowiązujące wyłącznie w implikacji:
p=>q = ~p~>~q - prawo zamiany implikacji prostej => na implikację odwrotną ~>
p~>q = ~p=>~q - prawo zamiany implikacji odwrotnej ~> na implikację prostą =>

Powyższe prawa obowiązują w całej algebrze Boole’a bez żadnych wyjątków. Prawa Kubusia są ścisłym odpowiednikiem praw de’Morgana w operatorach AND i OR. Szczególnym przypadkiem zastosowania tych praw jest matematyczna obsługa gróźb i obietnic (szczegóły w podpisie). Człowiek to obiekt fizyczny, matematyka pełni tu rolę służebną.

Matematycznie:
obietnica = implikacja prosta
groźba = implikacja odwrotna

Definicja obietnicy:
Jeśli dowolny warunek to nagroda
W=>N
Implikacja prosta bo dobrowolnych obietnic należy dotrzymywać

Definicja groźby:
Jeśli dowolny warunek to kara
W~>K
Implikacja odwrotna bo nadawca ma prawo do darowania dowolnej kary, inaczej jego wolna wola leży w gruzach.


7.1 Fałszywość praw kontrapozycji w implikacji

Dzisiejsza logika opisuje IMPLIKACJĘ wyłącznie przy pomocy operatora „musi” =>, co jest fundamentalnym błędem bowiem jeśli w jedną stronę zachodzi warunek wystarczający (=>) p=>q, to w druga stronę musi zachodzić warunek konieczny (~>) q~>p.

Prawa kontrapozycji:
1.
p=>q = ~q=>~p
2.
q=>p = ~p=>~q

Jeśli prawa kontrapozycji mają dotyczyć implikacji to wobec jedynie słusznego operatora =>, musimy przyjąć jakiś punkt odniesienia, inaczej matematyka nie będzie jednoznaczna. W powyższym przypadku punktem odniesienia jest równanie 1, precyzyjnie definiujące co jest poprzednikiem implikacji p a co jest następnikiem q.

Punkt odniesienia:
Jeśli zajdzie p to „musi” => zajść q
p=>q

Prawo 2 dotyczy ustalonego wyżej punktu odniesienia i jest błędne już na starcie.

Po zamianie p i q i próbie zastosowania prawa 2 już w pierwszym kroku mamy twardy fałsz.
q=>p - w implikacji to zdanie jest zawsze fałszywe

Całe prawo 2 jest zatem w implikacji bezsensem bo nie buduje się praw matematycznych dla fałszu.

Przykład:
Jeśli liczba jest podzielna przez 8 to jest podzielna przez 2
P8=>P2
Ustalamy sztywno:
p=P8
q=P2
… i stosujemy drugie prawo kontrapozycji.
q=>p
czyli:
P2=>P8
Jeśli liczba jest podzielna przez 2 to na pewno => jest podzielna przez 8
P2=>P8 - twardy fałsz bo 2

Prawa kontrapozycji są poprawne jedynie w równoważności. W matematyce działają poprawnie bo praktycznie wszystkie twierdzenia matematyczne to równoważności. Równoważność w świecie żywych praktycznie nie występuje, dlatego poza matematyką mamy chaos i fałszywy slogan logików „Logika człowieka nie istnieje”.

O beznadziejności dzisiejszej logiki w naturalnym języku mówionym można poczytać tu:
[link widoczny dla zalogowanych]

Koniec 2009-02-01


Ostatnio zmieniony przez rafal3006 dnia Pon 19:56, 02 Lut 2009, w całości zmieniany 33 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
rafal3006
Opiekun Forum Kubusia



Dołączył: 30 Kwi 2006
Posty: 32546
Przeczytał: 41 tematów

Skąd: z innego Wszechświata
Płeć: Mężczyzna

PostWysłany: Nie 16:27, 01 Lut 2009    Temat postu:

Koniec 2009-02-01
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum ŚFiNiA Strona Główna -> Metodologia / Forum Kubusia Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
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
Regulamin