aksjomat funk

Transkrypt

aksjomat funk
Wykład 10, str. 1
O teoriach — powtórka
JĘZYK
(składnia)
interpretacja
(semantyka)
RZECZYWISTOŚĆ
(dziedzina i operacje)
Ale czasem jedną teorią opisuje się wiele różnych rzeczywistości; np. teoria
grup stosuje się do wielu różnych grup.
Wykład 10, str. 2
O teoriach — powtórka
RZECZYWISTOŚĆ 1
i
JĘZYK
(składnia)
r p.
e
t
n
1
interp. 2
i nt
erp
.
RZECZYWISTOŚĆ 2
3
RZECZYWISTOŚĆ 3
Zamiast „rzeczywistość i interpretacja” mówimy model.
Wykład 10, str. 3
O teoriach — powtórka
Teorie
• rzędu 0 — rachunek zdań (propositional calculus)
• rzędu 1 — rachunek kwantyfikatorów (predicate calculus)
• ......
Teorie pierwszego rzędu:
Składnia:
• Fun — symbole funkcyjne, arność : Fun → N;
• Rel — symbole relacyjne, arność : Rel → N;
• Conn — spójniki;
• Var — zmienne;
• Term — termy (wyrażenia), zbudowane ze zmiennych i symboli funkcyjnych;
• Form — formuły, zbudowane z termów, symboli relacyjnych i spójników.
Wykład 10, str. 4
O teoriach — powtórka
Interpretacja języka L w modelu A:
• interpretacja symboli funkcyjnych: ϕ [[s]] : A
× .{z
. . × A} → A
|
arność(s)
• interpretacja symboli relacyjnych: ϕ [[r]] : A
× .{z
. . × A} → {0, 1}
|
arność(r)
• wartościowania: Val def
= Var → A
• interpretacja termów ϕ̄ : Term → (Val → A)
• interpretacja formuł ϕ̄ : Form → (Val → {0, 1})
DEFINICJA: konsekwencja semantyczna —
def
M
f1 , . . . , fn |= f ⇐⇒
dla dowolnej intepretacji ϕ i dowolnego wartościowania v ∈ Val zachodzi ϕ̄ [[f1 ]] v · . . . · ϕ̄ [[fn ]] v ¬ ϕ̄ [[f ]] v .
Wykład 10, str. 5
O teoriach — powtórka
Aksjomatyka teorii składa się z
• aksjomatów — podstawowych formuł, które chcemy uważać za prawdziwe, oraz
• reguł wywodu — zasad wyprowadzania twierdzeń, czyli dołączania
nowych reguł prawdziwych.
Aksjomaty teorii predykatów (schematy):
A1 : p ⇒ (q ⇒ p)
A2 : (p ⇒ (q ⇒ r)) ⇒ ((p ⇒ q) ⇒ (p ⇒ r))
A3 : ((p ⇒ false) ⇒ false) ⇒ p
A4 : (∀x (p ⇒ q)) ⇒ (p ⇒ ∀x q) o ile x nie jest wolny w t
A5 : (∀x f (x)) ⇒ f (t) dla dowolnego termu t
Reguły wywodu teorii predykatów: (schematy):
modus
ponens
p p⇒q
q
generalizacja
p
∀x p
Wykład 10, str. 6
Wnioskowania i twierdzenia
DEFINICJA: wnioskowanie —
M
ze zbioru przesłanek F = {f1 , f2 , . . . , fn } to skończony ciąg formuł
D = d1 , d2 , . . . , dk taki, że każde di jest
• albo aksjomatem,
• albo jedną z przesłanek fj (dla j ∈ F ),
• albo daje się wyprowadzić przez regułę wywodu z poprzedzających
formuł d1 , d2 , . . . , di−1 ; przy tym reguły generalizacji wolno stosować
tylko do takich zmiennych, które nie są wolne w żadnej przesłance.
Przykład: wywód —
d1 : p ⇒ (p ⇒ p)
d2 : p ⇒ ((p ⇒ p) ⇒ p)
d : (p ⇒ ((p ⇒ p) ⇒ p)) ⇒
M3
((p ⇒ (p ⇒ p)) ⇒ (p ⇒ p))
d4 : (p ⇒ (p ⇒ p)) ⇒ (p ⇒ p)
d5 : p ⇒ p
z A1
z A1
z A2
z (MP), d2 , d3
z (MP), d1 , d4
Wykład 10, str. 7
Wnioskowania i twierdzenia
Przykład: wywód —
d1 : ((p ⇒ false) ⇒ false) ⇒ p
d2 : (((p ⇒ false) ⇒ false) ⇒ p) ⇒
(false ⇒ (((p ⇒ false) ⇒ false) ⇒ p))
d3 : false ⇒ (((p ⇒ false) ⇒ false) ⇒ p)
d4 : (false ⇒ (((p ⇒ false) ⇒ false) ⇒ p)) ⇒
((false ⇒ ((p ⇒ false) ⇒ false)) ⇒ (false ⇒ p))
Md5 : (false ⇒ ((p ⇒ false) ⇒ false)) ⇒ (false ⇒ p)
d6 : false ⇒ ((p ⇒ false) ⇒ false)
d7 : false ⇒ p
d8 : (false ⇒ p) ⇒ (q ⇒ (false ⇒ p))
d9 : q ⇒ (false ⇒ p)
d10 : (q ⇒ (false ⇒ p)) ⇒ ((q ⇒ false) ⇒ (q ⇒ p))
d11 : (q ⇒ false) ⇒ (q ⇒ p)
z A3
z A1
z (MP), d1 , d2
z
z
z
z
z
z
z
z
A2
(MP),
A1
(MP),
A1
(MP),
A2
(MP),
d3 , d4
d6 , d5
d7 , d8
d9 , d10
Wykład 10, str. 8
Wnioskowania i twierdzenia
Przykład: wywód —
d1 : ((∀x ((p ⇒ false) ⇒ false)) ⇒ false) ⇒ false
d2 : (((∀x ((p ⇒ false) ⇒ false)) ⇒ false) ⇒ false) ⇒
(∀x ((p ⇒ false) ⇒ false))
d3 : ∀x ((p ⇒ false) ⇒ false)
Md4 : (∀x ((p ⇒ false) ⇒ false)) ⇒ ((p ⇒ false) ⇒ false)
d5 : (p ⇒ false) ⇒ false
d6 : ((p ⇒ false) ⇒ false) ⇒ p
d7 : p
d 8 : ∀x p
Oznaczenia:
def
¬p ⇐⇒
p ⇒ false
def
p ∨ q ⇐⇒ ¬p ⇒ q
def
p ∧ q ⇐⇒
¬(¬p ∨ ¬q)
def
∃x ⇐⇒ ¬∀x ¬p
DEFINICJA: twierdzenie — napis postaci f1 , . . . , fn |− f
oznaczający: istnieje wnioskowanie ze zbioru przesłanek
{f1 , . . . , fn } zawierające f
przesłanka (z sufitu)
z
z
z
z
z
z
z
A3
(MP), d1 , d2
A5
(MP), d3 , d4
A3
(MP), d5 , d6
(GEN), d7
Udowodniliśmy
więc twierdzenia:
|− p ⇒ p
|− ¬q ⇒ (q ⇒ p)
¬(∃x (¬p)) |− ∀x p
Wykład 10, str. 9
Teoria a rzeczywistość
Teoria = język + aksjomaty i reguły wnioskowania.
Fakt: (aksjomatyka jest „zdrowa”)
M
Każde twierdzenie (czyli: cokolwiek da się wywnioskować z podanych
aksjomatów) jest prawdziwe w każdym modelu; to znaczy
jeśli f1 , . . . , fn |− f to f1 , . . . , fn |= f
Dowód(szkic):
Trzeba pokazać, że
• aksjomaty są tautologiami (zdaniami zawsze prawdziwymi),
• reguły wywodu zastosowane do tautologii dają w wyniku tautologie.
Dowód jest żmudny, ale niezbyt trudny.
Wykład 10, str. 10
Teoria a rzeczywistość
Fakt: (aksjomatyka jest „pełna”)
M
Każde stwierdzenie prawdziwe w każdym modelu, jest twierdzeniem
(czyli: posiada dowód); to znaczy:
jeśli f1 , . . . , fn |= f to f1 , . . . , fn |− f
Dowód jest znacznie trudniejszy.
„Zdrowość” jest minimalnym warunkiem, nakładanym na aksjomatyki każdej teorii. Jeśli aksjomatyka nie jest „zdrowa”, to pozwala wyprowadzać
nieprawdziwe twierdzenia, więc jest bezwartościowa.
„Pełność” aksjomatyki jest cechą pożądaną, ale nie niezbędną. Jeśli aksjomatyka nie jest „pełna” (ale jest „zdrowa”), to twierdzenia wyprowadzone
w niej będą prawdziwe, ale będą istnieć prawdy niewyprowadzalne.
Podana aksjomatyka rachunku predykatów jest „zdrowa” i „pełna”.
Wykład 10, str. 11
Teoria a rzeczywistość
Teoria = język + aksjomaty i reguły wnioskowania.
• „Niesprzeczność” mówi o samej teorii:
def
teoria jest sprzeczna ⇐⇒
istnieje taka formuła f ∈ Form że i |− f i |− ¬f
czyli da się w niej dowieść i zdanie i jego zaprzeczenie.
• „Zdrowość” mówi o związku teorii z modelami:
def
teoria jest zdrowa ⇐⇒
|− f implikuje |= f
czyli każde jej twierdzenie jest prawdziwe.
Wykład 10, str. 12
Teoria a rzeczywistość
Teoria = język + aksjomaty i reguły wnioskowania.
• „Zupełność” mówi o samej teorii:
def
teoria jest zupełna ⇐⇒
dla każdej formuły f ∈ Form bez zmiennych wolnych
albo |− f albo |− ¬f
czyli da się dowieść albo zdanie albo jego zaprzeczenie.
• „Pełność” mówi o związku teorii z modelami:
def
teoria jest pełna ⇐⇒
|= f implikuje |− f
czyli cokolwiek jest prawdą, da się udowodnić.
Wykład 10, str. 13
Teoria a rzeczywistość
TWIERDZENIE: (Gödla)
M
Nie istnieje niesprzeczna zupełna aksjomatyzacja arytmetyki, czyli teoria, której modelem byłyby liczby naturalne N ze zwykłym dodawaniem
i zwykłym mnożeniem.
TWIERDZENIE: (odpowiednik informatyczny)
M
Nie istnieje superprogram, który dla dowolnego programu P i danych D
potrafiłby
• wczytać tekst programu P ,
• wczytać dane D,
• zatrzymać się i podać poprawną odpowiedź na pytanie, czy P
zatrzyma się na danych D.
Wykład 10, str. 14
Negatywne wyniki w informatyce
Nierozstrzygalność własności stopu:
Nie da się napisać superprogramu, który widząc jakiś program i
dane, zawsze prorokowałby prawidłowo, czy ten program na tych
danych się zatrzyma, czy też będzie działał w nieskończoność.
..
...........................
.....
...........
........
....
...
.
.
..
...
.. .
..
...
...
...
.........................
.. ...
...
... ...................................................
..............................
.... ... ... ... ... ....
........
.........
.
.
.
...... ............... .......... .....
..
..... .............. ..............
.....................................
.
.
!
. .
.
.
Ę
.
.
.......................................................................
I
.
.
.
.
.
.
.
.
.
S
.
.
.
.
...
I
.
.
.
.
.
.
.
.
.
.
.
.
.
..............
.
.
.
.
.
.
.
.
.
L
.
.
.
T
....
...
....
.....................................................................
.
... ZAPĘ
.
.
.
.
.
.
.
.
....
....
.... .....
........................... .....................
.
..
.....
...
...
Wykład 10, str. 15
Negatywne wyniki w informatyce
Nierozstrzygalność własności stopu:
Nie da się napisać superprogramu, który widząc jakiś program i dane, zawsze
prorokowałby prawidłowo, czy ten program na tych danych się zatrzyma, czy
też będzie działał w nieskończoność.
N
P✲
M
✲
P✲
✲
P✲
P
S
..
.
.........
.................
.............
................
... .............................
.
.
.................................................
....
... ......... ......... ...
...
...
... .. .. .. .. ...
... .. . .. . ...
.
.
.
.
... ..... ..... ..
.....
.....
.........................................................................
..........................................
..........................................
..........................................
P zapętla się na P
✲
P zatrzymuje się na P
✛
jeśli P zapętla się na P , to N zatrzymuje się na P
jeśli P zatrzymuje się na P , to N zapętla się na P
jeśli N zapętla się na N , to N zatrzymuje się na N
jeśli N zatrzymuje się na N , to N zapętla się na N
SPRZECZNOŚĆ
Wykład 10, str. 16
Negatywne wyniki w informatyce, c.d.
Nierozstrzygalność własności stopu:
Nie da się napisać superprogramu, który widząc jakiś program i dane zawsze
prorokowałby prawidłowo, czy ten program na tych danych się zatrzyma, czy
też będzie działał w nieskończoność.
Nierozstrzygalność równoważności programów:
Nie da się napisać superprogramu, który widząc jakieś dwa programy zawsze
prorokowałby prawidłowo, czy te dwa programy zachowają się tak samo
(dadzą te same wyniki lub oba się zapętlą) na każdych danych.
Nierozstrzygalność poprawności programów:
Nie da się napisać superprogramu, który widząc program i opis wymagań co
do jego zachowania zawsze prorokowałby prawidłowo, czy zachowanie
programu spełnia te wymagania.
Niekonstruowalność poprawnych programów
Niekonstruowalność optymalnych programów
Niepoliczalność pewnych funkcji w lepszym czasie