norwimaj pisze:
rafal3006 pisze:
W świecie techniki bez problemu mogę wymusić, aby dowolna zmienna była równa \(\displaystyle{ 1}\) albo \(\displaystyle{ 0}\).
To prawda, ale nie tego dotyczyło zadanie. Jeśli już chcesz to rozwiązywać w oparciu o algebry L-T, to musi to być algebra
\(\displaystyle{ B(\emptyset)}\), a nie
\(\displaystyle{ B(\{\neg q\})}\), bo inaczej używasz nie tylko implikacji, ale też negacji.
Widzę że zupełnie nie rozumiesz rachunku zdań. Klocki, z których się buduje formuły rachunku zdań, to zmienne zdaniowe i spójniki. Nie ma żadnego "podłączania jakiejś zmiennej do zera".
Weźmy zadanie podobne:
Udowodnij że dysponując wyłącznie operatorem NOR albo NAND można zbudować dowolny operator logiczny.
Dowód:
Definicja operatora NAND:
\(\displaystyle{ Y= \neg (p*q) = \neg p+ \neg q}\)
Definicja operatora NOR:
\(\displaystyle{ Y= \neg (p+q) = \neg p* \neg q}\)
Fundamentem dowodu jest dowód, iż z tych definicji da się wyprowadzić definicję operatora negacji.
Zajmijmy się NAND (w NOR będzie analogicznie)
Definicja operatora NAND:
\(\displaystyle{ Y= \neg (p*q) = \neg p+ \neg q}\)
Jak wyprowadzić operator negacji?
Można to zrobić na wiele sposobów:
1.
\(\displaystyle{ Y= \neg (p*q)}\)
Zwieramy wejścia
\(\displaystyle{ p}\) i
\(\displaystyle{ q}\) i mamy operator negacji:
\(\displaystyle{ Y = \neg r}\)
2.
Wymuszamy
\(\displaystyle{ q=1}\) i mamy operator negacji:
\(\displaystyle{ Y= \neg (p*q) = \neg (p*1) = \neg p}\)
3.
\(\displaystyle{ Y= \neg p+ \neg q}\)
Ustawiamy:
\(\displaystyle{ \neg q=0}\)
i mamy operator negacji:
\(\displaystyle{ Y= \neg p + 0 = \neg p}\)
Mając operator negacji plus definicję NAND (NOR) mamy wyżej wszystko, możemy zbudować dowolny operator logiczny.
Oczywiście nie może być tak że którykolwiek z dowodów w bramkach logicznych wyżej (to jest świat rzeczywisty!) obalisz jakimś tam rachunkiem zdań.
Twój zarzut że nie wolno mi tutaj używać operatora negacji jest chybiony, bo ten operator uzyskaliśmy z samej bramki NAND, której oczywiście wolno nam użyć w dowolnych ilościach.
Czy zgadzasz się z powyższym?
P.S.
norwimaj pisze:
W przypadku tak prostego zadania można chyba cały dowód przytoczyć?
Pełny dowód dla zadania A oczywiście mam, ale najpierw chcę się dowiedzieć czy rozumiesz i akceptujesz to co wyżej.
-- 17 lutego 2013, 14:30 --
Kod: Zaznacz cały
http://www.sfinia.fora.pl/metodologia,12/algebra-kubusia-logika-czlowieka,6474.html#185474
Temat:
Rzeczywista budowa operatorów OR i AND
… jest fundamentalnie inna niż to się Ziemianom wydaje.
norwimaj pisze:
W przypadku tak prostego zadania można chyba cały dowód przytoczyć? Moim zdaniem nie wystarczy napisać, że dowód jest dziecinnie prosty i masz ten dowód gdzieś. Taka informacja jest bezużyteczna dla osoby chcącej zobaczyć rozwiązanie zadania. Chociaż link do dowodu wypada podać.
ok.
martin_bar pisze:a)
Udowodnij, że za pomocą alternatywy i koniunkcji nie można zdefiniować implikacji.
Wstęp teoretyczny:
We „Wstępie do matematyki”
Kod: Zaznacz cały
http://www.math.uni.wroc.pl/~newelski/dydaktyka/wdm-A/skrypt3/skrypt/node3.html
znajduje się dowód iż matematycy znają algorytm przejścia z dowolnej tabeli zero-jedynkowej do równoważnych równań logicznych opisujących tą tabelę.
Fundamentem algorytmu [url=http://www.math.uni.wroc.pl/~newelski/dydaktyka/wdm-A/skrypt3/skrypt/node3.html]
prof. Newelskiego z UWr (uwaga 2.7)[/url] są definicje spójników „i”(*) oraz „lub”(+) z naturalnego języka mówionego.
Definicje rodem z technicznej algebry Boole’a spójników „i”(*) i „lub”(+) są następujące.
Definicja spójnika „i” (*) - koniunkcji:
Iloczyn logiczny (spójnik „i”(*) ) n-zmiennych binarnych jest równy 1 wtedy i tylko wtedy gdy wszystkie zmienne są równe 1
\(\displaystyle{ Y = (A1*A2*...An)=1 \Leftrightarrow A1=1 i A2=1 i ... An=1}\)
Definicja spójnika „lub”(+) - alternatywy:
Suma logiczna (spójnik „lub”(+) ) n-zmiennych binarnych jest równa 1 wtedy i tylko wtedy gdy którakolwiek zmienna jest równa 1
\(\displaystyle{ Y = (A1+A2+...An)=1 \Leftrightarrow A1=1 lub A2=1 lub ... An=1}\)
W swoim algorytmie prof. Newelski musiał skorzystać i korzysta z najważniejszych praw algebry Boole’a:
\(\displaystyle{ p=0 \Leftrightarrow \neg p=1}\)
\(\displaystyle{ p=1 \Leftrightarrow \neg p=0}\)
Dlaczego te prawa są najważniejsze?
Bo człowiek w swojej naturalnej logice operuje wyłącznie równaniami algebry Boole’a, nigdy tabelami zero-jedynkowymi. Bez tych praw niemożliwy jest matematyczny opis naturalnej logiki człowieka, bo niemożliwe jest przejście z tabeli zero-jedynkowej do równań logicznych ja opisujących i z powrotem.
Wszelkie prawa logiczne opisane są równaniami algebry Boole’a, nigdy tabelami zero-jedynkowymi.
Wyłącznie w logice symbolicznej (równania algebry Boole’a) mamy dostęp do wszystkich praw logicznych i możemy z nich swobodnie korzystać np. prawo przejścia do logiki ujemnej i z powrotem.
Dlaczego nie ma tych praw w żadnym podręczniku matematyki i Wikipedii?
… oto jest pytanie.
Algorytm prof. Newelskiego poznamy na przykładzie operatora OR.
Zero-jedynkowa definicja operatora OR:
\(\displaystyle{ \begin{tabular}{rcl}
p & q & Y=p+q \\
A: 1 & 1 & 1 \\
B: 1 & 0 & 1 \\
C: 0 & 1 & 1 \\
D: 0 & 0 & 0 \\
1 & 2 & 3
\end{tabular}}\)
W algebrze Boole’a dla dowolnej tabeli zero-jedynkowej możemy ułożyć dwa podstawowe i nie tożsame równania algebry Boole’a, jedno opisujące wynikowe jedynki i drugie, opisujące wynikowe zera. Kompletny algorytm to zaledwie trzy kroki.
Równania algebry Boole’a opisujące wynikowe jedynki:
1.
Spis z natury:
\(\displaystyle{ A: Y=1 \Leftrightarrow p=1 i q=1}\)
lub
\(\displaystyle{ B: Y=1 \Leftrightarrow p=1 i q=0}\)
lub
\(\displaystyle{ C: Y=1 \Leftrightarrow p=0 i q=0}\)
2.
Korzystając z prawa algebry Boole’a:
\(\displaystyle{ p=0 \Leftrightarrow \neg p=1}\)
Jeśli
\(\displaystyle{ p=0}\) to
\(\displaystyle{ \neg p=1}\)
Sprowadzamy wszystkie zmienne do jedynek:
\(\displaystyle{ A: Y=1 \Leftrightarrow p=1 i q=1}\)
lub
\(\displaystyle{ B: Y=1 \Leftrightarrow p=1 i \neg q=1}\)
lub
\(\displaystyle{ C: Y=1 \Leftrightarrow \neg p=1 i \neg q=1}\)
3.
Stąd na podstawie definicji spójnika „i”(*) w poziomach i spójnika „lub”(+) w pionie mamy końcowe równanie algebry Boole’a opisujące powyższą tabelę zero-jedynkową:
\(\displaystyle{ Y = p*q + p* \neg q + \neg p* \neg q}\)
Oczywiście równanie to opisuje wyłącznie obszar ABC123 powyżej tabeli.
Dokładnie ten sam obszar ABC123 opisuje nagłówek tabeli:
\(\displaystyle{ Y=p+q}\)
na mocy definicji spójnika „lub”(+).
Stąd mamy tożsamość matematyczną:
\(\displaystyle{ Y = p+q}\)
\(\displaystyle{ Y = p*q + p* \neg q + \neg p* \neg q}\)
\(\displaystyle{ Y=Y}\)
stąd równoważna definicja spójnika „lub”(+):
ABC123:
\(\displaystyle{ Y = p+q = p*q + p* \neg q + \neg p* \neg q}\)
Powyższe równanie opisuje obszar ABC123.
Jeśli je zanegujemy dwustronnie korzystając z prawa przejścia do logiki przeciwnej:
Negujemy zmienne i wymieniamy spójniki na przeciwne
to otrzymamy równanie algebry Boole’a opisujące linię D123!
Algorytm Wuja Zbója:
1.
Uzupełniamy nawiasy i brakujące spójniki:
\(\displaystyle{ Y = p+q = (p*q) + (p* \neg q) + ( \neg p* \neg q)}\)
2.
Negujemy zmienne i wymieniamy spójniki na przeciwne
\(\displaystyle{ \neg Y = \neg p* \neg q = ( \neg p+ \neg q)*( \neg p+q)*(p+q)}\)
oczywiście równania ABC123 i D123 nie są tożsame.
W technice układów cyfrowych oznacza to że jeśli zbudujemy układy 1 i 2 w bramkach logicznych i połączymy wyjścia
\(\displaystyle{ Y}\) i
\(\displaystyle{ \neg Y}\) to zobaczymy kupę dymu i smrodu, wszystko wyleci w powietrze.
Równania algebry Boole’a opisujące wynikowe zera:
Zero-jedynkowa definicja operatora OR:
\(\displaystyle{ \begin{tabular}{rcl}
p & q & Y=p+q \\
A: 1 & 1 & 1 \\
B: 1 & 0 & 1 \\
C: 0 & 1 & 1 \\
D: 0 & 0 & 0 \\
1 & 2 & 3
\end{tabular}}\)
Postępujemy identycznie jak wyżej algorytmem prof. Newelskiego
1.
Spis z natury dla wynikowych zer (tu mamy tylko jedno w linii D123):
\(\displaystyle{ Y=0 \Leftrightarrow p=0 i q=0}\)
2.
Korzystając z prawa algebry Boole’a:
\(\displaystyle{ p=0 \Leftrightarrow \neg p=1}\)
Jeśli
\(\displaystyle{ p=0}\) to
\(\displaystyle{ \neg p=1}\)
Sprowadzamy wszystkie zmienne do jedynek:
\(\displaystyle{ \neg Y=1 \Leftrightarrow \neg p=1 i \neg q=1}\)
3.
Na mocy definicji spójnika „i”(*) mamy równanie końcowe opisujące linię D123:
\(\displaystyle{ \neg Y= \neg p* \neg q}\)
co matematycznie oznacza:
\(\displaystyle{ \neg Y=1 \Leftrightarrow \neg p=1 i \neg q=1}\)
Oczywiście, negując linię D123 musimy otrzymać definicje spójnika „lub”(+) w równaniu algebry Boole’a opisującą wyłącznie obszar ABC123.
Równanie opisujące linię D123:
\(\displaystyle{ \neg Y= \neg p* \neg q}\)
co matematycznie oznacza:
\(\displaystyle{ \neg Y=1 \Leftrightarrow \neg p=1 i \neg q=1}\)
Przejście do logiki przeciwnej
\(\displaystyle{ (Y)}\) poprzez negację zmiennych i wymianę spójników na przeciwne.
Równanie opisujące obszar ABC123:
\(\displaystyle{ Y=p+q}\)
co matematycznie oznacza:
\(\displaystyle{ Y=1 \Leftrightarrow p=1 lub q=1}\)
Nanieśmy nasze równania na definicję operatora OR:
\(\displaystyle{ \begin{tabular}{rcll}
p & q & Y=p+q \\
A: 1 & 1 & 1 & /Y=p*q \\
B: 1 & 0 & 1 & /Y=p* \neg q \\
C: 0 & 1 & 1 & /Y= \neg p * q\\
D: 0 & 0 & 0 & / \neg Y= \neg p * \neg q\\
1 & 2 & 3
\end{tabular}}\)
Użyteczną technikę tworzenia równania logicznego dla dowolnej linii w spójniku „i”(*) widać jak na dłoni.
Jeśli na wybranej pozycji mamy 1 to przepisujemy nagłówek kolumny.
Jeśli na wybranej pozycji mamy 0 to przepisujemy zanegowany nagłówek kolumny
Wniosek:
Kompletną tabelę zero-jedynkową operatora OR (wszystkie cztery linie) opisuje układ rówań logicznych:
\(\displaystyle{ A: Y=p+q}\)
\(\displaystyle{ B: \neg Y= \neg p* \neg q}\)
Związek logiki dodatniej
\(\displaystyle{ (Y)}\) i ujemnej
\(\displaystyle{ ( \neg Y)}\):
\(\displaystyle{ Y= \neg ( \neg Y)}\)
Podstawiając A i B mamy prawo De Morgana:
\(\displaystyle{ Y = p+q = \neg ( \neg p* \neg q)}\)
Dopiero to równanie opisuje kompletny operator OR, wszystkie cztery linie!
\(\displaystyle{ Y = p+q = \neg ( \neg p* \neg q)}\)
Dowód:
Twierdzenie:
Jeśli w operatorze OR zanegujemy wszystkie zmienne to na podstawie prawa De Morgana musimy otrzymać definicję operatora AND.
Definicja operatora OR:
1.
\(\displaystyle{ Y = p+q = \neg ( \neg p* \neg q)}\)
Dowód:
2.
Negujemy zmienne wejściowe p i q:
\(\displaystyle{ y = \neg p + \neg q = \neg (p*q)}\)
3.
Negujemy wyjście y:
\(\displaystyle{ \neg y = \neg ( \neg p+ \neg q) = p*q}\)
Równanie 3 to oczywiście pełna definicja operatora AND w równaniu algebry Boole’a.
Zauważmy że operator AND (3) jest logiką ujemną
\(\displaystyle{ ( \neg y)}\) w stosunku do operatora OR (1).
Zauważmy że równanie:
\(\displaystyle{ Y=p+q}\)
nie jest kompletnym opisem operatora OR (opisującym wszystkie cztery linie) bo negujemy zmienne i nie otrzymujemy definicji operatora AND.
\(\displaystyle{ \neg Y= \neg p+ \neg q}\)
Sensacyjny wniosek!
W równaniu logicznym:
\(\displaystyle{ Y=p+q}\)
Znaczek
\(\displaystyle{ „+”}\) nie jest operatorem logicznym opisującym wszystkie cztery linie tabeli zero-jedynkowej!
Znaczek
\(\displaystyle{ „+”}\) to tylko połówka operatora OR (obszar ABC123) a nie cały operator (ABCD123) jak to jest we współczesnej matematyce.
Oczywiście matematycznie zachodzi:
Operator OR ## Operator AND
gdzie:
## - różne na mocy definicji
… bo w przejściu z operatora OR do operatora AND wyłącznie negowaliśmy zmienne bez zmiany spójników!
Czy ktoś czegoś nie rozumie?
Czy ktoś zamierza obalić genialny algorytm przejścia z dowolnej tabeli zero-jedynkowej do równoważnych równań algebry Boole’a autorstwa [url=http://www.math.uni.wroc.pl/~newelski/dydaktyka/wdm-A/skrypt3/skrypt/node3.html]
prof. Newelskiego z UWr (uwaga 2.7)[/url]
Wracając do naszego zadania
martin_bar pisze:a)
Udowodnij, że za pomocą alternatywy i koniunkcji nie można zdefiniować implikacji.
Pełna definicja operatora implikacji prostej:
\(\displaystyle{ p=>q = \neg p+q = \neg (p* \neg q)}\)
Doskonale widać, że bez operatora negacji i operatora OR (AND) fizyczna realizacja operatora implikacji nie jest możliwa.
Definicja negatora (operatora negacji):
\(\displaystyle{ Y= \neg p}\)
Pełna definicja operatora OR (alternatywy):
\(\displaystyle{ Y = p+q = \neg ( \neg p* \neg q)}\)
Pełna definicja operatora AND (koniunkcji):
\(\displaystyle{ Y = p*q = \neg ( \neg p+ \neg q)}\)
Zajmijmy się operatorem OR (dla AND będzie symetrycznie):
\(\displaystyle{ Y = p+q = \neg ( \neg p* \neg q)}\)
Z równania:
\(\displaystyle{ Y=p+q}\)
Nie da się utworzyć operatora negacji koniecznego do realizacji operatora implikacji.
Dowód:
Podstawmy:
\(\displaystyle{ q=0}\)
Mamy:
\(\displaystyle{ Y=p+q = p+0 = p}\)
W technice to jest definicja operatora transmisji
\(\displaystyle{ (Y=p)}\) a nie negacji
\(\displaystyle{ (Y= \neg p)}\).
Zajmijmy się tożsamym równaniem:
\(\displaystyle{ Y = \neg ( \neg p* \neg q)}\)
Podstawiamy:
\(\displaystyle{ \neg q=1}\)
stąd:
\(\displaystyle{ Y = \neg ( \neg p*1) = \neg ( \neg p) = p}\)
To również jest operator transmisji.
Rozpatrzyliśmy wyżej KOMPLETNĄ tabelę zero-jedynkową operatora OR, nie uzyskując kluczowego dla naszego zadania operatora negacji
\(\displaystyle{ (Y= \neg p)}\)
Stąd:
Nie da się zrealizować operatora Implikacji z użyciem wyłącznie alternatywy (koniunkcji oczywiście też)
cnd