Professional Documents
Culture Documents
NEODLU
CLJIVOSTLOGIKEPRVOGA
REDA
Nakon sto smo dokazali neka bitna pozitivna svojstva logike prvoga reda,
njezina deduktivnoga sustava, zadr zat cemo sada i na jednom va znom nega-
tivnome svojstvu logike prvoga reda. Naime, usprkos tomu sto u beskona cnome
broju slu caja metodama kao sto su istinitosno stablo ili naravna dedukcija
mo zemo dobiti jednozna can odgovor o posljedici odnosno o doka zljivosti
nekoga iskaza p iz skupa iskaza , takav jednozna can odgovor ipak ne mo zemo
dobiti svaki put. Sjetimo se primjerice beskona cnih istinitosnih stabla, u ko-
jima se ra slamba nastavlja u nedogled, a da stablo kao takvo nikad ne dade
odgovor na postavljeno pitanje. Rije c je o svojstvu neodlu cljivosti logike pr-
voga reda. Pojam odlu cljivosti mo ze se u odredenome smislu svesti na pojam
izra cunljivosti, sto omogu cuje egzaktan dokaz neodlu cljivosti logike prvoga
reda.
1.1 Odlu civanje i izra cunavanje
Denirat cemo i medusobno povezati nekoliko pojmova klju cnih za razu-
mijevanje neodlu cljivosti (v. S. C. Kleene).
Mehani cki postupak je postupak (procedura) u kojem je zadano po cetno
stanje, a svaki je idu ci korak u postupku odreden prethodnim stanjem prema
danim pravilima.
U cinkovit (efektivan) postupak je mehani cki postupak koji se u kona cnome
1
2 POGLAVLJE 1. NEODLU
CLJIVOST LOGIKE PRVOGA REDA
broju koraka zaustavlja.
Postupak odlu civanja je u cinkovit postupak pomo cu kojega mo zemo
dati odgovor na odreden razred pitanja. U logici je to, primjerice, raz-
red svih pitanja oblika slijedi li iskaz p iz skupa iskaza ? ili razred svih
pitanja oblika Je li p doka zljivo iz skupa ?.
Govorimo i o problemu odlu civanja. Rije c je o iznala zenju u cinkovita
postupka za odlu civanje o nekome razredu pitanja. Ka zemo da je problem
odlu civanja za neki razred pitanja rje siv ako i samo ako se mo ze prona ci
u cinkovit postupak za odlu civanje o tom pitanju, a u protivnome ka zemo da
je nerje siv.
Postupak odlu civanja (ako postoji) svodimo na odgovaraju ci postupak
izra cunavanja neke funkcije. Odgovor na pitanje pretvara su u odredenu
izra cunljivu vrijednost (npr. 1 ili 0).
Najprije cemo opisati pojamizra cunljivosti, a zatimpokazati kako se odreden
postupak odlu civanja o doka zljivosti u logici prvoga reda mo ze svesti na pos-
tupak izra cunavanja.
1.2 Izra cunljivost i registarski stroj
Postoje razli citi, medusobno istovrijedni na cini kako na potpuno forma-
liziran na cin opisati pojam izra cunljivosti. Jedan je od njih pomo cu pojma
registarske izra cunljivosti, tj. izra cunljivosti registarskim strojem. Medutim
nema potpuno sigurna jamstva da registarska izra unljivost (ili bilo koji drugi
istovrijedan formalizirani opis, npr. pomo cu Turingova stroja, pomo cu parci-
jalnih rekurzivnih funkcija itd.) doista iscrpljuju pojam izra cunljivosti. Kako
nijedan drugi dosad dani formalizirani opis nije pro sirio pojamizra cunljivosti
izvan okvira registarske izra cunljivosti, mo zemo postaviti sljede cu induk-
tivnu (tj. s velikom vjerojatno s cu vrijede cu) postavku o izra cunljivosti:
Svaka je izra cunljiva funkcija registarski izra cunljiva.
Ta je postavka posebna ina cica Churchove postavke, prema kojoj se izra cun-
ljivost svodi na izra cunljivost parcijalnih rekurzivnih funkcija, odnosno Church-
Turingove postavke, kojom se izra cunljivost svodi na izra cunljivost Turin-
govim strojem. Zadr zat cemo se nakratko na registarskome stroju (abakus),
opisanome u J. Lambeka (1961.) i potom u R. Jereya (1967.).
1.2. IZRA
CUNLJIVOST I REGISTARSKI STROJ 3
KRENI
Registar 2: ako nije prazan, SMANJI za 1
STANI
Registar 1: POVE
CAJ za 1
2
prazan
1
3 4
Slika 1.1: Zbrajanje registarskim strojem.
Registarski je stroj idealan stroj koji se sastoji od kona cnoga niza registara
(upisnika), u svakome od kojih je u svakome trenutku zabilje zen odreden
prirodan broj (0 ili ve ci).
Program za registarski stroj sastoji se od pravila prema kojima se brojevi
u registrima pove cavaju za 1 ili smanjaju za 1 ili se registar ostavlja prazan.
Program izra cunava vrijednost funkcije s n argumenata tako da su argumenti
(prirodni brojevi) od prvoga do n-toga pohranjeni u odgovaraju ce registre
redom od prvoga do n-toga, dok preostali registri ostaju prazni. Izra cunata
vrijednost funkcije jest broj zabilje zen u prvome registru po izvr senju pro-
grama.
Program se mo ze opisati, primjerice, posebnim tokovnikom (dijagram
toka) prilagodenim za registarski stroj. Tokovnik je niz cvori sta, od kojih se
svako sastoji od ulazne strjelice, opisa radnje koju treba izvr siti i od izlazne
strjelice. Strjelice su obroj cane.
1
Na slici 1.1 prikazano je, primjerice, kako registarski stroj zbraja (v. R.
Jerey). U tom se primjeru stroj se po izvr senju programa zaustavlja (s re-
zultatom u registru 1). No ima programa izvr snje kojih se (s odredenim ar-
1
U standardnome se tokovniku rabe, primjerice, i rombovi u koje se upisuje pitanje
nakon kojega se, u ovisnosti o odgovoru, program grana.
4 POGLAVLJE 1. NEODLU
CLJIVOST LOGIKE PRVOGA REDA
KRENI
Registar 2: ako nije prazan, SMANJI za 1
STANI
Registar 1: POVE
CAJ za 1
Registar 2: POVE
CAJ za 1
2
prazan
1
3
4
5
Slika 1.2: Zaustavljanje i nezaustavljanje
gumentima) neprestano nastavlja, ne ostavljaju ci dakle nikad denitivan re-
zultat u registru 1. Ka zemo da stroj koji se prema odredenome programu s
odredenim argumentima zaustavlja, izra cunava vrijednost funkcije koja je
za zadane argumente denirana. Stroj koji se ne zaustavlja, ka zemo da
izra cunava vrijednost funkcije koja je za zadane argumente nedenirana.
Na slici 1.2 primjer je registarskoga stroji koji se ne zaustavlja za sve parove
argumenata u registrima 1 i 2.
Vje zba 1.1 Poku sajte odrediti za koje se argumente registarski stroj na slici
1.2 zaustavlja, a za koje ne!
1.3 Doka zljivost i registarski stroj
Registarski se programi mogu opisati ne samo tokovnicima nego i na-
pisati jezikom logike prvoga reda. Na taj se na cin izvr senje registarskoga
programa za zadane argumente kona cno mo ze opisati kao zaklju cak logike
1.3. DOKA
, 2, y
1
, 0)), cvori ste 1-2
xy
1
(R(x, 1, y
1
, y
2
) R(x
, 3, y
1
, y
2
)), cvori ste 1-3
xy
2
(R(x, 3, y
1
, y
2
) R(x
, 4, y
1
, y
2
)), cvori ste 3-4
. . . } opisi cvori sta 4-3 i 4-2}
xy
1
y
2
R(x, 2, y
1
, y
2
)
2
Umjesto dosljednoga zapisa brojeva samo s 0 i znakomcrtano, na prijedlog demonstra-
tora i studenata pi semo i druge brojke npr. umjesto 0
mo zemo pisati 3.
6 POGLAVLJE 1. NEODLU
CLJIVOST LOGIKE PRVOGA REDA
Mo ze se dokazati da je logi cki zapis programa s po cetnim stanjem de-
duktivno valjan ako i samo ako se registarski stroj koji izvr suje pro-
gram s istim po cetnim stanjem, zaustavlja. Analogna tvrdnja vrijedi i o
(semanti ckome) posljedi cnom odnosu izmedu premisa i zaglavka. Dokaz,
koji u nastavku prikazujemo, ima dva dijela (a i b).
a) Premise nisu drugo nego zapis programa i po cetnoga stanja registar-
skoga stroja. Te premise cine suvisao skup jer odreduju mogu ci, izvr sivi rad
registarskoga stroja, koji ne mo ze u istome trenutku i biti ne biti u istome sta-
nju (drugim rije cima, ukoliko premise cine nesuvisao skup, one nisu zapis
nijednoga registarskoga programa s po cetnim stanjem). Stoga se iz premisa
logi ckoga programskoga zapisa ne mo ze deducirati zaglavak 0 = 0, pa
preostaje samo drugi tip zaglavka onaj koji (u suvislosti s premisama) za-
pisuje stanje na zaustavnoj strjelici tokovnika. Prema tome, ako registarski
stroj radi prema premisama zaklju cka, a zaklju cak je deduktivno valjan, stroj
se, u skladu sa zaglavkom, zaustavlja.
b) Opis svakoga trenutka t u radu stroja mo ze se deducirati iz premisa
logi ckoga opisa stroja. To se dokazuje matemati ckom indukcijom. (1) Os-
novica. Jasno je da se opis trenutka 0 mo ze deducirati iz logi ckoga opisa jer
je prva premisa upravo sam taj opis. (2) Induktivni korak. Ako se opis sva-
koga trenutka t i svih prethodnih mo ze deducirati iz logi ckoga opisa, onda
se i opis sljede cega trenutka t
1
DA/NE DA/NE DA/NE . . .
2
DA/NE DA/NE DA/NE . . .
3
DA/NE DA/NE DA/NE . . .
.
.
.
.
.
.
.
.
.
.
.
.
Ako opstoji program koji izra cunava ho ce li se
n
za a
i
zaustaviti ili ne, onda
opstoji program H
koji sadr zi H
i koji se zaustavlja za a
n
ako i samo ako
H
izra cuna da se
n
za a
n
ne zaustavlja. Naime, ako H
dade, primjerice,
odgovor 0 (za ne zaustavlja se) mo ze se u nastavku programirati da se
zaustavi, a ako H
ne zaustavi.
Ako je
=
k
,
jer programa nema vi se nego prebrojivo mnogo. No u tom slu caju
k
se za
argument a
k
zaustavlja ako i samo ako njegov potprogram H
izra cuna da se
k
za a
k
ne zaustavlja (protuslovlje!). Dakle,
k
=
, koji sadr zi H
, nije
mogu c. Kako je H
jedini dio
1
DA/NE DA/NE DA/NE . . . DA/NE . . .
2
DA/NE DA/NE DA/NE . . . DA/NE . . .
3
DA/NE DA/NE DA/NE . . . DA/NE . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
.
.
.
.
.
. . . .
=
k
DA/NE DA/NE DA/NE . . . ? . . .
8 POGLAVLJE 1. NEODLU
CLJIVOST LOGIKE PRVOGA REDA
KRENI
m koraka
CAJ za 1
1
m+2
m+3
prazan
m+4
m+5
Slika 1.3: Program