ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 412: Λογική στην Πληροφορική Δείγμα Ενδιάμεσης Εξέτασης Λύσεις Άσκηση 1 [30 μονάδες] Να αποδείξετε τα πιο κάτω λογικά επακόλουθα χρησιμοποιώντας τα συστήματα κανόνων του Προτασιακού Λογισμού (μέρος (α)) και του Κατηγορηματικού Λογισμού (μέρος (β)). (α) [12 μονάδες] ( p ( q r)), ( p q) r q r 1. ( p ( q r)) προϋπόθεση 2. ( p q) r προϋπόθεση 3. p q πρ. υπ. r πρ. υπ. 4. p πρ. υπ. q πρ. υπ. q r i 3 5. q q LEM q r i 4 6. q πρ. υπ. q πρ. υπ. 7. q r i 6 r πρ. υπ. 8. q r i 6, 7 9. p ( q r) i 4, 8 10. e 1, 9 11. r e 7-10 12. q r i 11 13. q r e 5, 6-12 14. q r e 3, 4-13 15. q r e 2, 3-14 (β) [18 μονάδες] x [ ( y (L(x,y) L(y,x)) ) L(x,x) ], x y L(x,y) x L(x,x) 1. x [ ( y (L(x,y) L(y,x)) ) L(x,x) ] προϋπόθεση 2. x y L(x,y) προϋπόθεση 3. x 0 y L(x 0,y) πρ. υπόθεση 4. L(x 0, x 0 ) y e 3 5. x L(x,x) x i 4 6. x L(x,x) x e 2, 3-5
Άσκηση 2 [35 μονάδες] (α) [9 μονάδες] Να αναφέρετε τρεις μεθόδους μέσω των οποίων μπορούμε να ελέγξουμε την εγκυρότητα προτάσεων του Κατηγορηματικού Λογισμού και να τις περιγράψετε. 1. Σημασιολογία (Αλήθεια του Tarski): Με τη χρήση της μεδόθου αυτής επιδεικνύουμε ότι η πρόταση είναι αληθής σε κάθε δυνατό μοντέλο χρησιμοποιώντας τους κανόνες της σημασιολογίας. 2. Συστήματα απόδειξης λογικού συμπερασμού: Η μέθοδος χρησιμοποιεί ένα σύνολο από αποδεικτικούς κανόνες με τη χρήση του οποίου μπορούμε να καταλήξουμε σε συμπεράσματα. Μια πρόταση είναι έγκυρη αν μπορεί να αποδειχθεί μέσω των κανόνων. 3. Μέθοδος της Επίλυσης: Η μέθοδος μας επιτρέπει με τη χρήση ενός κανόνα να δείξουμε ότι μια πρόταση είναι μη ικανοποιήσιμη. Για να αποδείξουμε την εγκυρότητα μιας πρότασης, θα πρέπει να εφαρμόσουμε τη Μέθοδο της Επίλυσης στην άρνηση της πρότασης. Αν οδηγηθούμε στο συμπέρασμα ότι η πρόταση αυτή είναι μη ικανοποιήσιμη, τότε η αρχική μας πρόταση είναι έγκυρη. (β) Θεωρήστε τις πιο κάτω προτάσεις: φ 1 = P(0) x P(x) y ( P(y) P(s(s(y))) ) φ 2 = x y ( P(y) P(s(x)) ) (i) [6 μονάδες] Να δείξετε ότι η πρόταση φ 1 φ 2 είναι ικανοποιήσιμη. Θεωρούμε ερμηνεία όπου: Το σύμπαν αποτελείται από τους μη αρνητικούς ακέραιους. P(x): το κατηγόρημα που εκφράζει αν ο x είναι άρτιος. s(x) = x + 1 Σε αυτό το μοντέλο ικανοποιούνται και οι δύο προτάσεις. Επομένως η πρόταση φ 1 φ 2 είναι ικανοποιήσιμη. (ii) [12 μονάδες] Να αποδείξετε ότι η πρόταση φ 1 φ 2 είναι μη ικανοποιήσιμη. Θεωρούμε ερμηνεία όπου: Το σύμπαν αποτελείται από τους μη αρνητικούς ακέραιους. P(x): το κατηγόρημα που εκφράζει αν x 0. s(x) = x + 1 Σε αυτό το μοντέλο δεν ικανοποιείται το σκέλος x P(x) της πρότασης φ 1. Επομένως η πρόταση φ 1 φ 2 είναι ικανοποιήσιμη. (iii) [12 μονάδες] Να αποδείξετε ότι η πρόταση φ 1 φ 2 είναι έγκυρη χρησιμοποιώντας τη σημασιολογία του Κατηγορηματικού Λογισμού (Αλήθεια του Tarski).
Ας υποθέσουμε (με στόχο να φτάσουμε σε αντίφαση) ότι η πρόταση φ 1 φ 2 δεν είναι έγκυρη. Τότε, για κάποιο μοντέλο Μ με σύμπαν Α: Μ P(0) x P(x) y ( P(y) P(s(s(y))) ) (1) και όχι Μ x y ( P(y) P(s(x)) ) (2) Από το (2) έχουμε ότι: Όχι [ υπάρχει a Α τέτοιο ώστε για κάθε b Α, Μ P(b) ή Μ P(s(a)) ] Επομένως Για κάθε a Α υπάρχει b Α τέτοιο ώστε Μ P(b) και Μ P(s(a)) Αφού η πρόταση ισχύει για κάθε a ισχύει και για a = s(0). Δηλαδή, υπάρχει b Α τέτοιο ώστε Μ P(b) και (3) όχι Μ P(s(s(0))) (4) Από το (1) συνεπάγεται ότι Μ P(0) και Μ y ( P(y) P(s(s(y))) ) Επομένως Μ P(0) και Μ P(c) P(s(s(c))) για κάθε c A Αν πάρουμε c = 0 έχουμε ότι Μ P(0) και (5) Μ P(0) ή Μ P(s(s(0))) (6) Από τα (5) και (6) καταλήγουμε στο συμπέρασμα ότι Μ P(s(s(0))) Αυτό όμως έρχεται σε αντίφαση με το (4). Συνεπώς, η αρχική μας υπόθεση είναι λανθασμένη και η πρόταση είναι έγκυρη. Άσκηση 3 [35 μονάδες] (α) Η διαδικασία της ενοποίησης χρησιμοποιείται για να εντοπίσει ένα κοινό στιγμιότυπο δύο όρων. (i) [8 μονάδες] Να περιγράψετε σύντομα τη διαδικασία/αλγόριθμο της ενοποίησης δίνοντας έμφαση στις μη-τετριμμένες περιπτώσεις. Δες διαφάνεια 4-26. Κάποιες μη τετριμμένες περιπτώσεις: Μια μεταβλητή ενοποιείται με οποιοδήποτε όρο εκτός από μια συνάρτηση που περιέχει τη μεταβλητή. Μια σταθερά ενοποιείται με τον εαυτό της ή με μια μεταβλητή. Μια συνάρτηση ενοποιείται με μια άλλη συνάρτηση με το ίδιο όνομα και ενοποιήσιμους όρους, ή με μια μεταβλητή που δεν αναφέρεται στη συνάρτηση. (ii) [9 μονάδες] Να εφαρμόσετε τον αλγόριθμο ενοποίησης σε κάθε ένα από τα πιο κάτω ζεύγη όρων και να υπολογίσετε τη γενικότερη ενοποιήτρια που προκύπτει σε περίπτωση που υπάρχει μια τέτοια ενοποιήτρια, διαφορετικά, να εξηγήσετε γιατί δεν υπάρχει. j(a, z, f(x)) j(y, f(y), z) f(g(x,y), a, h(z)) f(z, x, y) f(g(x), y, x) f(z, f(z), a)
j(a, z, f(x)) j(y, f(y), z) Βήμα 1: y a j(a, z, f(x)) j(α, f(α), z) Βήμα 2: z f(a) j(a, f(a), f(x)) j(α, f(α), f(a)) Βήμα 3: x a: j(a, f(a), f(a)) j(α, f(α), f(a)) Συμπέρασμα: Οι όροι είναι ενοποιήσιμοι με ενοποιήτρια συνάρτηση την {a/y, f(a)/z, a/x}. f(g(x,y), a, h(z)) f(z, x, y) Βήμα 1: z g(x,y) f(g(x,y), a, h(g(x,y))) f(g(x,y), x, y) Βήμα 2: x a: f(g(a,y), a, h(g(a,y))) f(g(a,y), a, y) Βήμα 3: Οι υπογραμμισμένοι όροι είναι μη ενοποιήσιμοι. Συμπέρασμα: Οι όροι δεν είναι ενοποιήσιμοι: η μεταβλητή y δεν μπορεί να ενοποιηθεί με συνάρτηση που την περιέχει. f(g(x), y, x) f(z, f(z), a) Βήμα 1: z g(x) f(g(x), y, x) f(g(x), f(g(x)), a) Βήμα 2: y f(g(x)) f(g(x), f(g(x)), x) f(g(x), f(g(x)), a) Βήμα 3: x a f(g(a), f(g(a)), a) f(g(a), f(g(a)), a) Συμπέρασμα: Οι όροι είναι ενοποιήσιμοι με ενοποιήτρια συνάρτηση την {g(x)/z, f(g(x))/y, a/x}. (β) [18 μονάδες] Να αποδείξετε με τη Μέθοδο της Επίλυσης ότι αν ισχύουν οι προτάσεις x z [ y ( (P(x) Q(z)) (Q(x) R(y)) ) ] x R(x) y x (Q(x) R(y)) τότε ισχύει και το συμπέρασμα: x y ( P(x) P(y)) Ξεκινούμε θεωρώντας την άρνηση του συλλογισμού την οποία μετατρέπουμε σε κανονική μορφή Prenex: Πρώτη πρόταση: x z [ y ( (P(x) Q(z)) (Q(x) R(y)) ) ] x R(x) x z [ y ( ( P(x) Q(z)) ( Q(x) R(y)) ) ] x R(x) x 1 z [ y 1 ( ( P(x 1 ) Q(z)) ( Q(x 1 ) R(y 1 )) ) ] w R(w) w [ x 1 z [ y 1 ( ( P(x 1 ) Q(z)) ( Q(x 1 ) R(y 1 )) ) ] R(w) ] w x 1 z y 1 [ ( P(x 1 ) Q(z)) ( Q(x 1 ) R(y 1 )) R(w) ] Δεύτερη πρόταση: y x (Q(x) R(y)) y 2 x 2 ( Q(x 2 ) R(y 2 )) Άρνηση τρίτης πρότασης: x y ( P(x) P(y)) x y ( P(x) P(y)) x 3 y 3 (P(x 3 ) P(y 3 ))
Στη συνέχεια εφαρμόζουμε απαλοιφή των ποσοδεικτών: Πρώτη πρόταση: ( P(x 1 ) Q(f(x 1 ))) ( Q(x 1 ) R(y 1 )) R(a) Δεύτερη πρόταση: Q(x 2 ) R(y 2 ) Άρνηση τρίτης πρότασης: P(b) P(c) Με βάση τα πιο πάνω προκύπτει το πιο κάτω προτασιακό σύνολο: {{ P(x 1 ), Q(f(x 1 ))}, { Q(x 1 ), R(y 1 )}, {R(a)}, { Q(x 2 ), R(y 2 )}, {P(b), P(c)}} Η Μέθοδος της Επίλυσης επιφέρει διάψευση στο προτασιακό σύνολο όπως φαίνεται στο δέντρο που ακολουθεί: R(a) Q(x 2 ), R(y 2 ) P(x 1 ), Q(f(x 1 )) Q(x 1 ), R(y 1 ) Q(x 2 ) P(b), P(c) P(x 1 ) P(b) Συνεπώς, ο συλλογισμός είναι έγκυρος.