|
Wyjście Spis treści Wstecz Dalej
Autor artykułu |
©2026 mgr Jerzy Wałaszek
|
Logika matematyczna jest bardzo ważnym działem matematyki, wręcz takim, bez którego współczesna matematyka nie mogłaby istnieć. W matematyce rozwija się różne teorie na bazie aksjomatów (prawd przyjętych z góry bez dowodu). Tworząc nowe twierdzenia, należy udowodnić ich prawdziwość. I tutaj właśnie wkracza logika matematyczna.
Podstawowym działem logiki matematycznej jest tzw. algebra Boole'a. Rozpropagował ją angielski matematyk George Boole. Dlaczego jest to dla nas tak ważne? Otóż, jak zobaczysz w dalszej części kursu, działanie wszystkich układów cyfrowych (w tym i mikrokontrolerów) opiera się ściśle o zasady tej algebry. Bez niej nie powstałyby współczesne komputery.
W algebrze Boole'a mamy tylko dwie wartości logiczne: prawdę (ang. true) i fałsz (ang. false). Umówmy się, że prawdę będziemy oznaczać cyfrą 1, a fałsz cyfrą 0. Jednakże cyfry te nie oznaczają tutaj liczb, o czym musisz pamiętać.
Zdanie jest prawdziwe (ma wartość 1), jeśli jest zgodne z prawdą. Jeśli jest niezgodne z prawdą, to jest fałszywe (ma wartość 0). Np:
![]() Ten dom jest zielony – prawda – 1 Ten dom jest czerwony – fałsz – 0 |
Czasami pojęcie prawdy i fałszu może być bardzo zawiłe i prowadzić do paradoksów, jeśli nie będziemy ostrożni. Oto prosty przykład:
Dawno temu na wielkiej równinie leżało miasto otoczone zewsząd wysokim murem, w którym znajdowała się tylko jedna brama. Przy bramie stali uzbrojeni strażnicy. Każdy przybysz musiał powiedzieć, po co tu przyszedł. Wszystkich tych, którzy powiedzieli prawdę, puszczano wolno. Wszystkich tych, którzy skłamali, ścinano mieczem u bramy. Pewnego dnia pojawił się podróżny, który na pytanie o cel przybycia, odpowiedział: "Przybyłem, aby mnie ścięto." Co mieli zrobić biedni strażnicy. Jeśli by go ścieli, to znaczy, że powiedział prawdę, a wtedy należałoby go puścić wolno. Ale, puszczając go wolno, sprawiliby, że podróżny skłamał, zatem należałoby go ściąć. I błędne koło się zamyka. Gdzie był błąd?
Zdania będziemy oznaczali małymi literami alfabetu: a, b, c, ... Podobnie w zwykłej algebrze oznacza się liczby.
Nad zdaniami logicznymi (tzn. takimi, które mają wartość prawdy lub fałszu) wykonujemy w algebrze Boole'a różne operacje/działania logiczne. Są one niekiedy podobne do operacji arytmetycznych i posiadają niektóre z ich własności. Musisz jednak pamiętać, że wynikiem operacji arytmetycznej jest jakaś liczba, natomiast w logice będzie to zawsze wartość logiczna 1 (prawda) lub 0 (fałsz). Operacje logiczne, zwane często funkcjami logicznymi, definiujemy za pomocą tabelek wartości. Tabelki te należy bezwzględnie nauczyć się na pamięć (nie jest to trudne, ponieważ istnieją dla nich proste reguły). Funkcje logiczne posiadają po kilka nazw. Podajemy nazwy polskie oraz angielskie (przydadzą się później przy omawianiu elementów i układów cyfrowych cyfrowych).
Funkcja logiczna negacji jest podobna do minusa w arytmetyce. Daje ona w wyniku wartość przeciwną logicznie, czyli z prawdy robi fałsz, a z fałszu prawdę:
| a | a |
| 0 | 1 |
| 1 | 0 |
W pierwszej kolumnie tabeli mamy pierwotną wartość argumentu a. W drugiej kolumnie mamy wartość negacji tego argumentu. Negację oznaczamy w różny sposób:

Umówmy się, że my negację będziemy oznaczali przez kreskę ponad literą oznaczającą zdanie logiczne. Zapis a czytamy jako: nieprawda, że a. Jeśli a jest prawdziwe, to a jest fałszywe i na odwrót. Proste?
Nieprawda, że ten dom jest zielony – fałsz – 0 Nieprawda, że ten dom jest czerwony – prawda – 1 |
Podwójna negacja (negacja negacji) daje niezaprzeczony argument:

Funkcja logiczna alternatywy jest funkcją dwuargumentową, podobnie jak dodawanie w arytmetyce. Tabelka alternatywy jest następująca:
| a | b | a + b |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Tabelkę łatwo zapamiętać: alternatywa jest prawdziwa, jeśli jeden z jej argumentów jest prawdziwy. Alternatywę zapisuje się w różny sposób:

Umówmy się, że alternatywę będziemy oznaczać po prostu
znakiem +. Jednak w logice nie jest to dodawanie
arytmetyczne, co widać wyraźnie w ostatnim wierszu tabelki:
| logika | arytmetyka |
| 0 + 0 = 0 | 0 + 0 = 0 |
| 0 + 1 = 1 | 0 + 1 = 1 |
| 1 + 0 = 1 | 1 + 0 = 1 |
| 1 + 1 = 1 | 1 + 1 = 2 |
Wartość logiczna

Alternatywę można rozszerzyć na dowolną liczbę argumentów. Obowiązuje zasada: wynik alternatywy jest prawdą, jeśli jeden z jej argumentów jest prawdziwy:
| a | b | c | a + b + c |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Działanie jest przemienne:

oraz łączne:

Tego typu własności w logice udowadnia się za pomocą tzw. tabel prawdy. W tablicy prawdy dla każdego składnika wyrażenia tworzymy osobną kolumnę, a następnie sprawdzamy, czy kolumny wynikowe są takie same. Jeśli tak, to równość jest udowodniona. Dla przykładu udowodnimy ostatnią równość, posiłkując się tabelką alternatywy:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| a | b | c | (b+c) | a+(b+c) | (a+b) | (a+b)+c |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Kolumny 5 i 7 są takie same, zatem oba wyrażenia są sobie równe.
Alternatywa argumentu z jego zaprzeczeniem daje zawsze w wyniku prawdę:

Funkcja logiczna koniunkcji jest, podobnie jak alternatywa, dwuargumentowa. Wynik jej działania jest prawdą, jeśli wszystkie argumenty są prawdziwe. W przeciwnym razie wynikiem jest fałsz. Tabelka koniunkcji jest następująca:
| a | b | a · b |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Koniunkcję zapisuje się w różny sposób:

Umówmy się, że my będziemy stosowali kropkę ·, jak przy mnożeniu. Jednak pamiętaj, że operacja koniunkcji nie jest mnożeniem, chociaż jest do niego bardzo podobna:
| logika | arytmetyka |
| 0 · 0 = 0 | 0 · 0 = 0 |
| 0 · 1 = 0 | 0 · 1 = 0 |
| 1 · 0 = 0 | 1 · 0 = 0 |
| 1 · 1 = 1 | 1 · 1 = 1 |
W arytmetyce liczby mogą mieć inne wartości niż 1 lub
0. W logice zbiór wartości ogranicza się do
Koniunkcję można rozszerzyć na dowolną liczbę argumentów. Obowiązuje zasada: wynik koniunkcji jest prawdą, jeśli każdy jej argument jest prawdziwy:
| a | b | c | a · b · c |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Elementem neutralnym w koniunkcji jest prawda.
Koniunkcja jest przemienna:

oraz łączna:

Alternatywa i koniunkcja są względem siebie rozdzielne:

Naucz się szczególnie tego drugiego prawa logiki, ponieważ nie występuje ono w arytmetyce (logika posiada własny zestaw praw odmiennych od arytmetyki).
Koniunkcja argumentu z jego zaprzeczeniem daje zawsze fałsz:

Alternatywa wykluczająca jest funkcją dwuargumentową o następującej tabelce:
| a | b | a
b |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Alternatywę wykluczająca zapisuje się w różny sposób:

Umówmy się, że my
będziemy stosowali znak plusa w kółeczku 
Wynik alternatywy wykluczającej jest prawdą, jeśli argumenty się
różnią. Gdy są takie same, wynikiem jest fałsz. Wyrażenie
Alternatywę wykluczającą da się rozszerzyć na dowolną liczbę argumentów. Wynik jest prawdziwy, gdy nieparzysta liczba argumentów jest prawdziwa. Inaczej wynik jest fałszem:
| a | b | c | a b
c |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Alternatywę wykluczającą da się utworzyć za pomocą trzech poznanych wcześniej funkcji logicznych:

Alternatywa wykluczająca jest przemienna:

oraz łączna:

Implikacja logiczna jest funkcją dwuargumentową o następującej tabelce:
| a | b | a
b |
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Implikacja jest fałszywa tylko wtedy, gdy jej pierwszy
argument jest prawdziwy, a drugi jest fałszywy. Implikacja
oznacza wynikanie. Wyrażenie
Implikację da się zapisać jako:

Implikacja nie jest przemienna:

Nie jest również łączna:

Dowód w prosty sposób uzyskamy za pomocą tabelek prawdy:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Równoważność logiczna jest funkcją dwuargumentową o następującej tabelce:
| a | b | a
b |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Równoważność jest prawdziwa, jeśli oba argumenty mają tę samą
wartość logiczną. Wyrażenie
Równoważność jest zaprzeczeniem alternatywy wykluczającej (porównaj tabelki obu funkcji):

Równoważność możemy otrzymać z implikacji w obie strony:

Okazuje się, że podstawowymi operacjami w logice są tylko dwie funkcje: negacja + alternatywa lub negacja + koniunkcja. Za pomocą tych dwóch funkcji można utworzyć wszystkie pozostałe. Wszystko za sprawą angielskiego matematyka, Augusta de Morgana.
Mamy dwa prawa de Morgana. Pierwsze odnosi się do zaprzeczenia koniunkcji:

Drugie prawo odnosi się do zaprzeczenia alternatywy:

Wprowadźmy dwie dodatkowe funkcje:
| a | b | a + b |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
| a | b | a · b |
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Funkcje te zawierają w sobie (stosuję nazwy angielskie, ponieważ w takiej postaci spotkasz je później):
Za ich pomocą można przedstawić każdą operację logiczną:
| NOR | NAND | |
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
Poniżej podajemy pozostałe prawa logiczne. Używamy ich przy upraszczaniu wyrażeń logicznych.










Załóżmy, że mamy zdefiniowaną funkcję logiczną trzech zmiennych a, b i c za pomocą tabelki:
| a | b | c | f(a,b,c) |
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
Z w ten sposób określonymi funkcjami spotykamy się bardzo często w technice cyfrowej, gdzie wiemy, jaką wartość ma przyjmować funkcja logiczna dla określonych wartości argumentów (wiemy to ze sposobu działania budowanego przez nas urządzenia, co zobaczysz dalej w tym artykule). Jak zapisać taką funkcję? Wykorzystamy własności funkcji logicznych. Stwórzmy najpierw funkcje cząstkowe, które przyjmują wartość 1 dla określonych wartości argumentów, a 0 dla pozostałych:
| a | b | c | f(a,b,c) | |
| 0 | 0 | 0 | 1 |
![]() |
| 0 | 0 | 1 | 1 |
![]() |
| 0 | 1 | 0 | 1 |
![]() |
| 0 | 1 | 1 | 0 | |
| 1 | 0 | 0 | 0 | |
| 1 | 0 | 1 | 0 | |
| 1 | 1 | 0 | 1 |
![]() |
| 1 | 1 | 1 | 0 |
Przykładowo, funkcja cząstkowa

Funkcja podstawowa przyjmie wartość logiczną 1, jeśli jedna z funkcji cząstkowych również ma wartość logiczną 1, a to wystąpi tylko przy określonej tabelką kombinacji argumentów. Rozpiszmy naszą funkcję:

Jest to postać surowa, spróbujmy ją uprościć, wykorzystując poznane prawa logiczne:

Teraz sprawdzamy, czy otrzymana funkcja odpowiada wartością
funkcji
|
|
|
|
f( |
a | b | a·b | c |
|
a·b+ |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Obie funkcje są zgodne. Otrzymaliśmy dużo prostszą funkcję logiczną, czyli dokonaliśmy minimalizacji funkcji logicznej zadanej tabelką. Ten sposób postępowania jest oczywiście dobry, lecz wymaga czasami stosowania żmudnych rachunków logicznych, gdzie łatwo o pomyłkę. Istnieje inna, prostsza metoda minimalizacji funkcji logicznych, która wykorzystuje tzw. mapy Karnaugh'a. Metoda ta jest wygodna do 4 zmiennych. Dla większej ilości staje się już zbyt skomplikowana.
Wróćmy do naszego przykładu. Utworzymy dla naszej funkcji
mapę Karnaugh'a. Współrzędnymi tej mapy będą nasze zmienne

Kod Gray'a ma szczególną cechę: kolejne zbudowane są z cyfr 0 lub 1 i różnią się od siebie stanem tylko jednej cyfry. Kod ten konstruujemy bardzo prosto:
Dla jednej zmiennej jest to ciąg
Aby otrzymać ciąg dla dwóch zmiennych, kopiujemy lustrzanie cyfry:
| 0 1 1 0 |
Następnie dopisujemy do połowy początkowych wyrazów zera, a do reszty 1:
| 00 01 11 10 |
Dla trzech zmiennych powtarzamy powyższe czynności:
|
00 01 11 10 10
11 01 00 000 001 011 010 110 111 101 100 |
Każdy kwadrat mapy Karnaugh'a jest teraz określony przez
współrzędne

Teraz zakreślamy obszary, które zawierają wartości 1. Zakreślony obszar musi obejmować wiersze i kolumny, których ilość jest potęgą liczby 2, zatem: 1, 2, 4, 8,... Obszary mogą na siebie zachodzić oraz łączyć się przez przeciwległe krawędzie. Początkowo może to być niejasne, lecz po wykonaniu kilku prostych projektów stanie się łatwe i oczywiste.

Patrzymy następnie na współrzędne zakreślonych obszarów. Te,
które się zmieniają, eliminujemy. Dla pozostałych wypisujemy
funkcję, która przyjmuje dla nich wartość logiczną 1. W naszym
przypadku mamy dwa obszary: czerwony i zielony. W czerwonym
obszarze zmienia się współrzędna

Zmienne
W obszarze zielonym z kolei
zmienia się współrzędna

Ponieważ nie ma więcej obszarów z wartością logiczną 1, piszemy:

Otrzymaliśmy zminimalizowaną funkcję, którą wcześniej wyprowadziliśmy ręcznie. Z mapami Karnaugh'a spotkasz się w dalszej części artykułu przy sieciach cyfrowych.
Więcej na ten temat znajdziesz w osobnym artykule: "Bit w zastosowaniach".
Zbiory w matematyce tworzą całą teorię. Nie mam ambicji, aby ją tutaj prezentować. Podam tylko najbardziej istotne fakty. Więcej znajdziesz w podręcznikach do matematyki.
Zbiór (ang. set) jest pojęciem pierwotnym, tzn. przyjętym z góry. Matematyka bazuje na pojęciach pierwotnych oraz twierdzeniach. Pojęć pierwotnych się nie wyprowadza. Musi tak być, inaczej powstałoby koło bez wyjścia.
Zbiór składa się z elementów o pewnych cechach. Np. zbiór ludzi, zbiór samochodów, zbiór ptaków, zbiór planet, zbiór liczb, itd.
Jeśli liczba elementów zbioru jest skończona, to zbiór możemy przedstawić następująco:

Zbiory będziemy oznaczać dużymi literami alfabetu. Powyższy
zapis oznacza, że zbiór

Teraz zapis przeczytamy jako: zbiór
Mówimy, że element należy do zbioru, jeśli jest jego elementem. Dla powyższego zbioru prawdziwy jest zapis:

Również prawdziwe jest:

Czytamy to jako: liczba 7 nie należy do zbioru
Zbiór, który nie zawiera żadnego elementu, nazywamy zbiorem pustym (ang. empty set):

Zapis matematyczny jest zapisem międzynarodowym. Dzięki temu matematycy mogą się wymieniać wiedzą bez koniecznej znajomości języka obcego. Dobrym pomysłem jest poznanie tego zapisu. W teorii zbiorów często spotyka się dwa zwroty:
Dla każdego i istnieje takie. W zapisie matematycznym posiadają one odpowiednie symbole:

Pierwszy symbol nazywamy kwantyfikatorem ogólnym, a drugi kwantyfikatorem szczegółowym. Przy ich pomocy matematyk może zapisywać wygodnie różne twierdzenia. Na przykład:

Czytamy to następująco: dla każdego
Dugi zapis:

czytamy jako: istnieje takie
Mając kwantyfikatory, możemy już bez problemów zapisywać różne twierdzenia i definicje matematyczne.

Zbiór

Zbiór nie zawiera się w zbiorze
Przykład:

Podzbiorem każdego zbioru jest zbiór pusty.

W teorii zbiorów również wykorzystywane są funkcje logiczne, które tradycyjnie oznaczamy symbolami:



Przez sumę zbiorów będziemy rozumieli zbiór, który zawiera elementy obu zbiorów. Formalnie zapisujemy to tak:
![]() ![]() |
Zapis czytamy jako: suma zbiorów
Przykład:

Częścią wspólną (iloczynem) zbiorów będziemy nazywać zbiór, którego elementy należą jednocześnie do obu zbiorów:
![]() ![]() |
Zapis czytamy jako: część wspólna zbiorów
Przykład:

Jeśli częścią
wspólną jest zbiór pusty, to zbiory

Zapis czytamy
jako: część wspólna zbiorów
Różnicę zbiorów definiujemy następująco:
![]() ![]() |
Zapis czytamy jako: różnica zbiorów
Przykład:

![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.