1 / 117

Κεφάλαιο 10 Λάμβδα λογισμός

Κεφάλαιο 10 Λάμβδα λογισμός . Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης. Ιστορική εξέλιξη λ-λογισμού - 1. Αναπτύχθηκε αρχικά από τον Alonzo Church στις αρχές της δεκαετίας του 1930, πολύ πριν αρχίσουν να χρησιμοποιούνται οι ηλεκτρονικοί υπολογιστές.

azana
Download Presentation

Κεφάλαιο 10 Λάμβδα λογισμός

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Κεφάλαιο 10 Λάμβδα λογισμός Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  2. Ιστορική εξέλιξη λ-λογισμού - 1 • Αναπτύχθηκε αρχικά από τον Alonzo Church στις αρχές της δεκαετίας του 1930, πολύ πριν αρχίσουν να χρησιμοποιούνται οι ηλεκτρονικοί υπολογιστές. • Ήταν μέρος μιας γενικότερης θεωρίας με στόχο τη θεμελίωση μαθηματικών και λογικής [Chur32, Chur33] Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  3. Ιστορική εξέλιξη λ-λογισμού - 2 • H γενική θεωρία ήταν ασυνεπής, όπως αποδείχθηκε αργότερα [Klee35] • Το τμήμα της, που ασχολήθηκε με συναρτήσεις είχε σημαντικές εφαρμογές στην πληροφορική, κυρίως μετά το 1960 • Το τμήμα αυτό είναι ο λάμβδα λογισμός ή λ-λογισμός Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  4. λ-Λογισμός • Πλήρες υπολογιστικό μοντέλο • Δύο πολύ σημαντικά αποτελέσματα • Όλες οι αναδρομικές συναρτήσεις παριστάνονται στο λ-λογισμό [Klee35] • Ως υπολογιστικό μοντέλο, ο λ-λογισμός είναι ισοδύναμος με τη μηχανή Turing [Turi37]. • H μηχανή Turing αποτέλεσε τη βάση των υπολογιστών von Neumann στους οποίους ανήκουν οι σημερινοί υπολογιστές και οδήγησε στη δημιουργία των πρώτων γλωσσών προγραμματισμού Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  5. λ-Λογισμός • Σχεδιασμός νέων αρχιτεκτονικών υπολογιστών • Μηχανές αναγωγής (reduction machines) και • Υπολογιστές ροής δεδομένων (data-flow computers) • Όταν πρωτο-δημιουργήθηκαν εκτελούσαν αποκλειστικά προγράμματα γραμμένα σε κάποια διάλεκτο του λ-λογισμού. • Δημιουργία συναρτησιακού προγραμματισμού • John McCarthy σχεδίασε τη γλώσσα προγραμματισμού LISP στα τέλη της δεκαετίας του 1950. Αργότερα δημιουργήθηκαν οι Scheme, ML, Miranda, Haskell, κλπ. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  6. λ- Λογισμός • Υπολογιστές και συναρτησιακός προγραμματισμός δεν έτυχαν ευρείας αποδοχής όπως οι υπολογιστές von Neumann και ο προστακτικός προγραμματισμός • Οι επιδόσεις των πρώτων μηχανών αναγωγής και οι υλοποιήσεις των συναρτησιακών γλωσσών ήταν χειρότερες από τα παραδοσιακά συστήματα. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  7. λ-Λογισμός • Ιδιαίτερα πρόσφορος ως συμβολισμός για την περιγραφή σημασιολογικών ιδιοτήτων των γλωσσών προγραμματισμού. • Διευκόλυνε τη μελέτη και απομόνωση προβλημάτων σχεδίασης και υλοποίησης των γλωσσών προγραμματισμού • Μηχανισμό κλήσης υπο-προγραμμάτων και δομή συστήματος τύπων Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  8. λ-Λογισμός • Διατύπωση θεωρίας πεδίων • Θεμελίωση ερευνητικού πεδίου της σημασιολογίας γλωσσών προγραμματισμού Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  9. Διαισθητική εισαγωγή • Ο λ-λογισμός είναι θεωρία συναρτήσεων • Δύο κύριες λειτουργίες • Εφαρμογή συνάρτησης F πάνω σε ένα όρισμα Α, που συμβολίζεται με F A • Αφαίρεση. Έστω ότι x μεταβλητή και Ε[x] έκφραση, που εξαρτάται από τη x. Η έκφραση λx.E[x] συμβολίζει τη συνάρτηση x ↦ E[x] Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  10. Διαισθητική εισαγωγή • Η συνάρτηση δέχεται ως όρισμα μία τιμή υ και επιστρέφει ως αποτέλεσμα την τιμή Ε[υ]. Η x δεν εμφανίζεται απαραίτητα στην έκφραση Ε[x]. Αν αυτό δεν συμβαίνει, τότε η λx.E[x] είναι μία σταθερή συνάρτηση. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  11. Παράδειγμα Η λx. x2 – 3x +2 συμβολίζει μία συνάρτηση, που σε κάθε τιμή x απεικονίζει την τιμή x2 – 3x +2. Αν η συνάρτηση εφαρμοσθεί στο όρισμα 8, προκύπτει (λx. x2 – 3x +2)8 = 82 - 38 +2 =42 Η τιμή του ορίσματος αντικαθιστά την παράμετρο x Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  12. Ελεύθερη και Δεσμευμένη Μεταβλητή • Η αφαίρεση λx.E[x] δεσμεύει τη μεταβλητή x μέσα στην έκφραση Ε[x]. • Μεταβλητή μη δεσμευμένη ονομάζεται ελεύθερη. Παράδειγμα: λx. x2 – 3y +2 x δεσμευμένη και y ελεύθερη Παράδειγμα: (λx. x2 – 3y +2)(4x + 1) H πρώτη εμφάνιση του x (στο x2) είναι δεσμευμένη, γιατί είναι στο εσωτερικό της αφαίρεσης, ενώ η δεύτερη (στο 4x + 1) είναι ελεύθερη) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  13. Παράδειγμα Δέσμευσης ∫ sinx +cosy cosx –siny Η μεταβλητή x στο εσωτερικό του ολοκληρώματος είναι δεσμευμένη και κατά συνέπεια η τιμή του ολοκληρώματος δεν εξαρτάται από την τιμή του x έξω από αυτό. Η μεταβλητή y είναι ελεύθερη και η τιμή του ολοκληρώματος εξαρτάται από την τιμή του y έξω από αυτό. dx Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  14. Λάμβδα όροι Ο λ-λογισμός είναι μία τυπική γλώσσα Λ, η σύνταξη της οποίας δίνεται από τον ακόλουθο επαγωγικό ορισμό: Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  15. Ορισμός 10.1 Έστω V ένα αριθμήσιμο σύνολο μεταβλητών. Το σύνολο Λ των όρων του λ-λογισμού είναι το μικρότερο σύνολο, που ικανοποιεί τις παρακάτω ιδιότητες: xV  xΛ Μ,ΝΛ  (Μ Ν)Λ xV , ΜΛ  (λx.Μ)Λ Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  16. λ-όροι Τα στοιχεία του συνόλου Λ ονομάζονται επίσης λ-όροι (λ-terms). Υπάρχουν τριών ειδών: Μεταβλητές (Variables), δηλαδή στοιχεία του συνόλου V Εφαρμογές (Applications), με μορφή (Μ Ν), όπου Μ και Ν είναι λ-όροι Αφαιρέσεις (Abstractions), με μορφή (λx.M), όπου x μεταβλητή και Μ λ-όρος Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  17. λ-όροι • Κατά σύμβαση χρησιμοποιούνται μικρά γράμματα του λατινικού αλφαβήτου (x,y,z κλπ) για συμβολισμό μεταβλητών και κεφαλαία (Μ,Ν,F,G, P κλπ)για λ-όρους. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  18. λ-όροι • Χρησιμοποιώντας αφηρημένη σύνταξη BNF και θεωρώντας ότι η συντακτική κλάση των μεταβλητών παριστάνεται με το μη-τερματικό σύμβολο (var), η γλώσσα Λ των λ-όρων περιγράφεται ισοδύναμα term ::= var | (term term) | ( λ varterm ) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  19. Παράδειγμα 10.1 Οι παρακάτω είναι λ-όροι: (xy) (λx.x) (λx.((λy.(xy)))) (((λx.x)y)(λx.z)) ((λx.(λy.z)) (λx.x)) (λx.((λy.y)(λz.x))) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  20. Συμβάσεις Για απλοποίηση των λ-όρων και αποφυγή μεγάλου αριθμού παρενθέσεων (με αυστηρή τήρηση ορισμού 10.1) χρησιμοποιούνται οι συμβάσεις • Εξωτερικές παρενθέσεις δεν γράφονται • λx.x συντομογραφία του (λx.x) • Η εφαρμογή είναι αριστερά προσεταιριστική • F M1 M2 … Mnσυντομογραφία του (…((F M1)M2)… Mn) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  21. Συμβάσεις • Η αφαίρεση εκτείνεται όσο περισσότερο είναι δυνατό, δηλαδή ως το επόμενο κλείσιμο παρένθεσης ή το τέλος του όρου: • λx. M1 M2 … Mnσυντομογραφία του λx. (M1M2… Mn) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  22. Παράδειγμα 10.2 Ακολουθώντας τις συμβάσεις, οι λ-όροι του παραδείγματος 10.1 γράφονται xy λx.x λx.λy.xy ((λx.x)y)(λx.z) (λx.λy.z) (λx.x) λx.(λy.y)(λz.x) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  23. Ορισμός 10.2 Η σχέση ταυτότητας  στο σύνολο των λ-όρων ορίζεται επαγωγικά ως εξής: x  y ανx = y (Μ Ν)  (P Q) αν Μ  Ρ και Ν  Q (λx. M)  (λy. N) αν x = y και M  N Όπου x = y συμβολίζεται η σχέση ισότητας στο σύνολο V ( δηλαδή x και y είναι η ίδια μεταβλητή). Αν M  N, οι όροι Μ,Ν Λ ονομάζονται ταυτόσημοι (identical) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  24. Μεταβλητές • Η μεταβλητή x στην αφαίρεση λx.Μ ονομάζεται δεσμεύουσα μεταβλητή (binding variable) • Η εμβέλεια (scope) της αφαίρεσης λx είναι ο λ-όρος Μ, εκτός από τυχόν αφαιρέσεις, που αυτός περιέχει και στις οποίες δεσμεύουσα μεταβλητή είναι πάλι η x. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  25. Μεταβλητές • Εμφανίσεις της μεταβλητής x που βρίσκονται στην εμβέλεια κάποιου λx ονομάζονται δεσμευμένες (bound). • Εμφανίσεις, που δεν βρίσκονται στην εμβέλεια κανενός λx ονομάζονται ελεύθερες. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  26. Ορισμός 10.3 Το σύνολο των ελεύθερων μεταβλητών (free variables) ενός λ-όρου ΜΛ συμβολίζεται με FV(M) και ορίζεται επαγωγικά ως εξής: FV(x) = {x} FV(M N) = FV(M)  FV(N) FV(λx.M) = FV(M) - {x} Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  27. Παράδειγμα 10.3 Έστω ο παρακάτω όρος: Μ  (λx. yx) (λy. xy) Δεσμευμένη Ελεύθερη Δεσμευμένη Ελεύθερη Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  28. Παράδειγμα 10.3 Ακολουθώντας τον ορισμό 10.3 FV(M) = FV(λx.yx)(λy.xy) = FV(λx.yx)  FV (λy.xy) = (FV(yx) –{x})  (FV(xy) –{y}) = ((FV(y)  FV(x)) –{x})  ((FV(x)  FV(y))–{y}) = (({y}  {x}) – {x})  (({x} {y}) –{y}) = ({x,y}– {x})  ({x,y} –{y}) = {y}  {x} = {x,y} Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  29. Ορισμός 10.4 Ένας λ-όρος ΜΛ ονομάζεται κλειστός λ-όρος (closed λ-term ή combinator) αν FV(M) =. Το σύνολο των κλειστών λ-όρων συμβολίζεται με Λο . Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  30. Παράδειγμα 10.4 Οι ακόλουθοι λ-όροι είναι κλειστοί και στη βιβλιογραφία ονομάζονται πρότυποι κλειστοί όροι (standard combinators). I λx. x K  λx.λy.x K* λx.λy.y S  λx.λy. λz.(xz)(yz) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  31. Αντικατάσταση • Βασική πράξη συμβολικής επεξεργασίας των λ-όρων • Επηρεάζει ελεύθερες μεταβλητές • Ο συμβολισμός Μ[x := N]παριστάνει το αποτέλεσμα αντικατάστασης στον όρο Μ όλων των ελεύθερων εμφανίσεων της μεταβλητής x με τον όρο Ν. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  32. Ορισμός 10.5 Η αντικατάσταση της μεταβλητής xV στον όρο ΜΛ με τον όρο ΝΛ συμβολίζεται με Μ[x := Ν] και ορίζεται επαγωγικά ως εξής: x[x:=N]  N y[x:=N]  y (P Q) [x:=N]  P[x:=N] Q[x:=N] (λx.P) [x:=N] λx.P (λy.P) [x:=N] λy.P [x:=N] αν (yFV(N) ή xFV(P)) (λy.P) [x:=N] λz.P [y:=z] [x:=N] αν yFV(N) και xFV(P), όπου zFV(P)  FV(N) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  33. Παρατηρήσεις • Αντικαθίστανται μόνο οι ελεύθερες εμφανίσεις μιας μεταβλητής • Στο αποτέλεσμα της αντικατάστασης καμία από τις ελεύθερες μεταβλητές του όρου Ν δεν θα γίνει δεσμευμένη • Η δέσμευση ελεύθερης μεταβλητής του όρου Ν θα μπορούσε να γίνει μόνο μέσω του τελευταίου κανόνα, στην περίπτωση, που yFV(N) και xFV(P). Ο κανόναςμεριμνά για μετονομασία της δεσμεύουσας μεταβλητής, προκειμένου να αποφευχθεί αυτό το ενδεχόμενο. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  34. Παρατηρήσεις • Στον τελευταίο κανόνα η επιλογή της μεταβλητής zV είναι ελεύθερη υπό την προϋπόθεση ότι zFV(P)  FV(N) • Για τον μονοσήμαντο ορισμό του αποτελέσματος της αντικατάστασης Μ[x:=N] πρέπει σε αυτό τον κανόνα να καθορίζεται επακριβώς ο τρόπος επιλογής της μεταβλητής αυτής. • Τα στοιχεία του συνόλου V είναι αριθμημένα και επιλέγεται ως z το πρώτο, που ικανοποιεί την zFV(P)  FV(N) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  35. Μετατροπές • Τρία είδη μετατροπής (α,βκαιη) • Κάθε είδος μετατροπής περιγράφεται από τον κανόνα Μ χNόπου χ {α,β,η} και Μ,Ν Λ. Ο όρος Μ ονομάζεται χ-redex ή απλά redex και ο Ν όρος contractum. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  36. Ορισμός 10.6 Μία σχέση  πάνω στο Λ ονομάζεται συμβατή (compatible) αν για κάθε x  V και για κάθε Μ,Ν,Ρ Λ ισχύουν οι παρακάτω ιδιότητες: Μ  Ν  (Μ Ρ)  (Ν Ρ) Μ  Ν  (Ρ Μ)  (Ρ Ν) Μ  Ν  (λx.M)  (λx. Ν) Η σχέση ταυτότητας  μεταξύ των λ-όρων είναι συμβατή. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  37. Ορισμός 10.7 Μία σχέση αναγωγής (reduction relation) είναι μία συμβατή, ανακλαστική και μεταβατική σχέση πάνω στο Λ. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  38. Ορισμός 10.8 Μία σχέση συμφωνίας (congruence relation) είναι μία συμβατή σχέση ισοδυναμίας πάνω στο Λ. (Μία σχέση ονομάζεται σχέση ισοδυναμίας (equivalence relation)αν είναι ανακλαστική, μεταβατική και συμμετρική.) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  39. Ορισμός 10.9 Η σχέση α ορίζεται ως η μικρότερη συμβατή σχέση πάνω στο Λ για την οποία για κάθε ΜΛ και για κάθε x,yV τέτοια ώστε yFV(M) ισχύει λx.M α λy.M[x:=y] Ο περιορισμός yFV(M) εξασφαλίζει ότι η μετονομασία της δεσμεύουσας μεταβλητής δεν προκαλεί δέσμευση των μεταβλητών του όρου Μ, που ήταν αρχικά ελεύθερες. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  40. Παράδειγμα 10.5 Οι παρακάτω α-μετατροπές είναι σωστές: λx.x α λy.y λx.z x α λy.z y λx.λy.z x y α λy.λw.z y w Στην τρίτη μετατροπή, η αντικατάσταση (λy.z x y)[x:=y] προκάλεσε τη μετονομασία της δεσμεύουσας μεταβλητής, προκειμένου να μη δεσμευθεί στο αποτέλεσμα της αντικατάστασης η ελεύθερη εμφάνιση της y. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  41. Παράδειγμα 10.5 Η παρακάτω μετατροπή είναι λανθασμένη: λx.λz.zxy α λy.λz.zyy γιατί δεν πληρείται ο περιορισμός yFV(λz.z x y) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  42. Ορισμός 10.10 Η σχέση β ορίζεται ως η μικρότερη συμβατή σχέση πάνω στο Λ για την οποία για κάθε Μ, ΝΛ και για κάθε x,yV ισχύει (λx.M)Ν βM[x:=Ν] Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  43. Παράδειγμα 10.6 Οι παρακάτω β-μετατροπές είναι σωστές: (λx.z x) w β z w (λx.λy.z x y) w βλy.z w y (λy.z y (λx.x y)) w β z w (λx.x w) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  44. Παράδειγμα 10.6 Η επόμενη μετατροπή είναι λανθασμένη (λx.λy.z x y) (w y) βλy.z (w y) y γιατί για να γίνει αντικατάσταση (λy.z x y) [x:=w y] πρέπει να μετονομασθεί η δεσμεύουσαμεταβλητή y, διαφορετικά η εμφάνιση της y στον όρο w y θα δεσμευόταν. Το σωστό αποτέλεσμα της παραπάνω β-μετατροπής είναι: (λx.λy.z x y) (w y) β λt.z (w y) t όπου t νέα μεταβλητή. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  45. Ορισμός 10.11 Η σχέση n ορίζεται ως η μικρότερη συμβατή σχέση πάνω στο Λ για την οποία για κάθε ΜΛ και για κάθε xV τέτοια ώστε xFV(M) ισχύει λx.Mx nM Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  46. Παράδειγμα 10.7 Οι παρακάτω n-μετατροπές είναι σωστές: λx.zx nz λy.z x y nz x Όχι όμως η: λx.z x x nz x γιατί δεν πληρείται τοxFV(zx) Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  47. Μετατροπή, αναγωγή και ισότητα Οι τρεις κανόνες μετατροπής (α), (β) και (n) ορίζουν τρεις βασικές σχέσεις μετατροπής α , β , n για το λ-λογισμό. Η συνολική σχέση μετατροπής MN θα υποδηλώνει ότι ο όρος Μ μετατρέπεται σε ένα βήμα στον όρο Ν με έναν από τους τρεις κανόνες. Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  48. Ορισμός 10.12 Με  συμβολίζεται η ένωση των σχέσεων α , β , n, δηλαδή η σχέση  ορίζεται ως η μικρότερη σχέση για την οποία ισχύουν: Μ α Ν  Μ Ν Μ β Ν  Μ Ν Μ n Ν  Μ Ν Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  49. Συμβολισμός Μ  Νο  Ν1 Ν2  ....  Νn-1  Νn Ν Ο όρος Μ μετατρέπεται στον όρο Ν με ακολουθία βημάτων, πιθανώς κενή. Η σχέση συμβολίζεται Μ ↠Ν Αν n =1 τότε η μετατροπή γίνεται σε ένα βήμα Μ  Ν και άρα η σχέση ↠εμπεριέχει την . Αν n=0, η ακολουθία είναι κενή και δε συμβαίνει μετατροπή, δηλαδή Μ  Ν και άρα η σχέση ↠εμπεριέχει την . Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

  50. Ορισμός 10.13 Με ↠ συμβολίζεται το ανακλαστικό και μεταβατικό κλείσιμο της σχέσης →. Δηλαδή, η σχέση ↠ορίζεται ως η μικρότερη σχέση για την οποία ισχύουν: Μ → Ν  Μ ↠Ν Μ ↠Μ Μ ↠Ν, Ν ↠Ρ  Μ ↠Ρ Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

More Related