HY118- ιακριτά Μαθηµατικά Παρασκευή, 27/02/2015 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/1/2015 1 1
Κατηγορηµατικός Λογισµός 3/1/2015 2 2
Νόµοι ισοδυναµίας «Ξεδίπλωµα» ποσοδεικτών: Εάν π.ο.={a, b, c, } x P(x) P(a) P(b) P(c) x P(x) P(a) P(b) P(c) Από αυτές, µπορούµε να αποδείξουµε τους νόµους: x P(x) ( x P(x)) x P(x) x P(x) ( x P(x)) x P(x) Ποιοί νόµοι ισοδυναµίας του προτασιακού λογισµού µπορούν να χρησιµοποιηθούν για να το αποδείξουµε αυτό; 3/1/2015 3 3
Νόµοι ισοδυναµίας Μόλις είδαµε ότι Τι σηµαίνει αυτό; x P(x) x P(x) σηµαίνει πως το να αποδείξω ότι η P(x) ισχύει γενικά, είναι ισοδύναµο µε το να µην µπορώ να βρω αντιπαράδειγµα 3/1/2015 4 4
Νόµοι ισοδυναµίας Επίσης, από την ισοδυναµία x P(x) x P(x) προκύπτει ότι x P(x) x P(x) Τι σηµαίνει αυτό; σηµαίνει πως για να αποδείξω ότι µία πρόταση δεν ισχύει γενικά, αρκεί να βρω αντιπαράδειγµα 3/1/2015 5 5
Ισοδυναµίες ύο λογικές ισοδυναµίες στον κατηγορηµατικό λογισµό: x P(x) x P(x) x P(x) x P(x) Εποµένως, ένας από τους δύο ποσοδείκτες αρκεί για να µας δώσει όλη την εκφραστικότητα! (κατ αναλογία µε την ικανότητα της άρνησης και της σύζευξης να εκφράσουν όλους τους υπόλοιπους τελεστές στον προτασιακό λογισµό) 3/1/2015 6 6
Κι άλλοι νόµοι ισοδυναµίας x y P(x,y) y x P(x,y) x y P(x,y) y x P(x,y) 3/1/2015 7 7
Μερικές συντοµεύσεις ιαδοχικοί ποσοδείκτες του ίδιου τύπου µπορούν να συνδυαστούν: xyz P(x,y,z) ορ. x y z P(x,y,z) xyz P(x,y,z) ορ. x y z P(x,y,z) 3/1/2015 8 8
Κι άλλοι νόµοι ισοδυναµίας x (P(x) Q(x)) ( x P(x)) ( x Q(x)) x (P(x) Q(x)) ( x P(x)) ( x Q(x)) 3/1/2015 9 9
Κι άλλοι νόµοι ισοδυναµίας 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)); 3/1/2015 10 10
Κι άλλοι νόµοι ισοδυναµίας Τι λέτε για την παρακάτω ισοδυναµία ; x (P(x) Q(x)) ( x P(x)) ( x Q(x)) εν ισχύει!!! Αντιπαράδειγµα (δηλ. Ένα µοντέλο που την κάνει να µην ισχύει) P(x): Τα γενέθλια του x είναι στις 24 Απριλίου Q(x): Τα γενέθλια του x είναι στις 2 Μαρτίου 3/1/2015 11 11
Κι άλλοι νόµοι ισοδυναµίας x (P(x) Q(x)) ( x P(x)) ( x Q(x)) ; P(x): Τα γενέθλια του x είναι στις 24 Απριλίου Q(x): Τα γενέθλια του x είναι στις 2 Μαρτίου x (P(x) Q(x)) = Υπάρχει κάποιος που έχει γενέθλια και στις 24/4 και στις 4/3 [FALSE] ( x P(x)) ( x Q(x)) = Υπάρχει κάποιος που έχει γενέθλια στις 24/4 και υπάρχει κάποιος που έχει γενέθλια στις 2/3 [TRUE] 3/1/2015 12 12
Θεωρήµατα σχετικά µε τη λογική Εµείς µελετάµε τους «λογισµούς» έτσι ώστε να µπορούµε να τους χρησιµοποιούµε Οι επιστήµονες της µαθηµατικής λογικής µελετούν τους λογισµούς για να κατανοήσουν τα όριά τους Μετα-θεωρήµατα µπορούν για παράδειγµα, να λένε πράγµατα όπως... δεν µπορεί να περιγραφεί στην κατηγορηµατική λογική 3/1/2015 13 13
Θεωρήµατα σχετικά µε τη λογική Σχετικά µε τον προτασιακό λογισµό ρωτήσαµε πράγµατα όπως τι είδους πράγµατα µπορεί να εκφράσει; Πόσους τελεστές χρειαζόµαστε; Σχετικά µε τον κατηγορηµατικό λογισµό, υπάρχουν ανάλογα ερωτήµατα. Για παράδειγµα, είναι οι δύο ποσοδείκτες που ορίσαµε ικανοί να εκφράσουν τα πάντα; Η παραπάνω είναι µία ερώτηση σχετικά µε την εκφραστική ικανότητα του κατηγορηµατικού λογισµού. 3/1/2015 14 14
1 ο παράδειγµα Όπως λέει και το όνοµά τους, οι ποσοδείκτες µπορούν να χρησιµοποιηθούν για να εκφράσουν την αλήθεια ενός κατηγορήµατος για ένα πλήθος αντικειµένων. Ερώτηση: Μπορεί η κατηγορηµατική λογική να εκφράσει το παρακάτω: υπάρχει το πολύ ένα αντικείµενο µε την ιδιότητα P ; 3/1/2015 15 15
1 ο παράδειγµα: το πολύ ένα Μπορεί η κατηγορηµατική λογική να εκφράσει το παρακάτω: υπάρχει το πολύ ένα αντικείµενο µε την ιδιότητα P ; Ναι: x y ((P(x) P(y)) x=y) 3/1/2015 16 16
2 ο παράδειγµα: ακριβώς ένα Μπορεί η κατηγορηµατική λογική να εκφράσει το παρακάτω: υπάρχει ακριβώς ένα αντικείµενο µε την ιδιότητα P ; Υπάρχει x τέτοιο ώστε P(x) και Υπάρχει το πολύ ένα x τέτοιο ώστε P(x) xp(x) x y ( (P(x) P(y)) (x=y) ) Συµβολισµός:!x P(x) ( Υπάρχει ακριβώς ένα x τέτοιο ώστε P(x) ) 3/1/2015 17 17
2 ο παράδειγµα: ακριβώς ένα Άλλος τρόπος να το γράψουµε: x (P(x) y (P(y) y x)) Υπάρχει x τέτοιο ώστε P(x), και τέτοιο ώστε να µην υπάρχει y διαφορετικό του x τέτοιο ώστε P(y) Η x δεσµεύει την x σε όλη την πρόταση: x (P(x) y (P(y) y x)) 3/1/2015 18 18
3 ο παράδειγµα: τουλάχιστον δύο Μπορεί η κατηγορηµατική λογική να εκφράσει το παρακάτω: υπάρχουν τουλάχιστον δύο αντικείµενα µε την ιδιότητα P ; Ναι: x y (P(x) P(y) (x y)) 3/1/2015 19 19
3 ο παράδειγµα: τουλάχιστον δύο Θα ήταν σωστό αν γράφαµε: xp(x) yp(y) (x y)??? Όχι! Η µεταβλητή x στην υποέκφραση (x y) δεν δεσµεύεται, και εποµένως η παραπάνω δεν είναι καν πρόταση! 3/1/2015 20 20
4 ο παράδειγµα: ακριβώς δύο Μπορεί η κατηγορηµατική λογική να εκφράσει το παρακάτω: υπάρχουν ακριβώς δύο αντικείµενα µε την ιδιότητα P ; Ναι: x y ((P(x) P(y) x y) ( z (P(z) (z= x z= y) ))) «υπάρχουν τουλάχιστον δύο, ΚΑΙ, εάν υπάρχει τρίτο, τότε αυτό είναι αναγκαστικά ένα από τα δύο πρώτα» 3/1/2015 21 21
x y (P(x) P(y) x y z (P(z) (z= x z= y) )) Ποιό είναι το λάθος αν γράφαµε: x y (P(x) P(y) x y) z (P(z) (z= x z= y )) σαν έκφραση που σηµαίνει ακριβώς δύο ; 3/1/2015 22 22
x y (P(x) P(y) x y) z (P(z) (z= x z= y )) Το παραπάνω αποτελεί την σύζευξη δύο εκφράσεων. Στη δεύτερη όµως οι µεταβλητές x, y δεν είναι δεσµευµένες, εποµένως το αποτέλεσµα δεν αποτελεί καν πρόταση 3/1/2015 23 23
Κι άλλα παραδείγµατα Έστω µεταβλητές x, y µε π.ο. τους ακέραιους αριθµούς Στην παρακάτω πρόταση, ποιό είναι το νόηµα του κατηγορήµατος Α; x (Α(x) ( y (x=2y))) 3/1/2015 24 24
Κι άλλα παραδείγµατα x (Α(x) ( y x=2y)) Για κάθε ακέραιο x, o x έχει την ιδιότητα Α αν και µόνο αν είναι ο διπλάσιος κάποιου άλλου ακέραιου Οι ακέραιοι x που έχουν την ιδιότητα Α είναι το διπλάσιο κάποιου άλλου ακέραιου... ΑΡΤΙΟΙ 3/1/2015 25 25
Κι άλλα παραδείγµατα Έστω µεταβλητές x, y, z µε π.ο. τους ακέραιους αριθµούς Στην παρακάτω πρόταση, ποιό είναι το νόηµα του κατηγορήµατος P; x ( ) P(x) ((x>1) ( yz ((x=yz) (y 1) (z 1)))) 3/1/2015 26 26
Κι άλλα παραδείγµατα x (P(x) ((x>1) ( yz ((x=yz) (y 1) (z 1))))) Ένας ακέραιος x έχει την ιδιότητα P, αν και µόνο αν είναι µεγαλύτερος από το 1 και δεν αποτελεί γινόµενο κάποιων άλλων δύο αριθµών, καθένας από τους οποίους είναι διαφορετικός της µονάδας.... ΠΡΩΤΟΙ ΑΡΙΘΜΟΙ 3/1/2015 27 27
Η εικασία του Goldbach (αναπόδειχτη) Χρησιµοποιώντας τα Α(x) και P(x) από τις προηγούµενες διαφάνειες, x( (x>2 Α(x)) ). p q (P(p) P(q) (p+q = x)) Κάθε άρτιος µεγαλύτερος του 2 είναι το άθροισµα δύο πρώτων. 3/1/2015 28 28
Μπορεί η κατηγορηµατική λογική να εκφράσει το τα περισσότερα αντικείµενα έχουν την ιδιότητα P ; Όχι! Μπορεί η κατηγορηµατική λογική να εκφράσει το πολλά αντικείµενα έχουν την ιδιότητα P ; Όχι, επίσης 3/1/2015 29 29
Συµπερασµός στον κατηγορηµατικό Υποθέσεις: λογισµό, παράδειγµα 1. Οι άνθρωποι είναι θνητοί 2. Οι θεοί είναι αθάνατοι Θέλουµε να εξετάσουµε την αλήθεια της πρότασης: Κανείς άνθρωπος δεν είναι θεός 3/1/2015 30 30
Παράδειγµα συµπερασµού Προτασιακές µορφές: 1. Η(x) = Ο x είναι άνθρωπος 2. Μ(x) = Ο x είναι θνητός 3. G(x) = Ο x είναι θεός Το x είναι µεταβλητή που ορίζεται σε ένα σύνολο που περιλαµβάνει θεούς και ανθρώπους 3/1/2015 31 31
Παράδειγµα συµπερασµού Υποθέσεις: οι άνθρωποι είναι θνητοί x (Η(x) Μ(x)) οι θεοί είναι αθάνατοι x (G(x) M(x)) Θέλουµε να αποδείξουµε ότι: ( Κανείς άνθρωπος δεν είναι θεός. ) x (H(x) G(x)) 3/1/2015 32 32
Απόδειξη µε ισοδυναµίες Αρκεί να δείξουµε ότι η πρόταση (( x (H(x) M(x)) ( x(g(x) M(x)))) ( x(g(x) H(x))) είναι ταυτολογία. Πράγµατι, (( x (H(x) M(x)) ( x(g(x) M(x)))) ( x(g(x) H(x))) (( x(g(x) M(x))) ( x (H(x) M(x))) ( x(g(x) H(x))) (( x(g(x) M(x))) ( x( M(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) ( x( G(x) H(x))) ( x(g(x) H(x))) ( x ( G(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) p p T ΟΕ 3/1/2015 33 33
Μία άλλη απόδειξη x (Η(x) M(x)) ( οι άνθρωποι είναι θνητοί ) και x (G(x) M(x)) ( οι θεοί είναι αθάνατοι ). Υποθέστε ότι x (H(x) G(x)). Για παράδειγµα, H(a) G(a). Τότε Από την πρώτη υπόθεση έχουµε, M(a). Από την δεύτερη υπόθεση έχουµε M(a). Αντίφαση! Εποµένως, προκύπτει ότι: x (H(x) G(x)) ( εν υπάρχει άνθρωπος που να είναι θεός. ) 3/1/2015 34 34
Αποφασισιµότητα Είδαµε δύο τρόπους ελέγχου ισοδυναµιών στον προτασιακό λογισµό: 1. Ελέγχοντας τους πίνακες αληθείας 2. Χρησιµοποιώντας νόµους ισοδυναµίας Είδαµε πως το (1) µπορεί να γίνει αλγοριθµικά. Λέµε ότι το να δείξουµε την ισοδυναµία προτάσεων στον προτασιακό λογισµό είναι ένα πρόβληµα αποφασίσιµο (decidable) 3/1/2015 35 35
Αποφασισιµότητα Ο έλεγχος της ισχύος ισοδυναµιών στον προτασιακό λογισµό είναι πρόβληµα αποφασίσιµο Ο έλεγχος της ισχύος ισοδυναµιών στον κατηγορηµατικό λογισµό είναι, γενικά, πρόβληµα µη αποφασίσιµο Εποµένως, η απόδειξη θεωρηµάτων παραµένει «τέχνη» (και για τους ανθρώπους και για τους υπολογιστές!) Ωστόσο, κάτω από προϋποθέσεις, προτάσεις του κατηγορηµατικού λογισµού είναι αποφασίσιµες 3/1/2015 36 36
3/1/2015 37 37
PROLOG Μερικές γλώσσες προγραµµατισµού βασίζονται ολοκληρωτικά στην κατηγορηµατική λογική Η πιό γνωστή είναι η Prolog. Ένα πρόγραµµα στην Prolog είναι ένα σύνολο από προτάσεις ( δεδοµένα/γεγονότα ) και ( κανόνες ) της κατηγορηµατικής λογικής. Η είσοδος στο πρόγραµµα είναι µία πρόταση/ερώτηση Θέλουµε να ξέρουµε αν αυτή είναι αληθής ή ψευδής Ο µεταγλωττιστήςτης Prolog κάνει κάποιο αυτοµατοποιηµένο αφαιρετικό συµπερασµό για να αποφασίσει κατά πόσον το ερώτηµα απαντάται σαν συµπέρασµα από τα δεδοµένα 3/1/2015 38 38
εδοµένα στην Prolog Απλές, µη-σύνθετες προτάσεις προτασιακού λογισµού. π.χ., αρέσει(γιάννης,µαρία) Μικροί χαρακτήρες για σταθερές και κατηγορήµατα, κεφαλαίοι για µεταβλητές. 3/1/2015 39 39
Κανόνες στην Prolog Μία καθολικά ποσοτικοποιηµένη πρόταση της γενικής µορφής x y (P(x,y) Q(x)), όπου x και y είναι πιθανά σύνθετες µεταβλητές, P µία πιθανά σύνθετη πρόταση, και Q µια ατοµική πρόταση. Στην Prolog: q(x) :- p(x,y). Παράδειγµα: αρεστός(x) :- αρέσει(χ,υ). 3/1/2015 40 40
Σύζευξη - διάζευξη Η λογική σύζευξη κωδικοποιείται χρησιµοποιώντας όρους σε ένα κανόνα οι οποίοι χωρίζονται µε κόµµα. Η λογική διάζευξη κωδικοποιείται µε την ύπαρξη πολλών κανόνων. Π.χ., η x (((P(x) Q(x)) R(x)) S(x)) µπορεί να γραφεί στην Prolog ως: s(x) :- p(x),q(x) s(x) :- r(x) 3/1/2015 41 41
Συµπερασµός στην Prolog Όταν δίνουµε µία ερώτηση στην Prolog, αυτή Ψάχνει για να καθορίσει αν η ερώτηση µπορεί να αποδειχτεί από τα διαθέσιµα δεδοµένα. Αν ναι, επιστρέφει αληθές, αλλιώς ψευδές Αν η ερώτηση περιλαµβάνει µεταβλητές, επιστρέφονται όλες οι τιµές που κάνουν την ερώτηση αληθή. 3/1/2015 42 42
Παράδειγµα απλού προγράµµατος στην Prolog Παράδειγµα προγράµµατος: αρέσει(γιάννης,µαρία). αρέσει(µαρία,κώστας). αρέσει(γιάννης, γιάννης). αρεστός(x) :- αρέσει(χ,υ). Παράδειγµα ερώτησης:? αρεστός(z) επιστρέφει:... 3/1/2015 43 43
Παράδειγµα απλού προγράµµατος στην Prolog Παράδειγµα προγράµµατος: αρέσει(γιάννης,µαρία). αρέσει(µαρία,κώστας). αρέσει(γιάννης, γιάννης). αρεστός(x) :- αρέσει(χ,υ). Παράδειγµα ερώτησης:? αρεστός(z) επιστρέφει:... µαρία γιάννης 3/1/2015 44 44
PROLOG Η PROLOG έχει και άλλα κατασκευάσµατα (π.χ. I/O), αλλά η λογική είναι ο «σκηρός πυρήνας» της. 3/1/2015 45 45
3/1/2015 46 46