Από τον ορισμό των κανονικών εκφράσεων και των γλωσσών είναι
φανερό ότι αν και είναι κανονικές γλώσσες τότε
κανονική είναι και η
όπως και η γλώσσα .
Δεν είναι όμως καθόλου προφανές από τον ορισμό των κανονικών εκφράσεων
το αν η συμπληρωματική γλώσσα
είναι κανονική.
Γίνεται όμως και αυτό φανερό αν χρησιμοποιήσουμε
το Θεώρημα 7.3
που λέει ότι μια γλώσσα είναι κανονική αν και μόνο
αν υπάρχει ένα DFA που την αναγνωρίζει.
Έστω λοιπόν ότι το DFA αναγνωρίζει τη γλώσσα .
Φτιάνχουμε ένα DFA από το
κρατώντας τις ίδιες καταστάσεις, αλφάβητο, αρχική κατάσταση και ακμές του
αλλά κάνουμε όλες τις τελικές καταστάσεις του μη τελικές και όλες τις
μη τελικές καταστάσεις του τις κάνουμε τελικές στο .
(Εδώ πρέπει να είμαστε λίγο προσεκτικοί και να δουλεύουμε στο μορφή
του που δε χρησιμοποιεί συντομογραφία, αλλά που ικανοποιεί την αρχική
απαίτηση για DFA, ότι δηλ. για κάθε κατάσταση και για κάθε γράμμα
του αλφαβήτου υπάρχει ακριβώς μια ακμή.)
Είναι φανερό τώρα ότι μια λέξη γίνεται δεκτή στο αν και μόνο αν δε γίνεται
δεκτή στο , άρα το είναι ένα DFA για τη γλώσσα .
Είναι τώρα εύκολο να δείξουμε ότι και η γλώσσα
είναι
κανονική. Αρκεί να δείξουμε ότι το συμπλήρωμά της είναι, και
και από αυτά που είπαμε προηγουμένως προκύπτει ο ισχυρισμός.
Έχοντας μια αντικατάσταση
μπορούμε να
επεκτείνουμε το πεδίο ορισμού της από γράμματα του
σε λέξεις του .
Αν
,
, είναι
μια λέξη, τότε ορίζουμε (χρησιμοποιούμε το ίδιο σύμβολο για να συμβολίσουμε
και την επεκτεταμένη συνάρτηση)
η γλώσσα δηλ. που προκύπτει από τη συγκόλληση των γλωσσών
.
Αν είναι μια γλώσσα ορίζουμε ως συνήθως
Θεώρημα 7.4
Αν κανονική, και η αντικατάσταση είναι κανονική, τότε η είναι
κανονική γλώσσα.
Άσκηση 7.32
Αποδείξτε το Θεώρημα 7.4 ακολουθώντας
τη «συνταγή» του σχεδίου απόδειξης που δόθηκε.
Μπορείτε για παράδειγμα να χρησιμοποιήσετε επαγωγή ως προς το μήκος
μιας κανονικής έκφρασης της κανονικής γλώσσας .
Ορισμός 7.21
Μια αντικατάσταση λέγεται ομομορφισμός αν για κάθε
η γλώσσα είναι μονοσύνολο.
Επειδή κάθε πεπερασμένο σύνολο λέξεων είναι κανονική γλώσσα (από τον
ορισμό του τι είναι κανονική γλώσσα) από το προηγούμενο
θεώρημα έπεται ότι οι ομομορφισμοί διατηρούν την κανονικότητα των γλωσσών.
Ορισμός 7.22
Αν είναι ομομορφισμός και είναι μια γλώσσα, η αντίστροφη ομομορφική
εικόνα της είναι η γλώσσα
Θεώρημα 7.5
Αν ομομορφισμός και κανονική γλώσσα τότε και η είναι κανονική.
Απόδειξη.
Έστω
ένα DFA που αναγνωρίζει την
.
Φτιάχνουμε DFA
ως εξής: κρατάμε ίδιες καταστάσεις και αρχικές και τελικές
καταστάσεις με το
και ορίζουμε μόνο νέα συνάρτηση μετάβασης ως εξής:
αν
είναι μια κατάσταση του
και
ορίζουμε
Μεταβαίνουμε δηλ. στο
σε εκείνη την κατάσταση όπου θα καταλήγαμε αν στο
ξεκινάγαμε από την κατάσταση
και ακολουθούσαμε τη
λέξη .
Είναι φανερό ότι η λέξη
γίνεται αποδεκτή από το
αν και μόνο αν η λέξη
γίνεται αποδεκτή από το
, άρα το DFA αναγνωρίζει τη γλώσσα
,
οπότε αυτή είναι κανονική.
Άσκηση 7.33
Αν είναι κανονική γλώσσα τότε και η γλώσσα
είναι κανονική. Με συμβολίζουμε τη λέξη με τα γράμματά της σε
ανάποδη σειρά. Π.χ.
.
Υπόδειξη: Δουλέψτε πάνω σε μια κανονική έκφραση για την .
Mihalis Kolountzakis
2015-11-28