Anda di halaman 1dari 89

Logika Informatika

Dr.-Ing. Reza Pulungan, M.Sc


(pulungan@ugm.ac.id)
Jurusan Ilmu Komputer dan Elektronika
Universitas Gadjah Mada
Yogyakarta
September 20, 2011
Logika Predikat
(Predicate Logic)
Pengantar
Logika proposisional terlalu kasar dan primitif untuk
mengungkapkan konsep obyek, sifat-sifat dari obyek dan
hubungan antara obyek.
Logika predikat yang akan kita diskusikan memperluas
logika proposisional dalam perkara ini.
Dengan cara yang sama dengan logika proposisional, kita
juga akan mendiskusikan bagaimana membangun sebuah
kalimat dan kemudian menentukan kebenaran dari kalimat
tersebut dalam logika predikat.
CC
2010 Reza Pulungan Logika Informatika 3
Bahasa (Language)
Simbol
Denisi (Simbol (Symbol))
Kalimat-kalimat dalam logika predikat dibangun oleh
simbol-simbol berikut:
Simbol-simbol kebenaran: TRUE dan FALSE.
Simbol-simbol konstanta (constants):
a, b, c, a

, b

, c

, a
1
, b
1
, c
1
, a
2
, b
2
, c
2
, .
Simbol-simbol variabel (variables):
u, v, w, x, y, z, u

, v

, x

, y

, z

, u
1
, v
1
, .
Simbol-simbol fungsi (functions):
f , g, h, f
1
, g
1
, h
1
, f
2
, g
2
, h
2
, .
Simbol-simbol predikat (predicate):
p, q, r , p
1
, q
1
, r
1
, p
2
, q
2
, r
2
, .
CC
2010 Reza Pulungan Logika Informatika 5
Simbol
Setiap simbol fungsi memiliki arity, yaitu suatu bilangan
bulat positif, yang mengindikasikan banyaknya argumen
fungsi tersebut.
Setiap simbol predikat juga memiliki arity.
Fungsi atau predikat dengan arity n disebut fungsi atau
predikat n-ary. 1-ary, 2-ary, 3-ary disebut unary, binary dan
ternary.
Konstanta dan variabel akan melambangkan obyek-obyek,
sementara fungsi dan predikat akan melambangkan fungsi
dan relasi antara obyek-obyek yang ada.
Kita akan membangun bahasa logika predikat dalam 3
tahap: kita denisikan term, kemudian proposisi, dan
terakhir kalimat.
CC
2010 Reza Pulungan Logika Informatika 6
Term
Denisi (Term (Term))
Sebuah term dalam logika predikat adalah sebuah ekspresi
yang melambangkan obyek. Term-term dibangun dengan
aturan-aturan berikut:
Setiap simbol konstanta adalah sebuah term.
Setiap simbol variabel adalah sebuah term.
Jika t
1
, t
2
, , t
n
adalah term-term, di mana n 1 dan f
adalah sebuah fungsi n-ary, maka aplikasi f (t
1
, t
2
, , t
n
)
adalah sebuah term.
Jika T adalah sebuah kalimat dan s dan t adalah term,
maka kondisional if T then s else t adalah sebuah term.
CC
2010 Reza Pulungan Logika Informatika 7
Contoh
Andaikan f adalah sebuah fungsi binary dan g adalah sebuah
fungsi ternary, maka:
a adalah sebuah term.
x adalah sebuah term.
f (a, x) adalah sebuah term.
g(x, f (a, x), a) adalah sebuah term.
CC
2010 Reza Pulungan Logika Informatika 8
Proposisi
Denisi (Proposisi (Proposition))
Sebuah proposisi dalam logika predikat merepresentasikan
relasi (hubungan) antara obyek-obyek. Proposisi-proposisi
dibangun dengan aturan-aturan berikut:
Setiap simbol kebenaran adalah sebuah proposisi.
Jika t
1
, t
2
, , t
n
adalah term-term, di mana n 1 dan p
adalah sebuah predikat n-ary, maka aplikasi
p(t
1
, t
2
, , t
n
) adalah sebuah proposisi.
Contoh: Jika p adalah sebuah predikat ternary, maka:
p(a, x, f (a, x))
adalah sebuah proposisi.
CC
2010 Reza Pulungan Logika Informatika 9
Kalimat
Denisi (Kalimat (Sentence))
Kalimat-kalimat dalam logika predikat dibangun oleh
proposisi-proposisi (seperti halnya di logika proposisional)
dengan aturan-aturan berikut:
Setiap proposisi adalah sebuah kalimat.
Jika T adalah kalimat, maka negasinya (T) adalah
kalimat.
Jika T dan ( adalah kalimat, maka konjungsi (T () dan
disjungsi (T () mereka adalah kalimat.
Jika T dan ( adalah kalimat, maka implikasi (T = () dan
ekuivalensi (T () mereka adalah kalimat.
Jika T, (, dan H adalah kalimat, maka kondisional
if T then ( else H adalah kalimat.
CC
2010 Reza Pulungan Logika Informatika 10
Kalimat
Denisi (Kalimat (Sentence))
Jika x adalah variabel dan T adalah kalimat, maka:
(for all x)T
adalah kalimat. Prex for all disebut juga universal
quantier.
Jika x adalah variabel dan T adalah kalimat, maka:
(for some x)T
adalah kalimat. Prex for some disebut juga existential
quantier. Prex ini sering juga digantikan oleh prex
there exists.
Catatan: Kalimat T disebut scope dari quantier yang
mendahuluinya.
CC
2010 Reza Pulungan Logika Informatika 11
Contoh
Andaikan fungsi f dan g dan predikat q adalah binary, serta
predikat p adalah ternary, maka
p(a, x, f (a, x)) adalah kalimat (karena dia adalah
proposisi).
q(g(b, x), y) adalah kalimat (karena dia adalah proposisi).
(for some y)q(g(b, x), y) adalah kalimat (karena scope
dari (for some y) adalah sebuah kalimat).
p(a, x, f (a, x)) (for some y)q(g(b, x), y) adalah kalimat
(karena masing-masing conjunct adalah sebuah kalimat).
(for all x)[p(a, x, f (a, x)) (for some y)q(g(b, x), y)]
adalah kalimat (karena scope dari for all x adalah sebuah
kalimat).
CC
2010 Reza Pulungan Logika Informatika 12
Konjungsi dan Disjungsi Jamak
Dengan cara yang sama dengan logika proposisional, kita
dapat memperluas penggunaan konjungsi dan disjungsi:
Konjungsi jamak T
1
T
2
T
3
T
n
adalah singkatan
dari
(( ((T
1
T
2
) T
3
) ) T
n
).
Disjungsi jamak T
1
T
2
T
3
T
n
adalah singkatan
dari
(( ((T
1
T
2
) T
3
) ) T
n
).
CC
2010 Reza Pulungan Logika Informatika 13
If-then-else
Construct if then else bisa jadi sebuah term atau kalimat,
tergantung pada ekspresi-ekspresi setelah then dan else.
Jika ekspresi setelah then dan else adalah term, maka
construct if-then-else adalah sebuah term. Contoh:
if (for all x)p(a, b, x) then f (a, b) else g(b, y)
adalah sebuah term.
Jika ekspresi setelah then dan else adalah kalimat, maka
construct if-then-else adalah sebuah kalimat. Contoh:
if (for all x)p(a, b, x) then (for some y)q(x, y) else r (y)
adalah sebuah kalimat.
CC
2010 Reza Pulungan Logika Informatika 14
Ekspresi
Denisi (Ekspresi (Expression))
Sebuah ekspresi dalam logika predikat adalah sebuah kalimat
atau sebuah term.
Oleh karena itu, baik x dan p(x) adalah ekspresi.
CC
2010 Reza Pulungan Logika Informatika 15
Sub-term, Sub-kalimat, Sub-Ekspresi
Denisi (Sub-term, Sub-kalimat dan Sub-ekspresi)
Setiap term antara yang digunakan untuk membangun
term t (termasuk t sendiri) atau kalimat T disebut sub-term
dari t atau T.
Setiap kalimat antara yang digunakan untuk membangun
term t atau kalimat T (termasuk T sendiri) disebut
sub-kalimat dari t atau T.
Term-term dan kalimat-kalimat antara yang digunakan
untuk membangun term t (termasuk t sendiri) disebut
sub-ekspresi dari t .
CC
2010 Reza Pulungan Logika Informatika 16
Sub-term, Sub-kalimat, Sub-Ekspresi
Denisi (Sub-term, Sub-kalimat dan Sub-ekspresi)
Term-term dan kalimat-kalimat antara yang digunakan
untuk membangun kalimat T (termasuk T sendiri) disebut
sub-ekspresi dari T.
Sub-term proper, sub-kalimat proper, atau sub-ekspresi
proper dari suatu ekspresi c adalah semua sub-term,
semua sub-kalimat, atau sub-ekspresi yang berbeda
dengan c.
CC
2010 Reza Pulungan Logika Informatika 17
Notasi
Mulai sekarang kita akan menggunakan notasi baru:
Notasi Lama Notasi Baru
(for all x) (x)
(for some x) (x)
Contoh:
(for all x)[p(a, x, f (a, x)) (for some y)q(g(b, x), y)]
(x)[p(a, x, f (a, x)) (y)q(g(b, x), y)].
CC
2010 Reza Pulungan Logika Informatika 18
Variabel Bebas dan Terikat
Denisi (Kemunculan bebas (free) dan terikat (bound))
Andaikan x adalah sebuah variabel dan c adalah sebuah
ekspresi logika predikat.
Kemunculan x disebut terikat dalam c jika dia berada
dalam scope quantier (x) atau (x) dalam c. Variabel x
terikat oleh quantier (x) atau (x) yang paling dalam
yang berisi kemunculan x dalam scopenya.
Kemunculan x disebut bebas dalam c jika dia tidak berada
dalam scope quantier (x) atau (x) dalam c.
Kemunculan x dalam quantier (x) atau (x) sendiri tidak
bebas dan tidak terikat.
CC
2010 Reza Pulungan Logika Informatika 19
Contoh
c = (x)[p(x, y) (y)q(y, z)].
Kemunculan x dalam p(x, y) terikat dalam c oleh
quantier (x).
Kemunculan y dalam p(x, y) bebas dalam c.
Kemunculan y dalam q(y, z) terikat dalam c oleh
quantier (y).
Kemunculan z dalam q(y, z) bebas dalam c.
CC
2010 Reza Pulungan Logika Informatika 20
Catatan
Jika T adalah subekspresi dari ekspresi c, kemunculan
variabel di T dapat bebas di T, namun terikat di c.
Contoh:
c = (x)(y)p(x, y),
T = (y)p(x, y).
Kemunculan x bebas di T, karena dia tidak berada dalam
scope quantier (x) atau (x).
Kemunculan x terikat di c, karena dia berada dalam scope
qunatier (x) di c.
CC
2010 Reza Pulungan Logika Informatika 21
Variabel Bebas dan Terikat
Denisi (Variabel bebas (free) dan terikat (bound))
Variabel x terikat dalam ekspresi c jika terdapat paling sedikit
satu kemunculan terikat dari x dalam c, dan bebas jika
terdapat paling sedikit satu kemunculan bebas x dalam c.
Contoh:
c = (x)[p(x, y) (y)q(y, z)]
Variabel x terikat dalam c,
Variabel z bebas dalam c,
Variabel y terikat dan bebas dalam c.
CC
2010 Reza Pulungan Logika Informatika 22
Kalimat Tertutup
Denisi (Kalimat tertutup)
Sebuah kalimat disebut tertutup jika tidak memiliki kemunculan
bebas dari variabel apa pun.
Contoh:
(x)p(x, y) adalah kalimat tidak tertutup,
(x)(y)p(x, y) adalah kalimat tertutup.
CC
2010 Reza Pulungan Logika Informatika 23
Simbol-Simbol Bebas
Denisi (Simbol-simbol bebas)
Simbol-simbol bebas dari ekspresi c adalah variabel-variabel
bebas dari c, semua konstanta, semua simbol fungsi, dan
semua simbol predikat dari c.
Contoh: Simbol-simbol bebas dari
c = (x)[p(x, y) (y)q(y, f (a, z))].
adalah:
Variabel-variabel y dan z,
Konstanta a,
Simbol fungsi f , dan
Simbol predikat p.
CC
2010 Reza Pulungan Logika Informatika 24
Interpretasi Kalimat (The
Meaning of a Sentence)
Interpretasi
Denisi (Interpretasi)
Andaikan D adalah sebuah himpunan tak kosong. Sebuah
interpretasi pada domain D memberikan nilai kepada tiap-tiap
simbol bebas, sebagai berikut:
Kepada tiap konstanta a sebuah elemen a
I
D,
Kepada tiap variabel x sebuah elemen x
I
D,
Kepada tiap simbol fungsi f dengan arity n, sebuah fungsi
f
I
(d
1
, , d
n
). Fungsi f
I
didenisikan pada argumen
d
1
, , d
n
D dan nilai dari f
I
(d
1
, , d
n
) D,
Kepada tiap simbol predikat p dengan arity n, sebuah
relasi p
I
(d
1
, , d
n
). Relasi p
I
didenisikan pada argumen
d
1
, , d
n
D dan nilai dari p
I
(d
1
, , d
n
) true, false.
Untuk suatu ekspresi c dalam logika predikat, sebuah
interpretasi I disebut untuk c jika I memberikan nilai kepada
tiap-tiap simbol bebas dari c.
CC
2010 Reza Pulungan Logika Informatika 26
Contoh
c = p(x, f (x)) = (x)p(a, y).
Andaikan interpretasi I didenisikan:
I :

2,
x ,
f (d)
d
2
,
p(d
1
, d
2
) (d
1
d
2
).
Maka arti intuitif dari kalimat c pada interpretasi I adalah:
Jika x >

2
, maka terdapat sebuah bilangan real d
sedemikian sehingga

2 d.
Perhatikan bahwa I tidak memberikan nilai kepada variabel y.
CC
2010 Reza Pulungan Logika Informatika 27
Aturan-Aturan Semantik
(Semantic Rules)
Aturan-Aturan Semantik Dasar
Denisi (Aturan-aturan semantik dasar)
Andaikan c adalah sebuah ekspresi dan I adalah sebuah
interpretasi untuk c pada domain D. Maka nilai dari c pada I
ditentukan dengan mengaplikasikan aturan-aturan berikut
secara berulang-ulang:
Aturan konstanta: nilai dari konstanta a adalah a
I
D.
Aturan variabel: nilai dari variabel x adalah x
I
D.
Aturan aplikasi: nilai dari aplikasi f (t
1
, , t
n
) adalah
f
I
(d
1
, , d
n
) D, di mana f
I
(d
1
, , d
n
) D adalah
fungsi yang diassign ke f dan d
1
, , d
n
adalah nilai dari
term-term t
1
, , t
n
pada I .
Aturan term if-then-else: nilai dari kondisional
if T then s else t adalah nilai dari term s jika kalimat T
bernilai true atau nilai dari term t jika kalimat T bernilai
false, pada I .
CC
2010 Reza Pulungan Logika Informatika 29
Aturan-Aturan Semantik Dasar
Denisi (Aturan-aturan semantik dasar)
Aturan true dan false: nilai dari simbol kebenaran T adalah
true dan nilai dari simbol kebenaran F adalah false.
Aturan proposisi: nilai dari proposisi p(t
1
, , t
n
) adalah
nilai kebenaran dari p
I
(d
1
, , d
n
), true atau false, di mana
p
I
adalah relasi yang diassign ke p dan d
1
, , d
n
adalah
nilai dari term-term t
1
, , t
n
, pada I .
Aturan-aturan untuk penghubung-penghubung logikal
, , , =, , if then else sama dengan pada
logika proposisional.
CC
2010 Reza Pulungan Logika Informatika 30
Contoh
c = p(y, f (y)) p(a, f (f (a))),
pada interpretasi I :
I :

a 0,
y 2,
f (d) d + 1,
p(d
1
, d
2
) (d
1
< d
2
).
Kita menentukan nilai dari disjunct yang pertama (p(y, f (y)))
sebagai berikut:
Dari aturan variabel, nilai dari y adalah 2,
Karena y adalah 2, dari aturan aplikasi, nilai dari f (y)
adalah 2 + 1, yaitu 3,
Karena y adalah 2, f (y) adalah 3, dari aturan proposisi,
nilai dari p(y, f (y)) adalah 2 < 3, yaitu true,
CC
2010 Reza Pulungan Logika Informatika 31
Contoh
Karena p(y, f (y)) bernilai true, dari aturan not, nilai dari
p(y, f (y)) adalah false.
Nilai dari disjunct yang kedua (p(a, f (f (a))) sebagai berikut:
Dari aturan konstanta, nilai dari a adalah 0,
Karena a adalah 0, dari aturan aplikasi, nilai dari f (a)
adalah 0 + 1, yaitu 1,
Karena f (a) adalah 1, dari aturan aplikasi, nilai dari f (f (a))
adalah 1 + 1, yaitu 2,
Karena a adalah 0, f (f (a)) adalah 2, dari aturan proposisi,
nilai dari p(a, f (f (a))) adalah 0 < 2, yaitu true.
Karena pada interpretasi I , nilai disjunct pertama (p(y, f (y)))
adalah true dan nilai disjunct kedua (p(a, f (f (a))) adalah true,
maka dari aturan or, nilai dari kalimat c adalah true.
CC
2010 Reza Pulungan Logika Informatika 32
Extended Interpretation
Denisi (Interpretasi Perluasan)
Andaikan I adalah sembarang interpretasi dengan domain D.
Untuk suatu variabel x dan elemen d D, interpretasi
perluasan:
x d) I
adalah interpretasi dengan domain D di mana:
Variabel x diberi nilai d,
Tiap variabel y selain x diberi nilai y
I
, yaitu nilai aslinya
pada I ,
Tiap konstanta a, simbol fungsi f , dan simbol predikat p
diberi nilai aslinya a
I
, f
I
dan p
I
pada I .
Catatan: Interpretasi perluasan untuk konstanta, simbol fungsi
dan simbol predikat didenisikan dengan cara yang mirip.
CC
2010 Reza Pulungan Logika Informatika 33
Extended Interpretation
Catatan 1: Interpretasi perluasan jamak dideniskan dengan
cara yang mirip dengan pada logika proposisional.
Catatan 2: Interpretasi perluasan memiliki sifat penting berikut:
Jika I adalah sebuah interpretasi untuk suatu kalimat
berbentuk (x)T atau (x)T, maka x d) I
adalah sebuah interpretasi untuk T.
CC
2010 Reza Pulungan Logika Informatika 34
Aturan-Aturan untuk Quantier
Denisi (Aturan for-all)
Andaikan I adalah sebuah interpretasi untuk kalimat (x)T
dengan domain D.
Nilai dari (x)T adalah true pada I jika untuk setiap
elemen d D, nilai dari T adalah true pada interpretasi
perluasan x d) I .
Nilai dari (x)T adalah false pada I jika terdapat sebuah
elemen d D sedemikian sehingga nilai dari T adalah
false pada interpretasi perluasan x d) I .
CC
2010 Reza Pulungan Logika Informatika 35
Aturan-Aturan untuk Quantier
Denisi (Aturan for-some)
Andaikan I adalah sebuah interpretasi untuk kalimat (x)T
dengan domain D.
Nilai dari (x)T adalah true pada I jika terdapat sebuah
elemen d D sedemikian sehingga nilai dari T adalah
true pada interpretasi perluasan x d) I .
Nilai dari (x)T adalah false pada I jika untuk setiap
elemen d D, nilai dari T adalah false pada interpretasi
perluasan x d) I .
CC
2010 Reza Pulungan Logika Informatika 36
Contoh
c = (x)p(x, y),
pada interpretasi I dengan D = N
+
:
I :

y 2,
p(d
1
, d
2
) (d
1
< d
2
).
Kita klaim bahwa c bernilai true pada I .
Bukti: dari aturan for-some, kita harus menunjukkan bahwa:
terdapat sebuah d D s.s. nilai dari p(x, y) adalah
true pada interpretasi perluasan x d) I .
Ambil d = 1. Pada x 1) I , x adalah 1, y adalah 2. Dari
aturan proposisi, nilai dari p(x, y) adalah 1 < 2, yaitu true pada
interpretasi x 1) I .
Maka kalimat c bernilai true pada I .
CC
2010 Reza Pulungan Logika Informatika 37
Contoh
T = (x)(y)p(x, y) = p(a, f (a)),
pada interpretasi I dengan D = R
+
:
I :

a 1,
f (d)

d,
p(d
1
, d
2
) (d
1
,= d
2
).
Kita klaim bahwa T bernilai false pada I .
Bukti: Kita perlihatkan bahwa pada interpretasi ini, antecedent
((x)(y)p(x, y)) bernilai true dan consequent (p(a, f (a)))
bernilai false.
(1) Karena pada I , a adalah 1 dan f (a) adalah

1, yaitu 1,
maka dari aturan proposisi, nilai dari consequent p(a, f (a))
adalah 1 ,= 1, yaitu false pada I .
CC
2010 Reza Pulungan Logika Informatika 38
Contoh
(2) Untuk menunjukkan bahwa antecedent bernilai true pada I ,
dari aturan for-all, kita harus menunjukkan bahwa:
untuk semua d D, nilai dari subkalimat (y)p(x, y)
adalah true pada interpretasi perluasan x d) I .
Untuk itu, kita tunjukkan, dari aturan for-some, bahwa:
untuk semua d D, terdapat d

D s.s. nilai dari


proposisi p(x, y) adalah true pada interpretasi
perluasan y d

) x d) I .
Untuk sembarang d, ambil d

= d + 1. Maka karena x adalah


d, y adalah d + 1, dari aturan proposisi, nilai dari p(x, y)
adalah d ,= d + 1, yaitu true pada interpretasi perluasan
y d

) x d) I .
CC
2010 Reza Pulungan Logika Informatika 39
Contoh
Dengan demikian nilai dari antecedent (x)(y)p(x, y) adalah
true pada interpretasi I .
Dari (1) dan (2), kita menyimpulkan bahwa T bernilai true
(aturan implikasi).
CC
2010 Reza Pulungan Logika Informatika 40
Kesetujuan (Agreement)
Denisi (Kesetujuan (Agreement))
Dua interpretasi setuju pada suatu simbol jika:
merekamemberikan nilai yang sama kepada simbol
tersebut, atau
mereka tidak memberikan nilai apa pun kepada simbol
tersebut.
Dua interpretasi I dan J setuju pada sebuah ekspresi c jika:
nilai dari c pada I sama dengan nilai dari c pada J, atau
baik I maupun J bukan interpretasi untuk 1.
CC
2010 Reza Pulungan Logika Informatika 41
Kesetujuan (Agreement)
Teorema
Jika dua interpretasi (dengan domain yang sama) untuk
ekspresi c setuju pada tiap-tiap simbol bebas dari c, maka
mereka setuju pada c sendiri.
Catatan untuk interpretasi perluasan jamak: Andaikan c adalah
sebuah ekspresi dan I adalah sebuah interpretasi untuk c
dengan domain D. Andaikan x
1
, , x
n
adalah
variabel-variabel yang tidak muncul bebas dalam c dan
d
1
, , d
n
adalah sembarang elemen dari D. Maka interpretasi
perluasan jamak:
J = x
1
d
1
) x
n
d
n
) I ,
dan I setuju pada c.
CC
2010 Reza Pulungan Logika Informatika 42
Validitas (Validity)
Membuktikan Validitas
CC
2010 Reza Pulungan Logika Informatika 44
Membuktikan Non-Validitas
CC
2010 Reza Pulungan Logika Informatika 45
Contoh Kalimat-Kalimat Valid
Kalimat logika proposisional valid:
(x)p(x) (x)p(x),
(y)[(x)q(x, y) = (x)q(x, y)].
Menghilangkan dan memasukkan quantier:
(x)p(x) = p(a),
p(a) = (x)p(x).
Menamai ulang variabel:
(x)p(x) (y)p(y),
(x)p(x) (y)p(y).
CC
2010 Reza Pulungan Logika Informatika 46
Contoh Kalimat-Kalimat Valid
Mengubah urutan quantier:
(x)(y)p(x, y) (y)(x)p(x, y),
(x)(y)p(x, y) (y)(x)p(x, y),
(y)(x)p(x, y) = (x)(y)p(x, y).
Menghilangkan quantier redundant:
(x)(x)p(x) (x)p(x),
(x)(x)p(x) (x)p(x),
(y)(x)p(x, y) = (x)(y)p(x, y).
Dualitas quantier:
(x)p(x) (x)p(x),
(x)p(x) (x)p(x).
CC
2010 Reza Pulungan Logika Informatika 47
Contoh Kalimat-Kalimat Valid
Distribusi quantier:
(x)[p(x) q(x)] [(x)p(x) (x)q(x)],
(x)[p(x) q(x)] [(x)p(x) (x)q(x)],
(x)[p(x) = q(x)] [(x)p(x) = (x)q(x)].
Distribusi kondisional:
(x)[p(if r (x) then a else b)
(if r (x) then p(a) else p(b))],
(x)[p(f (if r (x) then a else b))
p((if r (x) then f (a) else f (b)))].
CC
2010 Reza Pulungan Logika Informatika 48
Konsep-Konsep Tambahan
Denisi (Satisable, contradictory dan consistent)
Sebuah kalimat tertutup T disebut satisable jika bernilai
true pada suatu interpretasi I untuk T,
Sebuah kalimat tertutup T disebut contradictory jika
bernilai false pada semua interpretasi untuk T,
Sekumpulan kalimat tertutup T
1
, T
2
, disebut consistent
jika terdapat interpretasi untuk T
1
, T
2
, di mana semua
T
i
bernilai true.
Contoh:
Kalimat T = (x)p(x) adalah satisable.
Kalimat ( = (x)p(x) (x)p(x) adalah contradictory.
CC
2010 Reza Pulungan Logika Informatika 49
Closure Universal dan
Eksistensial (Universal
and Existential Closure)
Denisi
Denisi (Closure Universal dan Eksistensial)
Andaikan x
1
, , x
n
adalah daftar dari semua variabel bebas
yang berbeda di kalimat T (terurut sesuai dengan kemunculan
pertama mereka). Maka:
Closure universal dari T, dilambangkan dengan ()T,
adalah kalimat tertutup:
(x
1
) (x
n
)T.
Closure eksistensial dari T, dilambangkan dengan ()T,
adalah kalimat tertutup:
(x
1
) (x
n
)T.
CC
2010 Reza Pulungan Logika Informatika 51
Contoh
Variabel-variabel bebas dari kalimat:
( = (z)[(q(y, z) r (x)) (w)p(y, z, w)],
(sesuai dengan urutan kemunculannya) y dan x.
Maka closure universal ()( adalah:
(y)(x)(z)[(q(y, z) r (x)) (w)p(y, z, w)],
dan closure existensial ()( adalah:
(y)(x)(z)[(q(y, z) r (x)) (w)p(y, z, w)],
CC
2010 Reza Pulungan Logika Informatika 52
Aturan Semantik Closure Universal
Teorema
Andaikan T adalah kalimat dan I adalah interpretasi, dengan
domain D, untuk ()T. Andaikan x
1
, , x
n
adalah semua
variabel bebas berbeda di kalimat T (terurut sesuai dengan
kemunculan pertama mereka). Maka:
nilai dari ()T adalah true pada I (closure)
persis ketika:
untuk semua d
1
, , d
n
D, nilai dari T adalah true
pada interpretasi perluasan
x
1
d
1
) x
n
d
n
) I (extension)
persis ketika:
untuk semua interpretasi J untuk T yang setuju
dengan I pada simbol-simbol bebas dari ()T, T
bernilai true pada J. (agreement)
CC
2010 Reza Pulungan Logika Informatika 53
Contoh
Perhatikan kalimat:
T = q(x
1
, x
2
) q(x
1
, x
2
).
Variabel-variabel bebas T, dengan urutan kemunculan, adalah
x
1
dan x
2
. Closure universal dari T adalah:
()T = (x
1
)(x
2
)[q(x
1
, x
2
) q(x
1
, x
2
)].
Satu-satunya simbol bebas ()T adalah simbol predikat q.
Sebuah interpretasi I dengan domain D untuk ()T harus
memberikan nilai q
I
kepada q, namun tidak mesti memberikan
elemen-elemen apa pun dari D kepada x
1
dan x
2
.
CC
2010 Reza Pulungan Logika Informatika 54
Contoh
Menurut teorema:
()T bernilai true pada I ,
persis ketika:
untuk semua elemen d
1
, d
2
D T bernilai true pada
x
1
d
1
) x
1
d
1
) I ,
persis ketika:
untuk semua interpretasi J untuk T yang setuju
dengan I pada simbol predikat q, kalimat T bernilai
true pada J
CC
2010 Reza Pulungan Logika Informatika 55
Aturan Semantik Closure Eksistensial
Teorema
Andaikan T adalah kalimat dan I adalah interpretasi, dengan
domain D, untuk ()T. Andaikan x
1
, , x
n
adalah semua
variabel bebas berbeda di kalimat T (terurut sesuai dengan
kemunculan pertama mereka). Maka:
nilai dari ()T adalah true pada I (closure)
persis ketika:
terdapat d
1
, , d
n
D s.s. nilai dari T adalah true
pada interpretasi perluasan
x
1
d
1
) x
n
d
n
) I (extension)
persis ketika:
terdapat interpretasi J untuk T yang setuju dengan I
pada simbol-simbol bebas dari ()T s.s. T bernilai
true pada J. (agreement)
CC
2010 Reza Pulungan Logika Informatika 56
Validitas dan Satisability Closure
Teorema
Untuk semua kalimat T:
Closure universal ()T valid persis ketika T bernilai true
pada semua interpretasi untuk T, (validitas)
Closure eksistensial ()T satisable persis ketika T
bernilai true pada suatu interpretasi untuk T. (satisability)
CC
2010 Reza Pulungan Logika Informatika 57
Skemata Kalimat Valid
(Valid Sentence
Schemata)
Pengantar
Kita telah melihat salah satu contoh kalimat valid:
(x)p(x) (x)p(x),
Kita tidak bisa langsung menyimpulkan bahwa kalimat
dalam bentuk yang mirip:
(x)[(x)q(x, y)] (x)[(x)q(x, y)]
adalah juga valid,
Dari pada melakukannya satu-per-satu, lebih baik kita
membuktikan bahwa suatu kelas kalimat valid berdasarkan
bentuknya,
Untuk contoh di atas, kita dapat melakukannya dengan
membuktikan bahwa untuk sembarang kalimat T, closure
universal dari:
(x)T (x)T
adalah valid.
CC
2010 Reza Pulungan Logika Informatika 59
Pengantar
Jika kita sudah bisa membuktikan itu, validitas kedua
kalimat contoh di awal secara langsung terbukti dengan
mengasumsikan bahwa T = p(x) dan T = (x)q(x, y),
Kalimat-kalimat yang mewakili kelasnya, yaitu yang berisi
T, (, H dan sebagainya, kita sebut skema kalimat,
Kalimat turunan dari skema kalimat disebut instance dari
skema kalimat.
Catatan: Berbeda dengan logika proposisional, kita harus
membuktikan closure universal dari skema kalimat, karena
skema kalimat tersebut bisa jadi berisi variabel-variabel bebas.
CC
2010 Reza Pulungan Logika Informatika 60
Validitas suatu Skema
Membuktikan validitas skema kalimat:
(x)T (x)T.
Ini berarti kita harus menunjukkan bahwa kalimat:
()[(x)T (x)T]
adalah valid,
Dengan menggunakan Teorema validitas closure, kita
harus menunjukkan bahwa sub-kalimat:
c = (x)T (x)T
bernilai true pada semua interpretasi.
CC
2010 Reza Pulungan Logika Informatika 61
Validitas suatu Skema
Dari aturan if-and-only-if, kita harus menunjukkan bahwa:
(x)T
dan
(x)T
memiliki nilai kebenaran yang sama pada semua
interpretasi.
CC
2010 Reza Pulungan Logika Informatika 62
Validitas suatu Skema
Ambil sembarang interpretasi I untuk c.
Kita dapatkan bahwa:
(x)T bernilai true pada I ,
persis ketika (dari aturan not):
(x)T bernilai false pada I ,
persis ketika (dari aturan for-all):
terdapat sebuah d D s.s. T bernilai false pada
x d) I ,
persis ketika (dari aturan not):
terdapat sebuah d D s.s. T bernilai true pada
x d) I ,
persis ketika (dari aturan for-some):
(x)T bernilai true pada I .
CC
2010 Reza Pulungan Logika Informatika 63
Skemata Kalimat Valid
Mengubah Urutan Quantier
(x)(y)T (y)(x)T
(x)(y)T (y)(x)T
(y)(x)T = (x)(y)T
CC
2010 Reza Pulungan Logika Informatika 65
Dualitas Quantier
(x)T (x)T
(x)T (x)T
CC
2010 Reza Pulungan Logika Informatika 66
Distribusi Quantier (Ekuivalensi)
(x)[T (] [(x)T (x)(]
(x)[T (] [(x)T (x)(]
(x)[T = (] [(x)T = (x)(]
CC
2010 Reza Pulungan Logika Informatika 67
Distribusi Quantier (Implikasi)
(x)[T (] = [(x)T (x)(]
[(x)T (x)(] = (x)[T (]
[(x)T = (x)(] = (x)[T = (]
(x)[T = (] = [(x)T = (x)(]
CC
2010 Reza Pulungan Logika Informatika 68
Kalimat Logika Proposisional Valid
Teorema
Jika kalimat logika proposisional c valid, maka closure
universal dari instance logika predikat dari c adalah valid.
Contoh: Dari skemata kalimat valid di logika proposisional kita
tahu bahwa skema kalimat:
T = (T ()
adalah valid.
CC
2010 Reza Pulungan Logika Informatika 69
Kalimat Logika Proposisional Valid
Andaikan kita ingin membuat instance logika predikat dari
skema kalimat di atas, di mana T = p(x) dan ( = (y)q(x, y).
Teorema di atas menyebutkan bahwa closure universal dari
kalimat:
p(x) = (p(x) (y)q(x, y)),
yaitu:
()[p(x) = (p(x) (y)q(x, y))],
yaitu:
(x)[p(x) = (p(x) (y)q(x, y))],
adalah valid.
CC
2010 Reza Pulungan Logika Informatika 70
Kalimat Valid dengan Kondisi
Tambahan
Kalimat-kalimat tertentu tidak valid secara umum, namun valid
jika kondisi-kondisi tambahan tertentu dapat dipenuhi.
Closure universal dari kalimat-kalimat di beberapa slide setelah
ini valid jika kondisi tambahannya terpenuhi.
CC
2010 Reza Pulungan Logika Informatika 71
Quantier Redundant
Kondisi tambahan: variabel x tidak muncul bebas di kalimat (.
(x)( (
(x)( (
CC
2010 Reza Pulungan Logika Informatika 72
Distribusi Quantier (Universal)
Kondisi tambahan: variabel x tidak muncul bebas di kalimat (.
(x)[T (] (x)T (
(x)[T (] (x)T (
(x)[T = (] [(x)T = (]
(x)[( = T] [( = (x)T]
(x)[if ( then c else T] [if ( then (x)c else (x)T]
CC
2010 Reza Pulungan Logika Informatika 73
Distribusi Quantier (Existential)
Kondisi tambahan: variabel x tidak muncul bebas di kalimat (.
(x)[T (] (x)T (
(x)[T (] (x)T (
(x)[T = (] [(x)T = (]
(x)[( = T] [( = (x)T]
(x)[if ( then c else T] [if ( then (x)c else (x)T]
CC
2010 Reza Pulungan Logika Informatika 74
Ekuivalensi (Equivalence)
Implikasi dan Ekuivalensi
Denisi (Implikasi dan Ekuivalensi)
Sebuah kalimat T mengimplikasikan kalimat ( jika, untuk
semua interpretasi I untuk T dan (, jika T bernilai true
pada I , maka ( bernilai true pada I ,
Dua kalimat T dan ( adalah ekuivalen jika, pada semua
interpretasi I untuk T dan (, nilai kebenaran T sama
dengan nilai kebenaran (.
Catatan: T dan ( tidak mesti kalimat tertutup.
CC
2010 Reza Pulungan Logika Informatika 76
Implikasi, Ekuivalensi dan Validitas
T mengimplikasikan (
persis ketika
()[T = (] adalah valid,
T dan ( adalah ekuivalen
persis ketika
()[T (] adalah valid.
CC
2010 Reza Pulungan Logika Informatika 77
Contoh
Kita telah melihat bahwa kalimat tertutup:
(x)p(x) (x)p(x)
adalah valid. Oleh karena itu, kalimat (x)p(x) dan kalimat
(x)p(x) adalah ekuivalen.
Kita juga telah melihat bahwa closure universal dari:
(y)q(x, y) (y)q(x, y)
adalah valid. Maka, kalimat (y)q(x, y) dan kalimat
(y)q(x, y) adalah ekuivalen.
CC
2010 Reza Pulungan Logika Informatika 78
Contoh
Lebih umum lagi, kita telah melihat bahwa skema kalimat:
(x)T (x)T
adalah valid. Oleh karena itu untuk semua kalimat T, kalimat
(x)T dan kalimat (x)T adalah ekuivalen.
CC
2010 Reza Pulungan Logika Informatika 79
Implikasi, Ekuivalensi dan Validitas
Teorema (Implikasi dan Validitas)
Jika T mengimplikasikan (,
maka jika ()T adalah valid,
maka ()( adalah valid.
Teorema (Ekuivalensi dan Validitas)
Jika T dan ( ekuivalen,
maka ()T adalah valid,
persis ketika ()( adalah valid.
CC
2010 Reza Pulungan Logika Informatika 80
Kalimat Logika Proposisional
Ekuivalen
Teorema (Instance dari Kalimat-Kalimat Logika Proposisional
yang Ekuivalen)
Jika dua kalimat logika proposisional T dan ( adalah
ekuivalen, maka instance-instance logika predikat dari T dan (
adalah juga ekuivalen.
CC
2010 Reza Pulungan Logika Informatika 81
Sifat-Sifat Closure
Teorema (Dualitas dari Closure)
Untuk sembarang kalimat T:
()T adalah ekuivalen dengan ()T,
dan
()T adalah ekuivalen dengan ()T.
CC
2010 Reza Pulungan Logika Informatika 82
Sifat-Sifat Closure
Teorema (Distribusi Closure)
Untuk sembarang kalimat T dan (, kalimat-kalimat berikut
adalah valid:
()[T (] [()T ()(],
()[T (] [()T ()(],
[()T ()(] = ()[T (],
()[T (] = [()T ()(],
()[T = (] = [()T = ()(],
[()T = ()(] = ()[T = (].
CC
2010 Reza Pulungan Logika Informatika 83
Pergantian Kalimat Ekuivalen
Teorema (Kalimat-Kalimat Ekuivalen Saling Menggantikan)
Untuk sembarang kalimat-kalimat (, (

dan T, andaikan T

adalah hasil dari menggantikan nol, satu, atau lebih


kemunculan dari ( di T dengan (

. Maka:
Jika ( dan (

adalah ekuivalen,
maka T dan T

adalah ekuivalen.
CC
2010 Reza Pulungan Logika Informatika 84
Contoh
Perhatikan kalimat-kalimat ( = p(x) p(x) dan (

= p(x). Dari
logika proposisional kedua kalimat tersebut ekuivalen.
Dari teorema sebelumnya, kalimat:
T = (x)(y)[(p(x) p(x)) r (y, z)]
dan kalimat:
T

= (x)(y)[p(x) r (y, z)]


adalah ekuivalen.
CC
2010 Reza Pulungan Logika Informatika 85
Menamai Ulang Variabel Terikat
Teorema (Menamai Ulang Variabel Terikat)
Andaikan (x)( adalah sebuah kalimat, di mana (x)
adalah sebuah quantier, bisa jadi (x) atau (x).
Andaikan x

adalah sebuah variabel yang tidak muncul di


(x)(, dan (

adalah hasil dari menggantikan semua


kemunculan bebas x dengan x

di (.
Andaikan T adalah sebuah kalimat dan T

adalah hasil
dari menggantikan satu atau lebih kemunculan dari (x)(
di T dengan (x

)(

.
Maka:
T dan T

adalah ekuivalen.
CC
2010 Reza Pulungan Logika Informatika 86
Contoh
Kalimat:
( = (x)[p(u) r (x)]
adalah ekuivalen dengan kalimat:
(

= (y)[p(u) r (y)]
Maka, kalimat:
T = (z)[p(z) r (z)] [p(u) = (x)[p(u) r (x)]]
adalah ekuivalen dengan kalimat:
T

= (z)[p(z) r (z)] [p(u) = (y)[p(u) r (y)]].


CC
2010 Reza Pulungan Logika Informatika 87
Contoh
Penting: Sewaktu menamai variabel, variabel baru yang dipilih
mesti belum muncul di dalam sub-kalimat yang digantikan.
Kalimat:
T = (x)p(x, y)
tidak ekuivalen dengan kalimat:
T

= (y)q(y, y).
Kalimat:
( = (x)(y)p(x, y)
tidak ekuivalen dengan kalimat:
(

= (y)(y)q(y, y).
CC
2010 Reza Pulungan Logika Informatika 88
Contoh: Quantier Bertingkat
Kalimat:
T = (x)[p(x) (x)q(x, y)]
adalah ekuivalen dengan kalimat:
T

= (x)[p(x) (x

)q(x

, y)].
Ini karena, kemunculan variabel x di p(x) diikat oleh quantier
(x), namun kemunculan dari variabel x di q(x, y) diikat oleh
quantier (x). Dengan demikian teorema sebelumnya berlaku.
CC
2010 Reza Pulungan Logika Informatika 89

Anda mungkin juga menyukai