Slide Predicate Logic

download Slide Predicate Logic

of 89

Transcript of Slide Predicate Logic

Logika InformatikaDr.-Ing. Reza Pulungan, M.Sc([email protected])Jurusan Ilmu Komputer dan ElektronikaUniversitas Gadjah MadaYogyakartaSeptember 20, 2011Logika Predikat(Predicate Logic)PengantarLogika proposisional terlalu kasar dan primitif untukmengungkapkan konsep obyek, sifat-sifatdari obyek danhubungan antara obyek.Logika predikat yang akan kita diskusikan memperluaslogika proposisional dalam perkara ini.Dengan cara yang sama dengan logika proposisional, kitajuga akan mendiskusikan bagaimana membangun sebuahkalimat dan kemudian menentukan kebenaran dari kalimattersebut dalam logika predikat.CC2010 Reza Pulungan Logika Informatika 3Bahasa (Language)SimbolDenisi (Simbol (Symbol))Kalimat-kalimat dalam logika predikat dibangun olehsimbol-simbol berikut:Simbol-simbol kebenaran: TRUEdan FALSE.Simbol-simbol konstanta (constants):a, b, c, a, b, c, a1, b1, c1, a2, b2, c2,.Simbol-simbol variabel (variables):u, v, w, x, y, z, u, v, x, y, z, u1, v1,.Simbol-simbol fungsi (functions):f , g, h, f1, g1, h1, f2, g2, h2,.Simbol-simbol predikat (predicate):p, q, r , p1, q1, r1, p2, q2, r2,.CC2010 Reza Pulungan Logika Informatika 5SimbolSetiap simbol fungsi memiliki arity, yaitu suatu bilanganbulat positif, yang mengindikasikan banyaknya argumenfungsi tersebut.Setiap simbol predikat juga memiliki arity.Fungsi atau predikat dengan arity ndisebut fungsi ataupredikat n-ary. 1-ary, 2-ary, 3-ary disebut unary, binary danternary.Konstanta dan variabel akan melambangkan obyek-obyek,sementara fungsi dan predikat akan melambangkan fungsidan relasi antara obyek-obyek yang ada.Kita akan membangun bahasa logika predikat dalam 3tahap: kita denisikan term, kemudian proposisi, danterakhir kalimat.CC2010 Reza Pulungan Logika Informatika 6TermDenisi (Term (Term))Sebuah term dalam logika predikat adalah sebuah ekspresiyang melambangkan obyek. Term-term dibangun denganaturan-aturan berikut:Setiap simbol konstanta adalah sebuah term.Setiap simbol variabel adalah sebuah term.Jika t1, t2,, tnadalah term-term, di mana n 1 dan fadalah sebuah fungsi n-ary, maka aplikasi f (t1, t2,, tn)adalah sebuah term.Jika Tadalah sebuah kalimat dan sdan t adalah term,maka kondisional if Tthenselset adalah sebuah term.CC2010 Reza Pulungan Logika Informatika 7ContohAndaikan f adalah sebuah fungsi binary dan gadalah sebuahfungsi ternary, maka:aadalah sebuah term.xadalah sebuah term.f (a, x) adalah sebuah term.g(x, f (a, x), a) adalah sebuah term.CC2010 Reza Pulungan Logika Informatika 8ProposisiDenisi (Proposisi (Proposition))Sebuah proposisi dalam logika predikat merepresentasikanrelasi (hubungan) antara obyek-obyek. Proposisi-proposisidibangun dengan aturan-aturan berikut:Setiap simbol kebenaran adalah sebuah proposisi.Jika t1, t2,, tnadalah term-term, di mana n 1 dan padalah sebuah predikat n-ary, maka aplikasip(t1, t2,, tn) adalah sebuah proposisi.Contoh: Jika padalah sebuah predikat ternary, maka:p(a, x, f (a, x))adalah sebuah proposisi.CC2010 Reza Pulungan Logika Informatika 9KalimatDenisi (Kalimat (Sentence))Kalimat-kalimat dalam logika predikat dibangun olehproposisi-proposisi (seperti halnya di logika proposisional)dengan aturan-aturan berikut:Setiap proposisi adalah sebuah kalimat.Jika Tadalah kalimat, maka negasinya (T) adalahkalimat.Jika Tdan (adalah kalimat, maka konjungsi (T () dandisjungsi (T () mereka adalah kalimat.Jika Tdan (adalah kalimat, maka implikasi (T= () danekuivalensi (T () mereka adalah kalimat.Jika T, (, dan H adalah kalimat, maka kondisionalif Tthen (else H adalah kalimat.CC2010 Reza Pulungan Logika Informatika 10KalimatDenisi (Kalimat (Sentence))Jika xadalah variabel dan Tadalah kalimat, maka:(for all x)Tadalah kalimat. Prex for all disebut juga universalquantier.Jika xadalah variabel dan Tadalah kalimat, maka:(for somex)Tadalah kalimat. Prex for somedisebut juga existentialquantier. Prex ini sering juga digantikan oleh prexthereexists.Catatan: Kalimat Tdisebut scope dari quantier yangmendahuluinya.CC2010 Reza Pulungan Logika Informatika 11ContohAndaikan fungsi f dan gdan predikat qadalah binary, sertapredikat padalah ternary, makap(a, x, f (a, x)) adalah kalimat (karena dia adalahproposisi).q(g(b, x), y) adalah kalimat (karena dia adalah proposisi).(for somey)q(g(b, x), y)adalah kalimat (karena scopedari (for somey) adalah sebuah kalimat).p(a, x, f (a, x)) (for somey)q(g(b, x), y)adalah kalimat(karena masing-masing conjunct adalah sebuah kalimat).(for all x)[p(a, x, f (a, x)) (for somey)q(g(b, x), y)]adalah kalimat (karena scope dari for all xadalah sebuahkalimat).CC2010 Reza Pulungan Logika Informatika 12Konjungsi dan Disjungsi JamakDengan cara yang sama dengan logika proposisional, kitadapat memperluas penggunaan konjungsi dan disjungsi:Konjungsi jamak T1 T2 T3 Tnadalah singkatandari(( ((T1 T2) T3)) Tn).Disjungsi jamak T1 T2 T3 Tnadalah singkatandari(( ((T1 T2) T3)) Tn).CC2010 Reza Pulungan Logika Informatika 13If-then-elseConstruct if then elsebisa jadi sebuah term atau kalimat,tergantung pada ekspresi-ekspresi setelah then dan else.Jika ekspresi setelah then dan else adalah term, makaconstruct if-then-else adalah sebuah term. Contoh:if (for all x)p(a, b, x)thenf (a, b) elseg(b, y)adalah sebuah term.Jika ekspresi setelah then dan else adalah kalimat, makaconstruct if-then-else adalah sebuah kalimat. Contoh:if (for all x)p(a, b, x)then(for somey)q(x, y) elser (y)adalah sebuah kalimat.CC2010 Reza Pulungan Logika Informatika 14EkspresiDenisi (Ekspresi (Expression))Sebuah ekspresi dalam logika predikat adalah sebuah kalimatatau sebuah term.Oleh karena itu, baik xdan p(x) adalah ekspresi.CC2010 Reza Pulungan Logika Informatika 15Sub-term, Sub-kalimat, Sub-EkspresiDenisi (Sub-term, Sub-kalimat dan Sub-ekspresi)Setiap term antara yang digunakan untuk membangunterm t (termasuk t sendiri) atau kalimat Tdisebut sub-termdari t atau T.Setiap kalimat antara yang digunakan untuk membangunterm t atau kalimat T(termasuk Tsendiri) disebutsub-kalimat dari t atau T.Term-term dan kalimat-kalimat antara yang digunakanuntuk membangun term t (termasuk t sendiri) disebutsub-ekspresi dari t .CC2010 Reza Pulungan Logika Informatika 16Sub-term, Sub-kalimat, Sub-EkspresiDenisi (Sub-term, Sub-kalimat dan Sub-ekspresi)Term-term dan kalimat-kalimat antara yang digunakanuntuk membangun kalimat T(termasuk Tsendiri) disebutsub-ekspresi dari T.Sub-term proper, sub-kalimat proper, atau sub-ekspresiproper dari suatu ekspresi cadalah semua sub-term,semua sub-kalimat, atau sub-ekspresi yang berbedadengan c.CC2010 Reza Pulungan Logika Informatika 17NotasiMulai sekarang kita akan menggunakan notasi baru:Notasi Lama Notasi Baru(for all x) (x)(for somex) (x)Contoh:(for all x)[p(a, x, f (a, x)) (for somey)q(g(b, x), y)] (x)[p(a, x, f (a, x)) (y)q(g(b, x), y)].CC2010 Reza Pulungan Logika Informatika 18Variabel Bebas dan TerikatDenisi (Kemunculan bebas (free) dan terikat (bound))Andaikan xadalah sebuah variabel dan cadalah sebuahekspresi logika predikat.Kemunculan xdisebut terikat dalam cjika dia beradadalam scope quantier (x) atau (x) dalam c. Variabel xterikat oleh quantier (x) atau (x) yang paling dalamyang berisi kemunculan xdalam scopenya.Kemunculan xdisebut bebas dalam cjika dia tidak beradadalam scope quantier (x) atau (x) dalam c.Kemunculan xdalam quantier (x) atau (x) sendiri tidakbebas dan tidak terikat.CC2010 Reza Pulungan Logika Informatika 19Contohc= (x)[p(x, y) (y)q(y, z)].Kemunculan xdalam p(x, y) terikat dalam colehquantier (x).Kemunculan ydalam p(x, y)bebas dalam c.Kemunculan ydalam q(y, z) terikat dalam colehquantier (y).Kemunculan zdalam q(y, z) bebas dalam c.CC2010 Reza Pulungan Logika Informatika 20CatatanJika Tadalah subekspresi dari ekspresi c, kemunculanvariabel di Tdapat bebas di T, namun terikat di c.Contoh:c= (x)(y)p(x, y),T= (y)p(x, y).Kemunculan xbebas di T, karena dia tidak berada dalamscope quantier (x) atau (x).Kemunculan xterikat di c, karena dia berada dalam scopequnatier (x) di c.CC2010 Reza Pulungan Logika Informatika 21Variabel Bebas dan TerikatDenisi (Variabel bebas (free) dan terikat (bound))Variabel xterikat dalam ekspresi cjika terdapat paling sedikitsatu kemunculan terikat dari xdalam c, dan bebas jikaterdapat paling sedikit satu kemunculan bebas xdalam c.Contoh:c= (x)[p(x, y) (y)q(y, z)]Variabel xterikat dalam c,Variabel zbebas dalam c,Variabel yterikat dan bebas dalam c.CC2010 Reza Pulungan Logika Informatika 22Kalimat TertutupDenisi (Kalimat tertutup)Sebuah kalimat disebut tertutup jika tidak memiliki kemunculanbebas dari variabel apa pun.Contoh:(x)p(x, y)adalah kalimat tidak tertutup,(x)(y)p(x, y)adalah kalimat tertutup.CC2010 Reza Pulungan Logika Informatika 23Simbol-Simbol BebasDenisi (Simbol-simbol bebas)Simbol-simbol bebas dari ekspresi cadalah variabel-variabelbebas dari c, semua konstanta, semua simbol fungsi, dansemua simbol predikat dari c.Contoh: Simbol-simbol bebas daric= (x)[p(x, y) (y)q(y, f (a, z))].adalah:Variabel-variabel ydan z,Konstanta a,Simbol fungsi f , danSimbol predikat p.CC2010 Reza Pulungan Logika Informatika 24Interpretasi Kalimat (TheMeaning of a Sentence)InterpretasiDenisi (Interpretasi)Andaikan Dadalah sebuah himpunan tak kosong. Sebuahinterpretasi pada domain Dmemberikan nilai kepada tiap-tiapsimbol bebas, sebagai berikut:Kepada tiap konstanta asebuah elemen aI D,Kepada tiap variabel xsebuah elemen xI D,Kepada tiap simbol fungsi f dengan arity n, sebuah fungsifI(d1,, dn). Fungsi fIdidenisikan pada argumend1,, dn Ddan nilai dari fI(d1,, dn) D,Kepada tiap simbol predikat pdengan arity n, sebuahrelasi pI(d1,, dn). Relasi pIdidenisikan pada argumend1,, dn Ddan nilai dari pI(d1,, dn) true, false.Untuk suatu ekspresi cdalam logika predikat, sebuahinterpretasi I disebut untuk cjika I memberikan nilai kepadatiap-tiap simbol bebas dari c.CC2010 Reza Pulungan Logika Informatika 26Contohc= p(x, f (x)) = (x)p(a, y).Andaikan interpretasi I didenisikan:I :a 2,x ,f (d) d2,p(d1, d2) (d1 d2).Maka arti intuitif dari kalimat cpada interpretasi I adalah:Jika x>2, maka terdapat sebuah bilangan real dsedemikian sehingga2 d.Perhatikan bahwa I tidak memberikan nilai kepada variabel y.CC2010 Reza Pulungan Logika Informatika 27Aturan-Aturan Semantik(Semantic Rules)Aturan-Aturan Semantik DasarDenisi (Aturan-aturan semantik dasar)Andaikan cadalah sebuah ekspresi dan I adalah sebuahinterpretasi untuk cpada domain D. Maka nilai dari cpada Iditentukan dengan mengaplikasikan aturan-aturan berikutsecara berulang-ulang:Aturan konstanta: nilai dari konstanta aadalah aI D.Aturan variabel: nilai dari variabel xadalah xI D.Aturan aplikasi: nilai dari aplikasi f (t1,, tn) adalahfI(d1,, dn) D, di mana fI(d1,, dn) Dadalahfungsi yang diassign ke f dan d1,, dnadalah nilai dariterm-term t1,, tnpada I .Aturan term if-then-else: nilai dari kondisionalif Tthenselset adalah nilai dari term sjika kalimat Tbernilai trueatau nilai dari term t jika kalimat Tbernilaifalse, pada I .CC2010 Reza Pulungan Logika Informatika 29Aturan-Aturan Semantik DasarDenisi (Aturan-aturan semantik dasar)Aturan true dan false: nilai dari simbol kebenaran Tadalahtruedan nilai dari simbol kebenaran Fadalah false.Aturan proposisi: nilai dari proposisi p(t1,, tn) adalahnilai kebenaran dari pI(d1,, dn), trueatau false, di manapIadalah relasi yang diassign ke pdan d1,, dnadalahnilai dari term-term t1,, tn, pada I .Aturan-aturan untuk penghubung-penghubung logikal, , , =, , if then elsesama dengan padalogika proposisional.CC2010 Reza Pulungan Logika Informatika 30Contohc= p(y, f (y)) p(a, f (f (a))),pada interpretasi I :I :a 0,y 2,f (d) d+ 1,p(d1, d2) (d1< d2).Kita menentukan nilai dari disjunct yang pertama (p(y, f (y)))sebagai berikut:Dari aturan variabel, nilai dari yadalah 2,Karena yadalah 2, dari aturan aplikasi, nilai dari f (y)adalah 2 + 1, yaitu 3,Karena yadalah 2, f (y) adalah 3, dari aturan proposisi,nilai dari p(y, f (y)) adalah 2< 3, yaitu true,CC2010 Reza Pulungan Logika Informatika 31ContohKarena p(y, f (y)) bernilai true, dari aturan not, nilai darip(y, f (y)) adalah false.Nilai dari disjunct yang kedua (p(a, f (f (a))) sebagai berikut:Dari aturan konstanta, nilai dari aadalah 0,Karena aadalah 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 aadalah 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 truedan nilai disjunct kedua (p(a, f (f (a))) adalah true,maka dari aturan or, nilai dari kalimat cadalah true.CC2010 Reza Pulungan Logika Informatika 32Extended InterpretationDenisi (Interpretasi Perluasan)Andaikan I adalah sembarang interpretasi dengan domain D.Untuk suatu variabel xdan elemen d D, interpretasiperluasan:x d) Iadalah interpretasi dengan domain Ddi mana:Variabel xdiberi nilai d,Tiap variabel yselain xdiberi nilai yI, yaitu nilai aslinyapada I ,Tiap konstanta a, simbol fungsi f , dan simbol predikat pdiberi nilai aslinya aI, fIdan pIpada I .Catatan: Interpretasi perluasan untuk konstanta, simbol fungsidan simbol predikat didenisikan dengan cara yang mirip.CC2010 Reza Pulungan Logika Informatika 33Extended InterpretationCatatan 1: Interpretasi perluasan jamak dideniskan dengancara yang mirip dengan pada logika proposisional.Catatan 2: Interpretasi perluasan memiliki sifat penting berikut:Jika I adalah sebuah interpretasi untuk suatu kalimatberbentuk (x)Tatau (x)T, maka x d) Iadalah sebuah interpretasi untuk T.CC2010 Reza Pulungan Logika Informatika 34Aturan-Aturan untuk QuantierDenisi (Aturan for-all)Andaikan I adalah sebuah interpretasi untuk kalimat (x)Tdengan domain D.Nilai dari (x)Tadalah truepada I jika untuk setiapelemen d D, nilai dari Tadalah truepada interpretasiperluasan x d) I .Nilai dari (x)Tadalah falsepada I jika terdapat sebuahelemen d Dsedemikian sehingga nilai dari Tadalahfalsepada interpretasi perluasan x d) I .CC2010 Reza Pulungan Logika Informatika 35Aturan-Aturan untuk QuantierDenisi (Aturan for-some)Andaikan I adalah sebuah interpretasi untuk kalimat (x)Tdengan domain D.Nilai dari (x)Tadalah truepada I jika terdapat sebuahelemen d Dsedemikian sehingga nilai dari Tadalahtruepada interpretasi perluasan x d) I .Nilai dari (x)Tadalah falsepada I jika untuk setiapelemen d D, nilai dari Tadalah falsepada interpretasiperluasan x d) I .CC2010 Reza Pulungan Logika Informatika 36Contohc= (x)p(x, y),pada interpretasi I dengan D= N+:I :

y 2,p(d1, d2) (d1< d2).Kita klaim bahwa cbernilai truepada I .Bukti: dari aturan for-some, kita harus menunjukkan bahwa:terdapat sebuah d Ds.s. nilai dari p(x, y)adalahtruepada interpretasi perluasan x d) I .Ambil d= 1. Pada x 1) I , xadalah 1, yadalah 2. Dariaturan proposisi, nilai dari p(x, y) adalah 1< 2, yaitu truepadainterpretasi x 1) I .Maka kalimat cbernilai truepada I .CC2010 Reza Pulungan Logika Informatika 37ContohT= (x)(y)p(x, y)= p(a, f (a)),pada interpretasi I dengan D= R+:I :a 1,f (d) d,p(d1, d2) (d1 ,= d2).Kita klaim bahwa Tbernilai falsepada I .Bukti: Kita perlihatkan bahwa pada interpretasi ini, antecedent((x)(y)p(x, y))bernilai truedan consequent (p(a, f (a)))bernilai false.(1) Karena pada I , aadalah 1 dan f (a) adalah1, yaitu 1,maka dari aturan proposisi, nilai dari consequent p(a, f (a))adalah 1 ,= 1, yaitu falsepada I .CC2010 Reza Pulungan Logika Informatika 38Contoh(2) Untuk menunjukkan bahwa antecedent bernilai truepada I ,dari aturan for-all, kita harus menunjukkan bahwa:untuk semua d D, nilai dari subkalimat (y)p(x, y)adalah truepada interpretasi perluasan x d) I .Untuk itu, kita tunjukkan, dari aturan for-some, bahwa:untuk semua d D, terdapat d Ds.s. nilai dariproposisi p(x, y) adalah truepada interpretasiperluasan y d) x d) I .Untuk sembarang d, ambil d= d+ 1. Maka karena xadalahd, yadalah d+ 1, dari aturan proposisi, nilai dari p(x, y)adalah d ,= d+ 1, yaitu truepada interpretasi perluasany d) x d) I .CC2010 Reza Pulungan Logika Informatika 39ContohDengan demikian nilai dari antecedent (x)(y)p(x, y)adalahtruepada interpretasi I .Dari (1) dan (2), kita menyimpulkan bahwa Tbernilai true(aturan implikasi).CC2010 Reza Pulungan Logika Informatika 40Kesetujuan (Agreement)Denisi (Kesetujuan (Agreement))Dua interpretasi setuju pada suatu simbol jika:merekamemberikan nilai yang sama kepada simboltersebut, ataumereka tidak memberikan nilai apa pun kepada simboltersebut.Dua interpretasi I dan Jsetuju pada sebuah ekspresi cjika:nilai dari cpada I sama dengan nilai dari cpada J, ataubaik I maupun Jbukan interpretasi untuk 1.CC2010 Reza Pulungan Logika Informatika 41Kesetujuan (Agreement)TeoremaJika dua interpretasi (dengan domain yang sama) untukekspresi csetuju pada tiap-tiap simbol bebas dari c, makamereka setuju pada csendiri.Catatan untuk interpretasi perluasan jamak: Andaikan cadalahsebuah ekspresi dan I adalah sebuah interpretasi untuk cdengan domain D. Andaikan x1,, xnadalahvariabel-variabel yang tidak muncul bebas dalam cdand1,, dnadalah sembarang elemen dari D. Maka interpretasiperluasan jamak:J= x1 d1) xn dn) I ,dan I setuju pada c.CC2010 Reza Pulungan Logika Informatika 42Validitas (Validity)Membuktikan ValiditasCC2010 Reza Pulungan Logika Informatika 44Membuktikan Non-ValiditasCC2010 Reza Pulungan Logika Informatika 45Contoh Kalimat-Kalimat ValidKalimat 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).CC2010 Reza Pulungan Logika Informatika 46Contoh Kalimat-Kalimat ValidMengubah 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).CC2010 Reza Pulungan Logika Informatika 47Contoh Kalimat-Kalimat ValidDistribusi 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) thenaelseb) (if r (x) thenp(a) elsep(b))],(x)[p(f (if r (x) thenaelseb)) p((if r (x) thenf (a) elsef (b)))].CC2010 Reza Pulungan Logika Informatika 48Konsep-Konsep TambahanDenisi (Satisable, contradictory dan consistent)Sebuah kalimat tertutup Tdisebut satisable jika bernilaitrue pada suatu interpretasi I untuk T,Sebuah kalimat tertutup Tdisebut contradictory jikabernilai false pada semua interpretasi untuk T,Sekumpulan kalimat tertutup T1, T2,disebut consistentjika terdapat interpretasi untuk T1, T2,di mana semuaTibernilai true.Contoh:Kalimat T= (x)p(x)adalah satisable.Kalimat (= (x)p(x) (x)p(x)adalah contradictory.CC2010 Reza Pulungan Logika Informatika 49Closure Universal danEksistensial (Universaland Existential Closure)DenisiDenisi (Closure Universal dan Eksistensial)Andaikan x1,, xnadalah daftar dari semua variabel bebasyang berbeda di kalimat T(terurut sesuai dengan kemunculanpertama mereka). Maka:Closure universal dari T, dilambangkan dengan ()T,adalah kalimat tertutup:(x1)(xn)T.Closure eksistensial dari T, dilambangkan dengan ()T,adalah kalimat tertutup:(x1)(xn)T.CC2010 Reza Pulungan Logika Informatika 51ContohVariabel-variabel bebas dari kalimat:(= (z)[(q(y, z) r (x)) (w)p(y, z, w)],(sesuai dengan urutan kemunculannya) ydan 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)],CC2010 Reza Pulungan Logika Informatika 52Aturan Semantik Closure UniversalTeoremaAndaikan Tadalah kalimat dan I adalah interpretasi, dengandomain D, untuk ()T. Andaikan x1,, xnadalah semuavariabel bebas berbeda di kalimat T(terurut sesuai dengankemunculan pertama mereka). Maka:nilai dari ()Tadalah truepada I (closure)persis ketika:untuk semua d1,, dn D, nilai dari Tadalah truepada interpretasi perluasanx1 d1) xn dn) I (extension)persis ketika:untuk semua interpretasi Juntuk Tyang setujudengan I pada simbol-simbol bebas dari ()T, Tbernilai truepada J. (agreement)CC2010 Reza Pulungan Logika Informatika 53ContohPerhatikan kalimat:T= q(x1, x2) q(x1, x2).Variabel-variabel bebas T, dengan urutan kemunculan, adalahx1dan x2. Closure universal dari Tadalah:()T= (x1)(x2)[q(x1, x2) q(x1, x2)].Satu-satunya simbol bebas ()Tadalah simbol predikat q.Sebuah interpretasi I dengan domain Duntuk ()Tharusmemberikan nilai qIkepada q, namun tidak mesti memberikanelemen-elemen apa pun dari Dkepada x1dan x2.CC2010 Reza Pulungan Logika Informatika 54ContohMenurut teorema:()Tbernilai truepada I ,persis ketika:untuk semua elemen d1, d2 D Tbernilai truepadax1 d1) x1 d1) I ,persis ketika:untuk semua interpretasi Juntuk Tyang setujudengan I pada simbol predikat q, kalimat Tbernilaitruepada JCC2010 Reza Pulungan Logika Informatika 55Aturan Semantik Closure EksistensialTeoremaAndaikan Tadalah kalimat dan I adalah interpretasi, dengandomain D, untuk ()T. Andaikan x1,, xnadalah semuavariabel bebas berbeda di kalimat T(terurut sesuai dengankemunculan pertama mereka). Maka:nilai dari ()Tadalah truepada I (closure)persis ketika:terdapat d1,, dn Ds.s. nilai dari Tadalah truepada interpretasi perluasanx1 d1) xn dn) I (extension)persis ketika:terdapat interpretasi Juntuk Tyang setuju dengan Ipada simbol-simbol bebas dari ()Ts.s. Tbernilaitruepada J. (agreement)CC2010 Reza Pulungan Logika Informatika 56Validitas dan Satisability ClosureTeoremaUntuk semua kalimat T:Closure universal ()Tvalid persis ketika Tbernilai truepada semua interpretasi untuk T, (validitas)Closure eksistensial ()Tsatisable persis ketika Tbernilai truepada suatu interpretasi untuk T. (satisability)CC2010 Reza Pulungan Logika Informatika 57Skemata Kalimat Valid(Valid SentenceSchemata)PengantarKita telah melihat salah satu contoh kalimat valid:(x)p(x) (x)p(x),Kita tidak bisa langsung menyimpulkan bahwa kalimatdalam bentuk yang mirip:(x)[(x)q(x, y)] (x)[(x)q(x, y)]adalah juga valid,Dari pada melakukannya satu-per-satu, lebih baik kitamembuktikan bahwa suatu kelas kalimat valid berdasarkanbentuknya,Untuk contoh di atas, kita dapat melakukannya denganmembuktikan bahwa untuk sembarang kalimat T, closureuniversal dari:(x)T (x)Tadalah valid.CC2010 Reza Pulungan Logika Informatika 59PengantarJika kita sudah bisa membuktikan itu, validitas keduakalimat contoh di awal secara langsung terbukti denganmengasumsikan bahwa T= p(x) dan T= (x)q(x, y),Kalimat-kalimat yang mewakili kelasnya, yaitu yang berisiT, (, Hdan sebagainya, kita sebut skema kalimat,Kalimat turunan dari skema kalimat disebut instance dariskema kalimat.Catatan: Berbeda dengan logika proposisional, kita harusmembuktikan closure universal dari skema kalimat, karenaskema kalimat tersebut bisa jadi berisi variabel-variabel bebas.CC2010 Reza Pulungan Logika Informatika 60Validitas suatu SkemaMembuktikan 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, kitaharus menunjukkan bahwa sub-kalimat:c= (x)T (x)Tbernilai truepada semua interpretasi.CC2010 Reza Pulungan Logika Informatika 61Validitas suatu SkemaDari aturan if-and-only-if, kita harus menunjukkan bahwa:(x)Tdan(x)Tmemiliki nilai kebenaran yang sama pada semuainterpretasi.CC2010 Reza Pulungan Logika Informatika 62Validitas suatu SkemaAmbil sembarang interpretasi I untuk c.Kita dapatkan bahwa:(x)Tbernilai truepada I ,persis ketika (dari aturan not):(x)Tbernilai falsepada I ,persis ketika (dari aturan for-all):terdapat sebuah d Ds.s. Tbernilai falsepadax d) I ,persis ketika (dari aturan not):terdapat sebuah d Ds.s. Tbernilai truepadax d) I ,persis ketika (dari aturan for-some):(x)Tbernilai truepada I .CC2010 Reza Pulungan Logika Informatika 63Skemata Kalimat ValidMengubah Urutan Quantier(x)(y)T (y)(x)T(x)(y)T (y)(x)T(y)(x)T= (x)(y)TCC2010 Reza Pulungan Logika Informatika 65Dualitas Quantier(x)T (x)T(x)T (x)TCC2010 Reza Pulungan Logika Informatika 66Distribusi Quantier (Ekuivalensi)(x)[T (] [(x)T (x)(](x)[T (] [(x)T (x)(](x)[T= (] [(x)T= (x)(]CC2010 Reza Pulungan Logika Informatika 67Distribusi Quantier (Implikasi)(x)[T (] = [(x)T (x)(][(x)T (x)(] = (x)[T (][(x)T= (x)(] = (x)[T= (](x)[T= (] = [(x)T= (x)(]CC2010 Reza Pulungan Logika Informatika 68Kalimat Logika Proposisional ValidTeoremaJika kalimat logika proposisional cvalid, maka closureuniversal dari instance logika predikat dari cadalah valid.Contoh: Dari skemata kalimat valid di logika proposisional kitatahu bahwa skema kalimat:T= (T ()adalah valid.CC2010 Reza Pulungan Logika Informatika 69Kalimat Logika Proposisional ValidAndaikan kita ingin membuat instance logika predikat dariskema kalimat di atas, di mana T= p(x) dan (= (y)q(x, y).Teorema di atas menyebutkan bahwa closure universal darikalimat: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.CC2010 Reza Pulungan Logika Informatika 70Kalimat Valid dengan KondisiTambahanKalimat-kalimat tertentu tidak valid secara umum, namun validjika kondisi-kondisi tambahan tertentu dapat dipenuhi.Closure universal dari kalimat-kalimat di beberapa slide setelahini valid jika kondisi tambahannya terpenuhi.CC2010 Reza Pulungan Logika Informatika 71Quantier RedundantKondisi tambahan: variabel xtidak muncul bebas di kalimat (.(x)( ((x)( (CC2010 Reza Pulungan Logika Informatika 72Distribusi Quantier (Universal)Kondisi tambahan: variabel xtidak muncul bebas di kalimat (.(x)[T (] (x)T ((x)[T (] (x)T ((x)[T= (] [(x)T= (](x)[(= T] [(= (x)T](x)[if (then celse T] [if (then(x)celse(x)T]CC2010 Reza Pulungan Logika Informatika 73Distribusi Quantier (Existential)Kondisi tambahan: variabel xtidak muncul bebas di kalimat (.(x)[T (] (x)T ((x)[T (] (x)T ((x)[T= (] [(x)T= (](x)[(= T] [(= (x)T](x)[if (then celse T] [if (then(x)celse(x)T]CC2010 Reza Pulungan Logika Informatika 74Ekuivalensi (Equivalence)Implikasi dan EkuivalensiDenisi (Implikasi dan Ekuivalensi)Sebuah kalimat Tmengimplikasikan kalimat (jika, untuksemua interpretasi I untuk Tdan (, jika Tbernilai truepada I , maka (bernilai truepada I ,Dua kalimat Tdan (adalah ekuivalen jika, pada semuainterpretasi I untuk Tdan (, nilai kebenaran Tsamadengan nilai kebenaran (.Catatan: Tdan (tidak mesti kalimat tertutup.CC2010 Reza Pulungan Logika Informatika 76Implikasi, Ekuivalensi dan ValiditasTmengimplikasikan (persis ketika()[T= (] adalah valid,Tdan (adalah ekuivalenpersis ketika()[T (] adalah valid.CC2010 Reza Pulungan Logika Informatika 77ContohKita 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.CC2010 Reza Pulungan Logika Informatika 78ContohLebih umum lagi, kita telah melihat bahwa skema kalimat:(x)T (x)Tadalah valid. Oleh karena itu untuk semua kalimat T, kalimat(x)Tdan kalimat (x)Tadalah ekuivalen.CC2010 Reza Pulungan Logika Informatika 79Implikasi, Ekuivalensi dan ValiditasTeorema (Implikasi dan Validitas)Jika Tmengimplikasikan (,maka jika ()Tadalah valid,maka ()(adalah valid.Teorema (Ekuivalensi dan Validitas)Jika Tdan (ekuivalen,maka ()Tadalah valid,persis ketika ()(adalah valid.CC2010 Reza Pulungan Logika Informatika 80Kalimat Logika ProposisionalEkuivalenTeorema (Instance dari Kalimat-Kalimat Logika Proposisionalyang Ekuivalen)Jika dua kalimat logika proposisional Tdan (adalahekuivalen, maka instance-instance logika predikat dari Tdan (adalah juga ekuivalen.CC2010 Reza Pulungan Logika Informatika 81Sifat-Sifat ClosureTeorema (Dualitas dari Closure)Untuk sembarang kalimat T:()Tadalah ekuivalen dengan ()T,dan()Tadalah ekuivalen dengan ()T.CC2010 Reza Pulungan Logika Informatika 82Sifat-Sifat ClosureTeorema (Distribusi Closure)Untuk sembarang kalimat Tdan (, kalimat-kalimat berikutadalah valid:()[T (] [()T ()(],()[T (] [()T ()(],[()T ()(] = ()[T (],()[T (] = [()T ()(],()[T= (] = [()T= ()(],[()T= ()(] = ()[T= (].CC2010 Reza Pulungan Logika Informatika 83Pergantian Kalimat EkuivalenTeorema (Kalimat-Kalimat Ekuivalen Saling Menggantikan)Untuk sembarang kalimat-kalimat (, (dan T, andaikan Tadalah hasil dari menggantikan nol, satu, atau lebihkemunculan dari (di Tdengan (. Maka:Jika (dan (adalah ekuivalen,maka Tdan Tadalah ekuivalen.CC2010 Reza Pulungan Logika Informatika 84ContohPerhatikan kalimat-kalimat (= p(x) p(x) dan (= p(x). Darilogika 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.CC2010 Reza Pulungan Logika Informatika 85Menamai Ulang Variabel TerikatTeorema (Menamai Ulang Variabel Terikat)Andaikan (x)(adalah sebuah kalimat, di mana (x)adalah sebuah quantier, bisa jadi (x) atau (x).Andaikan xadalah sebuah variabel yang tidak muncul di(x)(,dan (adalah hasil dari menggantikan semuakemunculan bebas xdengan xdi (.Andaikan Tadalah sebuah kalimat dan Tadalah hasildari menggantikan satu atau lebih kemunculan dari (x)(di Tdengan (x)(.Maka:Tdan Tadalah ekuivalen.CC2010 Reza Pulungan Logika Informatika 86ContohKalimat:(= (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)]].CC2010 Reza Pulungan Logika Informatika 87ContohPenting: Sewaktu menamai variabel, variabel baru yang dipilihmesti 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).CC2010 Reza Pulungan Logika Informatika 88Contoh: Quantier BertingkatKalimat:T= (x)[p(x) (x)q(x, y)]adalah ekuivalen dengan kalimat:T= (x)[p(x) (x)q(x, y)].Ini karena, kemunculan variabel xdi p(x) diikat oleh quantier(x), namun kemunculan dari variabel xdi q(x, y) diikat olehquantier (x). Dengan demikian teorema sebelumnya berlaku.CC2010 Reza Pulungan Logika Informatika 89