Teoretyczne Podstawy Języków Programowania Wykład 1. Rachunek zdań



Podobne dokumenty
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Logika. Michał Lipnicki. 15 stycznia Zakład Logiki Stosowanej UAM. Michał Lipnicki () Logika 15 stycznia / 37

Adam Meissner.

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Paradygmaty dowodzenia

Dowody założeniowe w KRZ

Podstawowe Pojęcia. Semantyczne KRZ

LOGIKA Dedukcja Naturalna

Rachunek zdań. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

LOGIKA Klasyczny Rachunek Zdań

Definicja: alfabetem. słowem długością słowa

LOGIKA I TEORIA ZBIORÓW

Wstęp do logiki. Klasyczny Rachunek Zdań II

Logika. Michał Lipnicki. 18 listopada Zakład Logiki Stosowanej UAM. Michał Lipnicki Logika 18 listopada / 1

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Elementy logiki matematycznej

Programowanie funkcyjne Wykład 14. Rachunek λ z typami prostymi

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Wstęp do logiki. Klasyczny Rachunek Zdań III

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 7 i 8. Aksjomatyczne ujęcie Klasycznego Rachunku Zdań

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne

Lekcja 3: Elementy logiki - Rachunek zdań

Logika Matematyczna (2,3)

Rachunek logiczny. 1. Język rachunku logicznego.

WYKŁAD 7: DEDUKCJA NATURALNA

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

Logika I. Wykład 4. Semantyka Klasycznego Rachunku Zdań

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Matematyka ETId Elementy logiki

Logika Matematyczna (10)

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

WYKŁAD 3: METODA AKSJOMATYCZNA

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Podstawy Sztucznej Inteligencji (PSZT)

Konsekwencja logiczna

Logika formalna wprowadzenie. Ponieważ punkty 10.i 12. nie były omawiane na zajęciach, dlatego można je przeczytać fakultatywnie.

JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 11 czerwca Imię i Nazwisko:... FIGLARNE POZNANIANKI

Logika Matematyczna (1)

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Twierdzenia Gödla dowody. Czy arytmetyka jest w stanie dowieść własną niesprzeczność?

Logika Matematyczna (1)

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

ĆWICZENIE 2. DEF. Mówimy, że formuła A wynika logicznie z formuł wartościowanie w, takie że w A. A,, A w KRZ, jeżeli nie istnieje

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki. Wykład 15. Trójwartościowa logika zdań Łukasiewicza

ĆWICZENIE 4 KRZ: A B A B A B A A METODA TABLIC ANALITYCZNYCH

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

Elementy logiki i teorii mnogości

Struktury formalne, czyli elementy Teorii Modeli

JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 29 czerwca Imię i Nazwisko:...

Wykład 11b. System aksjomatyczny Klasycznego Rachunku Predykatów. Aksjomaty i reguły inferencyjne

Andrzej Wiśniewski Logika II. Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność

III rok kognitywistyki UAM,

Kultura logiczna Klasyczny rachunek zdań 2/2

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Logika intuicjonistyczna

JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 18 czerwca Imię i Nazwisko:... I

Drzewa Semantyczne w KRZ

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Zagadnienia podstawowe dotyczące metod formalnych w informatyce

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Metoda Tablic Semantycznych

Andrzej Wiśniewski Logika II. Wykłady 9 i 10a. Wybrane modalne rachunki zdań. Ujęcie aksjomatyczne

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP

Logika pragmatyczna dla inżynierów

Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych

III rok kognitywistyki UAM,

Wprowadzenie do Sztucznej Inteligencji

Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu

NOWE ODKRYCIA W KLASYCZNEJ LOGICE?

Logika pragmatyczna. Logika pragmatyczna. Kontakt: Zaliczenie:

1. Elementy logiki matematycznej, rachunek zdań, funkcje zdaniowe, metody dowodzenia, rachunek predykatów

Logika i teoria mnogości Wykład Sformalizowane teorie matematyczne

Semantyka rachunku predykatów

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki. Wykład 14. Wprowadzenie do logiki intuicjonistycznej

Składnia rachunku predykatów pierwszego rzędu

RACHUNEK PREDYKATÓW 7

Imię i nazwisko:... OBROŃCY PRAWDY

Logika Matematyczna. Zadania Egzaminacyjne, 2007

Kultura logiczna Wnioskowania dedukcyjne

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Schematy Piramid Logicznych

Egzamin z logiki i teorii mnogości, rozwiązania zadań

15. DOWODZENIE VI WTÓRNE REGUŁY WNIOSKOWANIA I REGUŁY PODSTAWIANIA

Wstęp do logiki. Semiotyka cd.

Klasyczny rachunek zdań 1/2

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

Rachunek zdao i logika matematyczna

Transkrypt:

Instytut Informatyki Teoretyczne Podstawy Języków Programowania Wykład 1. Rachunek zdań Zdzisław Spławski Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 1

Systemy formalne Składnia rachunku zdań Semantyka rachunku zdań Klasyfikacja formuł Konsekwencja logiczna Indukcja strukturalna dla formuł rachunku zdań Dowody konstruktywne Dedukcja naturalna dla rachunku zdań Konsekwencja syntaktyczna Twierdzenie o podstawianiu Najważniejsze rodzaje dowodów Przykłady wywodów w systemie dedukcji naturalnej Teorie aksjomatyczne Własności rachunku zdań Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 2

Systemy formalne System formalny = język formalny + aparat dedukcyjny (system wnioskowania). Język formalny = zbiór słów (ciągów symboli) nad zadanym alfabetem (skończonym zbiorem symboli). Metajęzyk = język, służacy do opisania języka formalnego (który bywa nazywany językiem przedmiotowym). Aparat dedukcyjny (system wnioskowania) = aksjomaty + reguły transformacji (reguły wnioskowania, reguły inferencji). W dalszym ciągu wykładu zostanie przedstawiony klasyczny rachunek zdań jako system formalny. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 3

Składnia rachunku zdań Składnia języka rachunku zdań I Alfabet: {p,,,,,,,,, (, )} F ::= A ( F) (F F) (F F) (F F) (F F) A ::= V V ::= p V F, A, V oznaczają odpowiednio kategorie syntaktyczne formuł rachunku zdań, atomów (zdań atomowych) i zmiennych zdaniowych. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 4

Składnia rachunku zdań Składnia języka rachunku zdań II Konwencje notacyjne, pozwalające na czytelniejszy zapis formuł rachunku zdań. 1. Małe litery alfabetu łacińskiego p, q, r, s... (być może z indeksami) będą używane jako metazmienne oznaczające zmienne zdaniowe. 2. Małe litery alfabetu greckiego ϕ, ψ, ρ,... (być może z indeksami) będą używane jako metazmienne oznaczające dowolne formuły rachunku zdań. 3. Priorytety spójników logicznych (funktorów zdaniotwórczych) malejąco:,,,,. 4.,, łączą w lewo, a łączy w prawo. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 5

Semantyka rachunku zdań Semantyka rachunku zdań I Zbiór wartości logicznych B = {F, T} zawiera dwa elementy: T(prawda) i F(fałsz). Na zbiorze B zdefiniujemy funkcje f : B B oraz f, f, f, f : B B B za pomocą poniższej tablicy: x y f (x) f (x, y) f (x, y) f (x, y) f (x, y) F F T F F T T F T T F T T F T F F F T F F T T F T T T T Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 6

Semantyka rachunku zdań Semantyka rachunku zdań II Wartościowaniem formuły ϕ nazywamy odwzorowanie σ : V B, nadające wartości logiczne zmiennym zdaniowym danej formuły. Funkcja semantyczna (interpretacja) E : F (V B) B oblicza wartości logiczne formuł rachunku zdań (dla zadanego wartościowania σ). Semantyka jest kompozycyjna (ang. compositional semantics). Składnia Semantyka F ::= E : F (V B) B p E [p]σ = σ(p) E [ ]σ = F E [ ]σ = T ( ϕ) E [( ϕ)]σ = f (E [ϕ]σ) (ϕ ψ) E [(ϕ ψ)]σ = f (E [ϕ]σ, E [ψ ]σ) (ϕ ψ) E [(ϕ ψ)]σ = f (E [ϕ]σ, E [ψ ]σ) (ϕ ψ) E [(ϕ ψ)]σ = f (E [ϕ]σ, E [ψ ]σ) (ϕ ψ) E [(ϕ ψ)]σ = f (E [ϕ]σ, E [ψ ]σ) Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 7

Semantyka rachunku zdań Tabela spójników logicznych Symbol Inne oznaczenia Schemat zdania Sposób czytania Nazwa zdania, N ϕ nieprawda, że ϕ (nie ϕ) negacja &, K ϕ ψ ϕ i ψ koniunkcja A ϕ ψ ϕ lub ψ alternatywa,, C ϕ ψ jeżeli ϕ to ψ implikacja,, E ϕ ψ ϕ wtw, gdy ψ równoważność wtw wtedy i tylko wtedy Prefiksowe symbole N, K, A, C, E zostały wprowadzone przez Jana Łukasiewicza w jego notacji beznawiasowej. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 8

Klasyfikacja formuł Klasyfikacja formuł Formuła ϕ jest: spełniona (ang. satisfied) przy danym wartościowaniu zmiennych σ, czyli σ spełnia (ang. satisfies) formułę ϕ, jeżeli E [ϕ]σ = T; spełnialna (ang. satisfiable) jeżeli istnieje wartościowanie zmiennych σ takie, że E [ϕ]σ = T, np. p; prawdziwa (ang. valid) lub jest tautologią (ang. tautology) jeżeli dla każdego wartościowania σ zachodzi E [ϕ]σ = T, np. p p; niespełnialna (ang. unsatisfiable) jeżeli dla każdego wartościowania E [ϕ]σ = F, np. p p; Zbiór formuł Γ jest spełnialny, jeżeli istnieje wartościowanie σ, spełniające wszystkie formuły ϕ Γ. Jeżeli takie wartościowanie nie istnieje, to zbiór formuł Γ jest niespełnialny. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 9

Konsekwencja logiczna Konsekwencja logiczna (semantyczna) Niech Γ będzie zbiorem formuł, zaś ϕ formułą. Mówimy, że ϕ jest konsekwencją logiczną (lub semantyczną) zbioru Γ, co zapisujemy symbolicznie Γ = ϕ, jeśli każde wartościowanie σ, spełniające wszystkie formuły ze zbioru Γ, spełnia również formułę ϕ. Zwykle skracamy {ψ 1,..., ψ n } = ϕ do ψ 1,..., ψ n = ϕ, oraz Γ {ψ} = ϕ do Γ, ψ = ϕ, a także = ϕ do = ϕ. Zauważ, że = ϕ wtw, gdy ϕ jest tautologią. Twierdzenie. ψ 1,..., ψ n = ϕ wtw, gdy = ψ 1... ψ n ϕ. Twierdzenie. Jeśli Γ = ϕ, to dla dowolnej formuły ρ zachodzi Γ, ρ = ϕ. Twierdzenie. Jeśli Γ = ϕ, a ρ jest tautologią, to Γ \ {ρ} = ϕ. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 10

Konsekwencja logiczna Systemy funkcjonalnie pełne Każda formuła ϕ odpowiada pewnej funkcji df f ϕ = E [ϕ] : (V B) B, przekształcającej wartościowania zmiennych w niej występujących w element zbioru B. Mówimy wtedy, że formuła ϕ definiuje funkcję f ϕ. Definicja. Skończony zbiór funkcji boolowskich nazywamy funkcjonalnie pełnym, jeśli każdą funkcję boolowską da się zdefiniować za pomocą formuły zbudowanej wyłącznie ze spójników odpowiadających funkcjom z tego zbioru. Oto kilka funkcjonalnie pełnych zbiorów: {, }, {, }, {, }, {, }. Jako przykład pokazano poniżej, jak można zdefiniować wszystkie spójniki logiczne za pomocą,. ϕ df = ϕ, df =, ϕ ψ df = ϕ ψ, ϕ ψ df = ( ϕ ψ), ϕ ψ df = (ϕ ψ) (ψ ϕ). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 11

Indukcja strukturalna dla formuł rachunku zdań Indukcja strukturalna dla formuł rachunku zdań Niech P będzie własnością formuł. P (ϕ) zachodzi dla wszystkich formuł ϕ form jeśli spełnione są natępujące przesłanki: 1. P (p) dla każdej zmiennej zdaniowej p, 2. P ( ), P ( ), 3. jeśli P (ϕ) to P (( ϕ)), 4. jeśli P (ϕ) oraz P (ψ) to P ((ϕ ψ)), 5. jeśli P (ϕ) oraz P (ψ) to P ((ϕ ψ)), 6. jeśli P (ϕ) oraz P (ψ) to P ((ϕ ψ)), 7. jeśli P (ϕ) oraz P (ψ) to P ((ϕ ψ)). Przesłanki 1 2 stanowią podstawę indukcji, a przesłanki 3 7 stanowią krok indukcji. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 12

Dowody konstruktywne Twierdzenie. Istnieją dwie niewymierne liczby a i b takie, że a b jest wymierne. Dowód. Albo ( 2) 2 jest wymierne i wtedy a = b = 2 albo ( 2) 2 jest niewymierne i wtedy a = ( 2) 2, b = 2. Dowód tego twierdzenie jest oczywiście poprawny w logice klasycznej. Jest to przykład dowodu niekonstruktywnego, ze względu na wykorzystanie reguły wykluczonego środka. Pomimo, że twierdzenie jest dowiedzione i wiadomo, że liczby a i b istnieją, to nie można (na podstawie dowodu) znaleźć pary liczb spełniających warunek określony w twierdzeniu. Konstruktywny dowód tego twierdzenia jest oparty na twierdzeniu Gelfonda Schneidera. Wynika z niego, że liczby a = b = 2 spełniają powyższe twierdzenie. Najbardziej znaną logiką konstruktywną jest logika intuicjonistyczna, wprowadzona przez Brouwera i rozwijana przez Heytinga i wielu następców. Znajduje ona wiele zastosowań w informatyce (izomorfizm Curry ego Howarda). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 13

Dedukcja naturalna dla rachunku zdań Dedukcja naturalna Jednym z zadań logiki jest formalizacja i badanie rozumowań matematycznych (dowodów). Najbardziej zbliżone do rozumowań potocznych są systemy dedukcji naturalnej (założeniowe). Twórcami pierwszych takich systemów byli Stanisław Jaśkowski i Gerhard Gentzen w latach trzydziestych ubiegłego wieku. Intensywnie badał te systemy Dag Prawitz w latach sześćdziesiątych i siedemdziesiątych, a po nim inni. Wywody (derywacje, ang. derivations), będące formalną reprezentacją dowodów (ang. proofs) matematycznych, są przedstawiane w postaci drzew. Reguły wnioskowania (r. wyprowadzania, r. inferencji, ang. inference rules, derivation rules) mają następująca postać: przesłanka 1... przesłanka n (nazwa r. wnioskowania) wniosek Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 14

Dedukcja naturalna dla rachunku zdań Reguły pierwotne i wtórne (wyprowadzone) Pierwotne reguły wnioskowania systemu przyjmujemy bez dowodu, starając się dobierać je w ten sposób, by były jak najbardziej intuicyjne. Reguły wtórne (ang. derived rules) są wyprowadzane przy użyciu reguł pierwotnych i twierdzeń, które zostały udowodnione. Celem reguł wtórnych jest skracanie dowodów. Teoretycznie jednak te reguły są zbyteczne, ponieważ każdą tezę udowodnioną z użyciem reguł wtórnych można udowodnić używając wyłącznie reguł pierwotnych. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 15

Dedukcja naturalna dla rachunku zdań Niżej przedstawione są reguły pierwotne systemu dedukcji naturalnej w tradycyjnym podziale na reguły wprowadzania (dołączania) i eliminacji (opuszczania) dla wszystkich zdefiniowanych wcześniej spójników logicznych. Są one poprawne zarówno dla klasycznej (prawdziwościowej) logiki zdań, jak i dla logiki intuicjonistycznej. Na końcu umieszczono reguły wnioskowania właściwe tylko dla logiki klasycznej. Wystarczy dołączyć jedną z nich. Pozostałe można otrzymać jako reguły wtórne. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 16

Dedukcja naturalna dla rachunku zdań Reguły wnioskowania I reguły wprowadzania reguły eliminacji ϕ ψ ( I) ϕ ψ ϕ ψ ( E1 ) ϕ ϕ ψ ( E2 ) ψ ϕ ϕ ψ ( I 1 ) ψ ϕ ψ ( I 2 ) ϕ ψ [ϕ] n. ρ ρ [ψ] n. ρ n( E) ( I) brak brak ( E) ϕ Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 17

Dedukcja naturalna dla rachunku zdań Reguły wnioskowania II reguły wprowadzania reguły eliminacji [ϕ] n. ψ ϕ ψ n( I) ϕ ψ ψ ϕ ( E) [ϕ] n. ϕ n ( I) ϕ ϕ ( E) Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 18

Dedukcja naturalna dla rachunku zdań Reguły wnioskowania III reguły wprowadzania reguły eliminacji [ϕ] n. ψ ϕ ψ [ψ] n. ϕ n( I) ϕ ψ ϕ ( E1) ψ dla logiki klasycznej ϕ ψ ψ ( E2) ϕ [ ϕ] n. ϕ n(raa) lub ϕ ( ) ϕ lub ϕ ϕ (T ND) Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 19

Dedukcja naturalna dla rachunku zdań Reguły wnioskowania IV Niektóre z wymienionych wyżej reguł były znane już w starożytności. ( E) modus ponendo ponens (łac. sposób (tryb) potwierdzający przez potwierdzenie), krócej modus ponens; reguła odrywania. ( E) ex falso (sequitur) quodlibet; z fałszu (wynika) cokolwiek. (RAA) reductio ad absurdum; reguła sprowadzenia do niedorzeczności. (T NT ) tertium non datur; reguła wykluczonego środka. ( ) reguła podwójnego zaprzeczenia. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 20

Dedukcja naturalna dla rachunku zdań Prawo importacji: (ϕ ψ ρ) (ϕ ψ ρ) [p q] 2 [p q r] 1 ( E) p q r ( E) r p q r 2( I) (p q r) (p q r) [p q] 2 ( E) q ( E) 1( I) Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 21

Konsekwencja syntaktyczna Konsekwencja syntaktyczna Niech Γ będzie zbiorem formuł, zaś ϕ formułą. Mówimy, że ϕ jest konsekwencją syntaktyczną zbioru Γ, lub jest wywodliwa (wyprowadzalna, ang. derivable) ze zbioru Γ, co zapisujemy symbolicznie Γ ϕ, jeśli istnieje wywód (derywacja) formuły ϕ ze zbioru Γ. Zwykle skracamy {ψ 1,..., ψ n } ϕ do ψ 1,..., ψ n ϕ, oraz Γ {ψ} ϕ do Γ, ψ ϕ, a także ϕ do ϕ. Jeśli ϕ to ϕ jest twierdzeniem (tezą) rozważanego systemu formalnego. Zbiór formuł Γ jest sprzeczny (ang. inconsistent), jeśli dla każdego ϕ zachodzi Γ ϕ, tzn. jeśli każda formuła jest twierdzeniem. W przeciwnym razie zbiór Γ jest niesprzeczny (ang. consistent). ϕ ψ jest skrótem dla ϕ ψ i ψ ϕ. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 22

Twierdzenie o podstawianiu Definicja. Podstawieniem (ang. substitution) formuły ψ za zmienną zdaniową p nazywamy odwzorowanie, które formule ϕ przyporządkowuje formułę ϕ[ψ/p] powstałą w wyniku wstawienia formuły ψ w miejsce każdego wystąpienia zmiennej zdaniowej p w formule ϕ. Zdefiniujemy to odwzorowanie formalnie przez rekursję po strukturze formuły ϕ. q[ψ/p] df = { ψ, gdy q = p q, gdy q p [ψ/p] df = ( {, }) ( ϕ)[ψ/p] df = ( ϕ[ψ/p]) (ϕ 1 ϕ 2)[ψ/p] df = (ϕ 1[ψ/p] ϕ 2[ψ/p]) ( {,,, }) Twierdzenie (o podstawianiu). (ang. substitution theorem) (a) Jeśli = ϕ to = ϕ[ψ/p]. (b) Jeśli ϕ to ϕ[ψ/p]. Przykład. Udowodniliśmy, że formuła (p q r) (p q r) jest tezą rachunku zdań. Na podstawie powyższego twierdzenia tezą rachunku zdań jest każda formuła o postaci (ϕ ψ ρ) (ϕ ψ ρ). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 23

Twierdzenie o podstawianiu Tezy implikacyjne a reguły wtórne Twierdzenie. Niech formuła o postaci ϕ 1... ϕ n ψ będzie tezą rachunku zdań. Poniższa reguła jest wówczas regułą wtórną. ϕ 1... ϕ n (nazwa reguły) ψ Dowód. Jeśli w pewnym wywodzie występują wszystkie przesłanki ϕ 1,..., ϕ n, to przez n-krotne zastosowanie reguły ( E) otrzymamy w wywodzie wniosek ψ. Przykład. Ponieważ (ϕ ψ ρ) (ϕ ψ ρ), to do systemu możemy dołączyć regułę wtórną (Import): ϕ ψ ρ (Import) ϕ ψ ρ Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 24

Najważniejsze rodzaje dowodów Dowody (założeniowe) wprost i nie wprost Dowód wprost formuły ϕ ψ. Zakładamy, że zachodzi ϕ. Przy tym założeniu dowodzimy ψ i stosujemy regułę ( I). Prawo importacji udowodniliśmy wprost. Dowód nie wprost (apagogiczny, przez sprowadzenie do niedorzeczności) formuły ψ. Zakładamy, że zachodzi ψ. Przy tym założeniu dowodzimy i stosujemy regułę (RAA). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 25

Przykłady wywodów w systemie dedukcji naturalnej Wywód w stylu Fitcha Przedstawianie wywodów w postaci drzew dobrze reprezentuje ich strukturę, możliwa jest jednak linearna prezentacja wywodów. W celu pokazania struktury wywodów Jaśkowski początkowo używał prostokątów ("pudełek"). F.B.Fitch, W.Craig, L.Borkowski, J.Słupecki w swoich notacjach wykorzystali idee Jaśkowskiego. Obok wywodów w postaci drzew będziemy używali też notacji Fitcha. Pojawia się tam pojęcie dowodu podporządkowanego (pobocznego, ang. subordinate proof) oraz wprowadzona jest pomocnicza reguła repetycji (ang. reiteration), pozwalająca na powtórzenie w dowodzie podporządkowanym wcześniejszych formuł z dowodu głównego. Reguła repetycji (R) odpowiada prawu repetycji ϕ ϕ. Wywód (derywacja) w stylu Fitcha składa się z numerowanych wierszy, zawierających formuły wraz z uzasadnieniami. Każda formuła jest albo założeniem (na ogół bez uzasadnienia), albo formułą wyprowadzoną (zawsze z uzasadnieniem). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 26

Przykłady wywodów w systemie dedukcji naturalnej Prawo importacji: (ϕ ψ ρ) (ϕ ψ ρ) Wywód w stylu Fitcha 1 p q r założenie 2 p q założenie 3 p ( E), 2 4 p q r (R), 1 5 q r ( E), 4, 3 6 q ( E), 2 7 r ( E), 5, 6 8 p q r ( I), 2 7 9 (p q r) (p q r) ( I), 1 8 Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 27

Przykłady wywodów w systemie dedukcji naturalnej Prawo De Morgana: (ϕ ψ) ϕ ψ (p q) p [p] 1 ( I) p q ( E) 1 ( I) p q (p q) 2 ( I) q ( I) [q] 2 ( I) p q ( E) To jest kolejny przykład na dowód wprost. Niezamknięte założenie możemy potraktować jako przesłankę wtórnej (wyprowadzonej) reguły wnioskowania ( ). (ϕ ψ) ( ) ϕ ψ Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 28

Przykłady wywodów w systemie dedukcji naturalnej Prawo De Morgana: (ϕ ψ) ϕ ψ. Wywód w stylu Fitcha 1 (p q) przesłanka 2 p 3 p q ( I), 2 4 (p q) (R), 1 5 ( E), 4, 3 6 p ( I), 2 5 7 q 8 p q ( I), 7 9 (p q) (R), 1 10 ( E), 9, 8 11 q ( I), 7 10 12 p q ( I), 6, 11 Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 29

Przykłady wywodów w systemie dedukcji naturalnej Prawo De Morgana: (ϕ ψ) ϕ ψ [ q] 4 D= [ ( p q)] 2 ( I) p q ( E) q 4 (RAA) [ (p q)] 1 [ p] 3 [ ( p q)] 2 ( I) p q ( E) p 3 (RAA) D ( I) p q ( E) p q 2(RAA) 1( I) (p q) p q Tu stosowaliśmy (RAA), więc jest to dowód nie wprost. Na podstawie twierdzenia o związku tez z regułami wtórnymi do systemu możemy dodać regułę (ϕ ψ) ϕ ψ ( ) Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 30

Przykłady wywodów w systemie dedukcji naturalnej Prawo De Morgana: (ϕ ψ) ϕ ψ. Inny (krótszy) dowód nie wprost, wykorzystujący regułę wtórną ( ). 1 (p q) 2 ( p q) 3 p q) ( ), 2 4 p ( E), 3 5 p ( ), 4 6 q ( E), 3 7 q ( ), 6 8 p q ( I), 5, 7 9 (p q) (R), 1 10 ( E), 9, 8 11 p q (RAA), 2 10 12 (p q) p q ( I), 1 11 Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 31

Przykłady wywodów w systemie dedukcji naturalnej Transpozycja (kontrapozycja): ψ ϕ ϕ ψ Wykorzystywany jest dowód nie wprost. ψ ϕ [ ψ] 2 ( E) ϕ [ϕ] 1 ( E) 2 (RAA) ψ 1( I) ϕ ψ Możemy do systemu dolączyć regułę wtórną: ψ ϕ (T ransp) ϕ ψ Reguła ta jest często stosowana przy dowodach nie wprost. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 32

Teorie aksjomatyczne Teorie aksjomatyczne Definicja. Zbiór formuł T nazywamy teorią wtw, gdy jest on zamknięty ze względu na konsekwencję syntaktyczną, tzn. jeśli T ϕ, to ϕ T. Elementy zbioru T nazywamy twierdzeniami(tezami). Niech Γ będzie zbiorem formuł. T (Γ) = {ϕ Γ ϕ} nazywamy teorią zbioru formuł Γ. Formuły ze zbioru Γ nazywamy aksjomatami pozalogicznymi (swoistymi, specyficznymi) teorii, a o teorii T (Γ) mówimy, że jest teorią aksjomatyczną (lub aksjomatyzowalną). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 33

Teorie aksjomatyczne Własności teorii aksjomatycznych Niech będzie dana teoria T (Γ). Niesprzeczność (ang. consistency). Teoria T jest niesprzeczna wtw, gdy zbiór formuł T jest niesprzeczny. Zupełność. Każda formuła ϕ jest albo twierdzeniem teorii, tzn. Γ ϕ, albo po dołączeniu do aksjomatów teorii prowadzi do sprzeczności teorii. Poprawność, adekwatność (ang. soundness). Jeśli Γ ϕ to Γ = ϕ. Pełność (ang. completeness). Jeśli Γ = ϕ to Γ ϕ. Rozstrzygalność (ang. decidability). Teoria T jest rozstrzygalna wtw, gdy istnieje algorytm, który dla dowolnej formuły zamkniętej ϕ pozwala stwierdzić, czy Γ ϕ, czy też Γ ϕ. Dla Γ = poprawność mówi, że każde twierdzenie jest zdaniem prawdziwym, natomiast pełność mówi, że każde zdanie prawdziwe można udowodnić (jest twierdzeniem). Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 34

Teorie aksjomatyczne Przykład teorii aksjomatyzowalnej Zespół ekspertów przygotował następującą analizę sytuacji gospodarczej Loglandii. Jeśli inwestycje pozostaną na tym samym poziomie, to wzrosną wydatki budżetowe lub wzrośnie bezrobocie. Jeśli wydatki budżetowe nie wzrosną, to podatki zostaną obniżone. Jeśli podatki zostaną obniżone i inwestycje pozostaną na tym samym poziomie, to bezrobocie nie wzrośnie. Możemy przedstawić ten opis wycinka rzeczywistości w postaci teorii. Wprowadźmy następujące oznaczenia. p def = inwestycje pozostaną na tym samym poziomie q def = wzrosną wydatki budżetowe r def = wzrośnie bezrobocie s def = podatki zostaną obniżone Zbiór Γ aksjomatów swoistych teorii SGL(Γ) jest następujący: Γ = {p q r, q s, s p r} Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 35

Własności rachunku zdań Własności rachunku zdań Twierdzenie. Rachunek zdań jest niesprzeczny, zupełny, poprawny, pełny i rozstrzygalny. Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 1. Rachunek zdań 36