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

Post on 11-Feb-2016

52 views 0 download

Tags:

description

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

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

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 11

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

Προπτυχιακό μάθημαΑρχές Γλωσσών Προγραμματισμού

Π. Ροντογιάννης

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 22

Ιστορική εξέλιξη λ-λογισμού - 1

Αναπτύχθηκε αρχικά από τον Alonzo Church στις αρχές της δεκαετίας του 1930, πολύ πριν αρχίσουν να χρησιμοποιούνται οι ηλεκτρονικοί υπολογιστές.

Ήταν μέρος μιας γενικότερης θεωρίας με στόχο τη θεμελίωση μαθηματικών και λογικής [Chur32, Chur33]

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 33

Ιστορική εξέλιξη λ-λογισμού - 2

H γενική θεωρία ήταν ασυνεπής, όπως αποδείχθηκε αργότερα [Klee35]

Το τμήμα της, που ασχολήθηκε με συναρτήσεις είχε σημαντικές εφαρμογές στην πληροφορική, κυρίως μετά το 1960

Το τμήμα αυτό είναι ο λάμβδα λογισμός ή λ-λογισμός

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 44

λ-Λογισμός Πλήρες υπολογιστικό μοντέλο Δύο πολύ σημαντικά αποτελέσματα

– Όλες οι αναδρομικές συναρτήσεις παριστάνονται στο λ-λογισμό [Klee35]

– Ως υπολογιστικό μοντέλο, ο λ-λογισμός είναι ισοδύναμος με τη μηχανή Turing [Turi37]. H μηχανή Turing αποτέλεσε τη βάση των

υπολογιστών von Neumann στους οποίους ανήκουν οι σημερινοί υπολογιστές και οδήγησε στη δημιουργία των πρώτων γλωσσών προγραμματισμού

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 55

λ-Λογισμός Σχεδιασμός νέων αρχιτεκτονικών υπολογιστών

– Μηχανές αναγωγής (reduction machines) και – Υπολογιστές ροής δεδομένων (data-flow

computers) Όταν πρωτο-δημιουργήθηκαν εκτελούσαν

αποκλειστικά προγράμματα γραμμένα σε κάποια διάλεκτο του λ-λογισμού.

Δημιουργία συναρτησιακού προγραμματισμού– John McCarthy σχεδίασε τη γλώσσα

προγραμματισμού LISP στα τέλη της δεκαετίας του 1950. Αργότερα δημιουργήθηκαν οι Scheme, ML, Miranda, Haskell, κλπ.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 66

λ- Λογισμός Υπολογιστές και συναρτησιακός

προγραμματισμός δεν έτυχαν ευρείας αποδοχής όπως οι υπολογιστές von Neumann και ο προστακτικός προγραμματισμός

Οι επιδόσεις των πρώτων μηχανών αναγωγής και οι υλοποιήσεις των συναρτησιακών γλωσσών ήταν χειρότερες από τα παραδοσιακά συστήματα.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 77

λ-Λογισμός Ιδιαίτερα πρόσφορος ως συμβολισμός

για την περιγραφή σημασιολογικών ιδιοτήτων των γλωσσών προγραμματισμού.

Διευκόλυνε τη μελέτη και απομόνωση προβλημάτων σχεδίασης και υλοποίησης των γλωσσών προγραμματισμού– Μηχανισμό κλήσης υπο-προγραμμάτων

και δομή συστήματος τύπων

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 88

λ-Λογισμός Διατύπωση θεωρίας πεδίων Θεμελίωση ερευνητικού πεδίου της

σημασιολογίας γλωσσών προγραμματισμού

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 99

Διαισθητική εισαγωγή Ο λ-λογισμός είναι θεωρία συναρτήσεων Δύο κύριες λειτουργίες

– Εφαρμογή συνάρτησης F πάνω σε ένα όρισμα Α, που συμβολίζεται με F A

– Αφαίρεση. Έστω ότι x μεταβλητή και Ε[x] έκφραση, που εξαρτάται από τη x. Η έκφραση λx.E[x] συμβολίζει τη συνάρτηση

x ↦ E[x]

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1010

Διαισθητική εισαγωγή Η συνάρτηση δέχεται ως όρισμα μία

τιμή υ και επιστρέφει ως αποτέλεσμα την τιμή Ε[υ]. Η x δεν εμφανίζεται απαραίτητα στην έκφραση Ε[x]. Αν αυτό δεν συμβαίνει, τότε η λx.E[x] είναι μία σταθερή συνάρτηση.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1111

Παράδειγμα Η λx. x2 – 3x +2 συμβολίζει μία

συνάρτηση, που σε κάθε τιμή x απεικονίζει την τιμή x2 – 3x +2.

Αν η συνάρτηση εφαρμοσθεί στο όρισμα 8, προκύπτει

(λx. x2 – 3x +2)8 = 82 - 38 +2 =42 Η τιμή του ορίσματος αντικαθιστά

την παράμετρο x

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1212

Ελεύθερη και Δεσμευμένη Μεταβλητή

Η αφαίρεση λx.E[x] δεσμεύει τη μεταβλητή x μέσα στην έκφραση Ε[x].

Μεταβλητή μη δεσμευμένη ονομάζεται ελεύθερη.

Παράδειγμα: λx. x2 – 3y +2 x δεσμευμένη και y ελεύθερη Παράδειγμα: (λx. x2 – 3y +2)(4x + 1) H πρώτη εμφάνιση του x (στο x2) είναι

δεσμευμένη, γιατί είναι στο εσωτερικό της αφαίρεσης, ενώ η δεύτερη (στο 4x + 1) είναι ελεύθερη)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1313

Παράδειγμα Δέσμευσης sinx +cosy cosx –siny

Η μεταβλητή x στο εσωτερικό του ολοκληρώματος είναι δεσμευμένη και κατά συνέπεια η τιμή του ολοκληρώματος δεν εξαρτάται από την τιμή του x έξω από αυτό. Η μεταβλητή y είναι ελεύθερη και η τιμή του ολοκληρώματος εξαρτάται από την τιμή του y έξω από αυτό.

∫ dx

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1414

Λάμβδα όροι Ο λ-λογισμός είναι μία τυπική

γλώσσα Λ, η σύνταξη της οποίας δίνεται από τον ακόλουθο επαγωγικό ορισμό:

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1515

Ορισμός 10.1

Έστω V ένα αριθμήσιμο σύνολο μεταβλητών. Το σύνολο Λ των όρων του λ-λογισμού είναι το μικρότερο σύνολο, που ικανοποιεί τις παρακάτω ιδιότητες:

xV xΛ Μ,ΝΛ (Μ Ν)Λ

xV , ΜΛ (λx.Μ)Λ

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1616

λ-όροι Τα στοιχεία του συνόλου Λ

ονομάζονται επίσης λ-όροι (λ-terms). Υπάρχουν τριών ειδών: Μεταβλητές (Variables), δηλαδή

στοιχεία του συνόλου V Εφαρμογές (Applications), με μορφή (Μ

Ν), όπου Μ και Ν είναι λ-όροι Αφαιρέσεις (Abstractions), με μορφή

(λx.M), όπου x μεταβλητή και Μ λ-όρος

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1717

λ-όροι Κατά σύμβαση χρησιμοποιούνται

μικρά γράμματα του λατινικού αλφαβήτου (x,y,z κλπ) για συμβολισμό μεταβλητών και κεφαλαία (Μ,Ν,F,G, P κλπ) για λ-όρους.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1818

λ-όροι Χρησιμοποιώντας αφηρημένη σύνταξη

BNF και θεωρώντας ότι η συντακτική κλάση των μεταβλητών παριστάνεται με το μη-τερματικό σύμβολο (var), η γλώσσα Λ των λ-όρων περιγράφεται ισοδύναμα

term ::= var | (term term) | ( λ varterm )

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 1919

Παράδειγμα 10.1Οι παρακάτω είναι λ-όροι:

(x y) (λx.x) (λx.((λy.(x y)))) (((λx.x)y)(λx.z)) ((λx.(λy.z)) (λx.x)) (λx.((λy.y)(λz.x)))

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2020

Συμβάσεις Για απλοποίηση των λ-όρων και αποφυγή

μεγάλου αριθμού παρενθέσεων (με αυστηρή τήρηση ορισμού 10.1) χρησιμοποιούνται οι συμβάσεις– Εξωτερικές παρενθέσεις δεν γράφονται

λx.x συντομογραφία του (λx.x)– Η εφαρμογή είναι αριστερά

προσεταιριστική F M1 M2 … Mn συντομογραφία του (…((F M1)M2)… Mn)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2121

Συμβάσεις– Η αφαίρεση εκτείνεται όσο

περισσότερο είναι δυνατό, δηλαδή ως το επόμενο κλείσιμο παρένθεσης ή το τέλος του όρου: λx. M1 M2 … Mn συντομογραφία του λx. (M1 M2 … Mn)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2222

Παράδειγμα 10.2 Ακολουθώντας τις συμβάσεις, οι λ-όροι

του παραδείγματος 10.1 γράφονται x y

λx.x λx.λy.x y ((λx.x)y)(λx.z) (λx.λy.z) (λx.x) λx.(λy.y)(λz.x)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2323

Ορισμός 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)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2424

Μεταβλητές Η μεταβλητή x στην αφαίρεση λx.Μ

ονομάζεται δεσμεύουσα μεταβλητή (binding variable)

Η εμβέλεια (scope) της αφαίρεσης λx είναι ο λ-όρος Μ, εκτός από τυχόν αφαιρέσεις, που αυτός περιέχει και στις οποίες δεσμεύουσα μεταβλητή είναι πάλι η x.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2525

Μεταβλητές Εμφανίσεις της μεταβλητής x που

βρίσκονται στην εμβέλεια κάποιου λx ονομάζονται δεσμευμένες (bound).

Εμφανίσεις, που δεν βρίσκονται στην εμβέλεια κανενός λx ονομάζονται ελεύθερες.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2626

Ορισμός 10.3 Το σύνολο των ελεύθερων

μεταβλητών (free variables) ενός λ-όρου ΜΛ συμβολίζεται με FV(M) και ορίζεται επαγωγικά ως εξής:

FV(x) = {x}FV(M N) = FV(M) FV(N) FV(λx.M) = FV(M) - {x}

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2727

Παράδειγμα 10.3

Έστω ο παρακάτω όρος: Μ (λx. y x) (λy. x y)

Ελεύθερη

Δεσμευμένη Ελεύθερη

Δεσμευμένη

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2828

Παράδειγμα 10.3

Ακολουθώντας τον ορισμό 10.3 FV(M) = FV(λx.y x)(λy.x y) = FV(λx.y x) FV (λy.x y) = (FV(y x) –{x}) (FV(x y) –{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}

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 2929

Ορισμός 10.4 Ένας λ-όρος ΜΛ ονομάζεται

κλειστός λ-όρος (closed λ-term ή combinator)

αν FV(M) = . Το σύνολο των κλειστών λ-όρων συμβολίζεται με Λο .

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3030

Παράδειγμα 10.4 Οι ακόλουθοι λ-όροι είναι κλειστοί

και στη βιβλιογραφία ονομάζονται πρότυποι κλειστοί όροι (standard combinators).

I λx. x K λx. λy. x K* λx. λy. y

S λx. λy. λz. (x z)(y z)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3131

Αντικατάσταση Βασική πράξη συμβολικής

επεξεργασίας των λ-όρων Επηρεάζει ελεύθερες μεταβλητές Ο συμβολισμός Μ[x := N] παριστάνει

το αποτέλεσμα αντικατάστασης στον όρο Μ όλων των ελεύθερων εμφανίσεων της μεταβλητής x με τον όρο Ν.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3232

Ορισμός 10.5 Η αντικατάσταση της μεταβλητής xV στον

όρο ΜΛ με τον όρο ΝΛ συμβολίζεται με Μ[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] αν (yFV(N) ή xFV(P))(λy.P) [x:=N] λz.P [y:=z] [x:=N] αν yFV(N) και xFV(P), όπου zFV(P) FV(N)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3333

Παρατηρήσεις Αντικαθίστανται μόνο οι ελεύθερες

εμφανίσεις μιας μεταβλητής Στο αποτέλεσμα της αντικατάστασης καμία

από τις ελεύθερες μεταβλητές του όρου Ν δεν θα γίνει δεσμευμένη

Η δέσμευση ελεύθερης μεταβλητής του όρου Ν θα μπορούσε να γίνει μόνο μέσω του τελευταίου κανόνα, στην περίπτωση, που yFV(N) και xFV(P). Ο κανόνας μεριμνά για μετονομασία της δεσμεύουσας μεταβλητής, προκειμένου να αποφευχθεί αυτό το ενδεχόμενο.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3434

Παρατηρήσεις Στον τελευταίο κανόνα η επιλογή της

μεταβλητής zV είναι ελεύθερη υπό την προϋπόθεση ότι zFV(P) FV(N)

Για τον μονοσήμαντο ορισμό του αποτελέσματος της αντικατάστασης Μ[x:=N] πρέπει σε αυτό τον κανόνα να καθορίζεται επακριβώς ο τρόπος επιλογής της μεταβλητής αυτής.

Τα στοιχεία του συνόλου V είναι αριθμημένα και επιλέγεται ως z το πρώτο, που ικανοποιεί την zFV(P) FV(N)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3535

Μετατροπές Τρία είδη μετατροπής (α,β και η) Κάθε είδος μετατροπής

περιγράφεται από τον κανόνα Μ χ N όπου χ {α,β,η} και Μ,Ν Λ. Ο όρος Μ ονομάζεται χ-redex ή απλά redex και ο Ν όρος contractum.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3636

Ορισμός 10.6 Μία σχέση πάνω στο Λ ονομάζεται

συμβατή (compatible) αν για κάθε x V και για κάθε Μ,Ν,Ρ Λ ισχύουν οι παρακάτω ιδιότητες:

Μ Ν (Μ Ρ) (Ν Ρ) Μ Ν (Ρ Μ) (Ρ Ν) Μ Ν (λx. M) (λx. Ν) Η σχέση ταυτότητας μεταξύ των λ-

όρων είναι συμβατή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3737

Ορισμός 10.7 Μία σχέση αναγωγής (reduction

relation) είναι μία συμβατή, ανακλαστική και μεταβατική σχέση πάνω στο Λ.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3838

Ορισμός 10.8 Μία σχέση συμφωνίας (congruence

relation) είναι μία συμβατή σχέση ισοδυναμίας πάνω στο Λ.

(Μία σχέση ονομάζεται σχέση ισοδυναμίας (equivalence relation) αν είναι ανακλαστική, μεταβατική και συμμετρική.)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 3939

Ορισμός 10.9 Η σχέση α ορίζεται ως η μικρότερη

συμβατή σχέση πάνω στο Λ για την οποία για κάθε ΜΛ και για κάθε x,yV τέτοια ώστε yFV(M) ισχύει

λx.M α λy.M[x:=y]

Ο περιορισμός yFV(M) εξασφαλίζει ότι η μετονομασία της δεσμεύουσας μεταβλητής δεν προκαλεί δέσμευση των μεταβλητών του όρου Μ, που ήταν αρχικά ελεύθερες.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4040

Παράδειγμα 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.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4141

Παράδειγμα 10.5Η παρακάτω μετατροπή είναι

λανθασμένη: λx.λz.z x y α λy.λz.z y yγιατί δεν πληρείται ο περιορισμός yFV(λz.z x y)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4242

Ορισμός 10.10

Η σχέση β ορίζεται ως η μικρότερη συμβατή σχέση πάνω στο Λ για την οποία για κάθε Μ, ΝΛ και για κάθε x,yV ισχύει

(λx.M)Ν β M[x:=Ν]

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4343

Παράδειγμα 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)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4444

Παράδειγμα 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 νέα μεταβλητή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4545

Ορισμός 10.11 Η σχέση n ορίζεται ως η μικρότερη

συμβατή σχέση πάνω στο Λ για την οποία για κάθε ΜΛ και για κάθε xV τέτοια ώστε xFV(M) ισχύει

λx.M x n M

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4646

Παράδειγμα 10.7

Οι παρακάτω n-μετατροπές είναι σωστές:

λx.z x n zλy.z x y n z x

Όχι όμως η: λx.z x x n z xγιατί δεν πληρείται το xFV(z x)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4747

Μετατροπή, αναγωγή και ισότητα

Οι τρεις κανόνες μετατροπής (α), (β) και (n) ορίζουν τρεις βασικές σχέσεις μετατροπής α , β , n για το λ-λογισμό.

Η συνολική σχέση μετατροπής MN θα υποδηλώνει ότι ο όρος Μ μετατρέπεται σε ένα βήμα στον όρο Ν με έναν από τους τρεις κανόνες.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4848

Ορισμός 10.12

Με συμβολίζεται η ένωση των σχέσεων

α , β , n , δηλαδή η σχέση ορίζεται ως η μικρότερη σχέση για την οποία ισχύουν:

Μ α Ν Μ Ν Μ β Ν Μ Ν Μ n Ν Μ Ν

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 4949

ΣυμβολισμόςΜ Νο Ν1 Ν2 .... Νn-1 Νn Ν

Ο όρος Μ μετατρέπεται στον όρο Ν με ακολουθία βημάτων, πιθανώς κενή. Η σχέση συμβολίζεται

Μ ↠ Ν Αν n =1 τότε η μετατροπή γίνεται σε ένα βήμα Μ Ν και άρα η σχέση ↠ εμπεριέχει την . Αν n=0, η ακολουθία είναι κενή και δε

συμβαίνει μετατροπή, δηλαδή Μ Ν και άρα η σχέση ↠ εμπεριέχει την .

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5050

Ορισμός 10.13 Με ↠ συμβολίζεται το ανακλαστικό και

μεταβατικό κλείσιμο της σχέσης →. Δηλαδή, η σχέση ↠ ορίζεται ως η μικρότερη σχέση για την οποία ισχύουν:

Μ → Ν Μ ↠ Ν Μ ↠ Μ Μ ↠ Ν, Ν ↠ Ρ Μ ↠ Ρ

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5151

Παρατηρήσεις Η σχέση ↠ είναι σχέση αναγωγής

(ορισμός 10.7). Όταν ισχύει Μ ↠ Ν λέμε ότι ο όρος Μ ανάγεται στον όρο Ν.

Όταν Μ ↠ Ν, όλα τα βήματα στην ακολουθία μετατροπής έχουν την ίδια κατεύθυνση, από αριστερά προς δεξιά.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5252

Παρατηρήσεις Αν επιτραπεί η ύπαρξη «αντίστροφων

βημάτων, όπωςΜ Νο Ν1 Ν2 Ν3 Ν4 Ν5 Ν6 Ν

Τότε οδηγούμαστε σε μία γενικότερη σχέση, που συμβολίζουμε με =. Η σχέση αυτή, εμπεριέχει τις ↠ , και .

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5353

Ορισμός 10.14 Με = συμβολίζεται η σχέση

ισοδυναμίας, που προκύπτει από την ↠ . Δηλαδή η σχέση = ορίζεται ως η μικρότερη σχέση για την οποία ισχύουν:

Μ ↠ Ν Μ = Ν Μ = Ν Ν = Μ Μ = Ν, Ν = Ρ Μ = Ν

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5454

Σχέσεις “=“, “” Η σχέση = είναι σχέση συμφωνίας

(ορισμός 10.8). Όταν ισχύει Μ=Ν, ο όρος Μ είναι ίσος με τον όρο Ν.

Με τη σχέση ισότητας Μ=Ν δεν εννοείται ότι οι δύο όροι ταυτίζονται, δηλαδή δεν ισχύει Μ Ν (ορισμός 10.2).

Η διάκριση των δύο σχέσεων και η επιλογή του συμβόλου “=“ για τη σχέση συμφωνίας του ορισμού 10.14 ενδέχεται να μπερδέψει τον αναγνώστη.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5555

Κανονικές μορφές λ-λογισμός θεωρείται ως

υπολογιστικό μοντέλο επεξεργασίας συναρτήσεων

Σχέσεις μετατροπής – παριστάνουν την πραγματοποίηση

βημάτων επεξεργασίας πάνω στους λ-όρους

– Αποσκοπούν στον υπολογισμό κάποιου αποτελέσματος

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5656

β - Μετατροπή Κατ’ εξοχήν υπολογιστική πράξη,

αφού διαισθητικά παριστάνει εφαρμογή μίας συνάρτησης σε κάποιο όρισμα

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5757

α - Μετατροπή Δεν προάγει τη διαδικασία

υπολογισμού. Τα ονόματα των δεσμευμένων

μεταβλητών δεν έχουν ουσιαστική σημασία.

Η μετονομασία των μεταβλητών, που επιτελείται μέσω της α-μετατροπής δεν αποτελεί ουσιαστικό υπολογιστικό βήμα

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5858

η – μετατροπή Δεν συμβάλλει άμεσα στην

υπολογιστική διαδικασία. Υλοποιεί έναν μηχανισμό για την

υλοποίηση λ-όρων, που παριστάνουν συναρτήσεις

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 5959

Παρατηρήσεις Η σχέση μετατροπής M N παριστάνει

ένα βήμα στη διαδικασία υπολογισμού Η σχέση Μ↠ Ν παριστάνει (πιθανώς κενή)

ακολουθία από τέτοια βήματα. Όταν Μ↠ Ν μπορεί να θεωρηθεί ότι ο

όρος Ν προέκυψε κατά την αποτίμηση του όρου Μ.– Αποτίμηση ενός όρου είναι η διαδοχική

εφαρμογή κανόνων μετατροπής σε αυτόν.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6060

Κανονικές μορφές Όταν σε έναν όρο Μ δεν εφαρμόζεται

κανένα αμιγώς υπολογιστικό βήμα, δηλαδή καμία β- ή η-μετατροπή, τότε η αποτίμηση του θεωρείται ολοκληρωμένη και ο όρος είναι τελικό αποτέλεσμα.

Τέτοιοι πλήρως αποτιμημένοι όροι ονομάζονται κανονικές μορφές.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6161

Ορισμός 10.15

Ένας όρος ΜΛ είναι σε κανονική μορφή (normal form) όταν δεν περιέχει κανένα β-redex ή n-redex.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6262

Παράδειγμα 10.8

Οι όροι λx.x και λf.f (λx.x f) είναι σε κανονική μορφή. Αντίθετα ο όρος

λz.(λf.λx.f z x) (λy.y) δεν είναι σε κανονική μορφή, γιατί περιέχει το β-redex:

(λf.λx.f z x)(λy.y) β λx. (λy.y) z x

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6363

Παρατήρηση Στις κανονικές μορφές δεν

λαμβάνεται υπόψη η α-μετατροπή. Αυτό είναι σύμφωνο με τη θεώρηση του λ-λογισμού ως υπολογιστικού μοντέλου. Αν δεν συνέβαινε, τότε απλοί όροι όπως ο λx.x δεν θα ήταν σε κανονική μορφή λόγω δυνατής μετονομασίας κάποιας δεσμεύουσας μεταβλητής.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6464

Παρατήρηση Η σχέση συμφωνίας =α βάσει της

οποίας όλοι οι όροι, που προκύπτουν με α-μετατροπές είναι ισοδύναμοι, αποτελεί θεμελιώδη σχέση ισοδυναμίας μεταξύ κανονικών μορφών. Το γεγονός αυτό αποδίδεται και από την επόμενη πρόταση.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6565

Πρόταση 10.1

Αν ο όρος ΜΛ είναι σε κανονική μορφή και ισχύει Μ ↠ Ν για κάποιον όρο ΝΛ, τότε Μ =α Ν.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6666

Πρόταση 10.1 - Σχόλια Υπάρχουν λ-όροι η αποτίμηση των

οποίων οδηγεί, μετά από διαδοχικές μετατροπές σε κάποια κανονική μορφή. Υπάρχουν όροι για τους οποίους αυτό δεν ισχύει και η αποτίμηση τους ενδέχεται να συνεχίζεται επ’ άπειρον χωρίς να καταλήγει σε κανονική μορφή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6767

Ορισμός 10.16 Ένας όρος ΜΛ λέμε ότι έχει κανονική

μορφή αν για κάποιον όρο ΝΛ, ισχύει Μ ↠ Ν και ο Ν είναι σε κανονική μορφή. Στην περίπτωση αυτή, ο όρος Μ ονομάζεται κανονικοποιήσιμος (normalizing).

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6868

Παράδειγμα 10.9 Ο όρος λz. (λf.λx.fzx)(λy.y) στο παράδειγμα

10.8 δεν είναι σε κανονική μορφή. Εφαρμόζοντας διαδοχικά βήματα

λz.(λf.λx.fzx)(λy.y) β λz.λx. (λy.y)zx β λz. λx.zx η λz. z και άρα λz. (λf.λx.fzx)(λy.y) ↠λz. z Καθώς λz.z σε κανονική μορφή και ο αρχικός

όρος έχει κανονική μορφή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 6969

Παράδειγμα 10.10 Έστω ο όρος Ω (λx. x x) (λx. x x) σε μη

κανονική μορφή. Ο όρος περιέχει μόνο ένα β-redex και η μόνη μετατροπή, που μπορεί να εφαρμοσθεί είναι η:

Ω (λx. x x) (λx. x x) β (λx. x x) (λx. x x) Ω Σε ένα βήμα μετατροπής, ο όρος Ω

μετατρέπεται πάλι στον εαυτό του. Η διαδικασία αποτίμησης δεν τερματίζεται και ο όρος Ω δεν έχει κανονική μορφή. Εδώ η διαδικασία αποτίμησης δεν προοδεύει.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7070

Παράδειγμα 10.11 Έστω ο όρος Μ (λx. x x y)(λx. x x y), με

ένα μόνο β-redex. Η μόνη ακολουθία μετατροπών, που εφαρμόζεται είναι:Μ (λx. x x y)(λx. x x y)

β (λx. x x y)(λx. x x y) y M y β (λx. x x y)(λx. x x y) y y M y y β (λx. x x y)(λx. x x y) y y y M y y y β …. Κάθε αποτέλεσμα δεν είναι σε κανονική μορφή και

έχει μόνο ένα β-redex.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7171

Παράδειγμα 10.12 Έστω ο όρος Μ = (λx. (λy. x y) z) w με

δύο β-redex για τις δύο αφαιρέσεις με δεσμεύουσες μεταβλητές x και y. Μετατρέποντας πρώτα το πρώτο από αυτά, προκύπτει η αποτίμηση:

Μ β (λy. w y) z β w z Μετατρέποντας τα με την αντίστροφη

σειρά προκύπτει η αποτίμηση:Μ β (λy. x z) w β w z

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7272

Παράδειγμα 10.13 Έστω ο όρος Μ = (λz. y) ((λx. x x)(λx. x x)) που

περιέχει τον όρο Ω του παραδείγματος 10.10. Ο όρος Μ περιέχει δύο β-redex για τις δύο αφαιρέσεις με δεσμεύουσες μεταβλητές z και την πρώτη από τις δύο x.

Μετατρέποντας το πρώτο, οδηγούμαστε σε κανονική μορφή: M β y

Μετατρέποντας το δεύτερο, οδηγούμαστε πάλι στον ίδιο όρο, όπως με τη μετατροπή του Ω:

M β (λz.y) ((λx. x x)(λx. x x)) Μ

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7373

Ορισμός 10.17

Ένας όρος Μ ονομάζεται ισχυρά κανονικοποιήσιμος (strongly normalizing) αν όλες οι ακολουθίες μετατροπής, που ξεκινούν με τον Μ καταλήγουν σε κανονική μορφή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7474

Ορισμός 10.18 Η στρατηγική κατά την οποία

επιλέγεται για μετατροπή κάθε φορά το αριστερότερο redex ενός όρου, δηλαδή αυτό του οποίου το σύμβολο λ βρίσκεται όσο το δυνατόν πιο αριστερά, ονομάζεται στρατηγική της αναγωγής κανονικής σειράς (normal order reduction strategy)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7575

Θεώρημα 10.1 (Church-Rosser)

Έστω όροι Μ, Ν1,Ν2 Λ τέτοιοι ώστε Μ ↠Ν1 και Μ ↠Ν2 .Τότε υπάρχει όρος ΝΛ τέτοιος ώστε Ν1 ↠ Ν και Ν2 ↠ Ν.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7676

Διάγραμμα Μ

Ν1 Ν2

Ν

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7777

Πρόταση 10.2 Αν Μ1 = Μ2, τότε υπάρχει ένας όρος

Ν τέτοιος ώστε Μ1↠Ν και Μ2 ↠Ν.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7878

Πρόταση 10.3

Κάθε όρος Μ έχει το πολύ μία κανονική μορφή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 7979

Απόδειξη της πρότασης 10.3

Έστω ότι όρος Μ έχει δύο κανονικές μορφές Ν1 και Ν2, τότε ισχύει ς ώστε Μ↠Ν1 και Μ↠Ν2 και άρα Ν1 = Ν2. Από την πρόταση 10.2 προκύπτει ότι υπάρχει όρος Ρ τέτοιος ώστε Ν1↠ Ρ και Ν2↠ Ρ . Όμως από την πρόταση 10.1 συνεπάγεται ότι Ν1=α Ρ και Ν2=α Ρ και άρα Ν1=α Ν2.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8080

Θεώρημα 10.2Κανονικοποίηση – Normalization Αν ο όρος Μ έχει κανονική μορφή,

τότε η στρατηγική της αναγωγής κανονικής σειράς οδηγεί σε αυτήν.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8181

Θεώρημα 10.3Σταθερό σημείο – Fixed pointi) Για κάθε όρο FΛ υπάρχει όρος ΧΛ

τέτοιος ώστε να ισχύει F X = Xii) Υπάρχει ένας τελεστής σταθερού

σημείου, δηλαδή ένας όρος Υ Λ τέτοιος ώστε για κάθε FΛ να ισχύει F(Υ F)= Υ F.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8282

Απόδειξη Θεωρήματος 10.3i) Έστω W λx. F(x x) και X W W. Τότε

ισχύει X W W (λx. F(x x)) W β F(W W) F X ii) Έστω ο κλειστός όρος Υ Λ, που ορίζεται ως Υ

λf (λx.f (x x)) (λx.f(x x)) και έστω FΛ. Χρησιμοποιώντας την απόδειξη του i) έχουμε

ΥF (λf (λx.f (x x)) (λx.f(x x))) F β (λx.F (x x)) (λx.F (x x)) X

Καθώς Χ = FX, από τη συμβατότητα της σχέσης = προκύπτει Υ F=F(Υ F)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8383

Ορισμός 10.19 Πως μπορούμε να αναπαραστήσουμε τις

λογικές τιμές στο λάμβδα-λογισμό;true λx. λy. xfalse λx. λy. y

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8484

Ορισμός 10.20 Πως αναπαριστούμε τους λογικούς

τελεστές;

not λz. z false true

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8585

Θεώρημα 10.4i) not true = falseii) not false = trueΑπόδειξη (μόνο του πρώτου, παρόμοια γίνεται και του

δεύτερου)not true (λz.z false true) true

β true false true (λx. λy. x) false true

↠β false

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8686

Ορισμός 10.21 cond λz. λx. λy. z x y if B then N else M cond B N M

Αποδεικνύεται εύκολα ότι η παραπάνω δομή πληροί τις απαιτούμενες ιδιότητες.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8787

Θεώρημα 10.5Για κάθε Ν, Μ ισχύουν τα παρακάτωi) if true then N else M = Nii) if false then N else M = MΑπόδειξη (του πρώτου)if true then N else Μ cond true N M (λz. λx. λy. z x y) true N M

↠β true N M (λx. λy. x) N M ↠β N

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8888

Διατεταγμένα ζεύγη

Στον λ-λογισμό κωδικοποιούνται διατεταγμένα ζεύγη όρων (που με τη σειρά τους κωδικοποιούν άλλα μαθηματικά αντικείμενα). Μία τέτοια κωδικοποίηση γίνεται μέσω του pair. Ο συμβολισμός Ν,Μ χρησιμοποιείται για διευκόλυνση στη γραφή όρων, που κωδικοποιούν διατεταγμένα ζεύγη.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 8989

Ορισμοί 10.22 και 10.23 pair λx. λy. λz. z x y Ν, Μ pair N M Οι πράξεις fst και snd, που επιστρέφουν το

πρώτο και το δεύτερο στοιχείο ενός διατεταγμένου ζεύγους κωδικοποιούνται ως:

fst λz. z true snd λz. z false Αποδεικνύεται ότι οι πράξεις πληρούν

απαιτούμενες ιδιότητες και άρα η δομή Ν,Μ χρησιμεύει ως διατεταγμένο ζεύγος.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9090

Θεώρημα 10.6Για κάθε Ν, Μ Λ ισχύουν τα εξής: i) fst Ν,Μ = Nii) snd Ν,Μ = M

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9191

Θεώρημα 10.6Απόδειξη (μόνο του πρώτου)fst Ν,Μ (λz.z true) Ν,Μ β Ν,Μ true pair N M true (λz. λx. λy. z x y) N M true ↠β true N M

(λx. λy. x) N M ↠β N

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9292

Φυσικοί αριθμοί Έχουν προταθεί πολλές διαφορετικές

κωδικοποιήσεις των φυσικών αριθμών στον λ-λογισμό. Η πρώτη και η πιο γνωστή από αυτές είναι τα αριθμοειδή του Church.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9393

Ορισμός 10.24Έστω φυσικός αριθμός n N και όροι F, AΛ.

Ο όρος Fn(A) Λ ορίζεται επαγωγικά ως:F0(A) ΑFn+1(A) F (Fn(A))Ο ορισμός του Fn(A) θα μπορούσε ισοδύναμα

να δοθεί με τη μορφή Fn+1(A) Fn(F A). Με επαγωγή αποδεικνύεται ότι Fn(FA) F (Fn(A)) και Fn(Fm(A)) Fn+m(A).

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9494

Ορισμός 10.25

(Αριθμοειδή του Church – Church numerals)

Για κάθε φυσικό αριθμό n N ορίζεται ένας όρος cn Λ ως: cn λf. λx. fn(x)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9595

Ορισμός 10.25

Το αριθμοειδές, που αντιστοιχεί στον αριθμό 0 είναι το c0 λf. λx. x, στον αριθμό 1 το c1 λf. λx. f x, στον αριθμό 2 το c2 λf. λx. f (f x) κοκ. Όλα τα αριθμοειδή είναι σε β-κανονική μορφή (μάλιστα όλα εκτός του c1 είναι και σε n-κανονική μορφή). Ούτε όλοι οι λ-όροι είναι αριθμοειδή, ούτε όλοι ανάγονται σε αριθμοειδή.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9696

Ορισμός 10.26 succ λn. λf. λx. n f (f x) A+ λn. λm. λf. λx. n f (m f x) A* λn. λm. λf. n (m f) Aexp λn. λm. m n Το θεώρημα 10.7 αποδεικνύει την

ορθότητα της κωδικοποίησης πράξεων του παραπάνω ορισμού. Για την απόδειξη του είναι χρήσιμο το ακόλουθο λήμμα.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9797

Λήμμα 10.1Για κάθε n,m N και για κάθε x,y Λ

ισχύουν τα εξής:i) cn f (cm f x ) = cn+m f xii) (cn x)m(y) = xnm(y)iii) Αν m>0, τότε (cn)m(x) = cnm x

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9898

Λήμμα 10.1

Απόδειξηi) cn f (cm f x ) (λf. λx.fn(x)) f ((λf. λx.fm(x))) f

x) ↠β (λf. λx.fn(x)) f (fm(x)) ↠β (fn(fm(x)) fn+m(x) ↞β (λf. λx.fn+m(x)) f x cn+m f x

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 9999

Λήμμα 10.1

Απόδειξηii) (cn x)m+1(y) cn x((cn x)m(y)) = cn x(xnm (y)) (επαγωγική υπόθεση)

(λf. λx.fn(x)) x (xnm (y)) ↠β xn(xnm (y)) xn+nm (y) xn(1+m) (y)

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 100100

Λήμμα 10.1

Απόδειξηiii) (cn)m+1(x) cn ((cn)m(x)) = cn (cnm x) (επαγωγική υπόθεση)

(λf. λx.fn(x)) (cnm x) ↠β λy. (cnm x)n(y) = λy. xnm n(y) (λήμμα 10.1(ii)) λy. xnm+1(y) ←β (λ f.λx. fnm+1(x))x cn

m+1 x

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 101101

Θεώρημα 10.7Για κάθε n,m N ισχύουν τα εξής:i) succ cn = cn+1

ii) A+ cn cm = cn+m

iii) A* cn cm = cnm

iv) Αν m>0 τότε Aexp cn cm = cnm

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 102102

Θεώρημα 10.7Απόδειξηi) succ cn (λn. λf. λx. n f (f x)) (λf. λx. fn(x))

β λf. λx. (λf. λx. fn(x)) f (f x) ↠β λf. λx. fn(f x) cn+1

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 103103

Θεώρημα 10.7Απόδειξηii) A+ cn cm (λn. λm. λf. λx. n f (m f x)) cn cm

↠β λf. λx. cn f (cm f x) = λf. λx. cn+m f x (λήμμα 10.1 (i))

↠n cn+m

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 104104

Θεώρημα 10.7Απόδειξηiii) A* cn cm (λn. λm. λf. λx. n (m f)) cn

cm

↠β λf. cn f (cm f) λf. (λf. λx. fn(x)) (cm f ) β λf. λx. (cm f )n(x)

= λf. λx.fmn (x) (λήμμα 10.1 (ii)) cnm

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 105105

Θεώρημα 10.7Απόδειξηiv) Aexp cn cm (λn. λm. m n) cn cm

↠β cm cn (λf. λx.fm(x)) (cn ) β λx.(cn)m(x)

= λx.cnm x (λήμμα 10.1 (iii)) n cnm

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 106106

Λάμβδα λογισμός και πέρασμα παραμέτρων

Η σχέση ομοιότητας του λ-λογισμού με τις γλώσσες προγραμματισμού δεν περιορίζεται στην εκφραστική του ικανότητα ως προγραμματιστικού μοντέλου.

Οι στρατηγικές αναγωγής λ-όρων είναι πολύ στενά συνδεδεμένες με μεθόδους περάσματος παραμέτρων των γλωσσών προγραμματισμού.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 107107

Αναλογία λ-λογισμού και γλωσσών προγραμματισμού Οι λ-όροι αντιστοιχούν σε εκφράσεις ή

εντολές Η αφαίρεση και η εφαρμογή

αντιστοιχούν στον ορισμό και την κλήση συναρτήσεων ή διαδικασιών και

Η διαδικασία της αναγωγής αντιστοιχεί στην αποτίμηση εκφράσεων ή την εκτέλεση εντολών.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 108108

Οκνηρή αποτίμηση (lazy evaluation)

Τερματισμός της αποτίμησης μιας έκφρασης πριν προκύψει πλήρως αποτιμημένο αποτέλεσμα.

Υποστήριξη από γλώσσες συναρτησιακού προγραμματισμού– Haskell και Miranda

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 109109

Οκνηρή αποτίμηση Τερματισμός όταν το αποτέλεσμα είναι

τιμή (value). Η ακριβής μορφή των τιμών διαφέρει

από γλώσσα σε γλώσσα– Αριθμητικές και λογικές σταθερές,

καθώς και συναρτησιακές αφαιρέσεις είναι τιμές.

Στον λ-λογισμό μόνο οι αφαιρέσεις θεωρούνται τιμές

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 110110

Αναγωγή Κανονικής Μορφής

Η στρατηγική της αναγωγής κανονικής σειράς σχετίζεται στενά με την οκνηρή αποτίμηση.

Η μετατροπή κάθε φορά του αριστερότερου β-redex σημαίνει ότι δεν έχει προηγηθεί μετατροπή μέσα στον όρο, πάνω στον οποίο εφαρμόζεται η αφαίρεση, που αντιστοιχεί σε αυτό το β – redex.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 111111

Αναλογία με Οκνηρή Αποτίμηση

Κατ’ αναλογία στην οκνηρή αποτίμηση μία συνάρτηση καλείται χωρίς να προηγηθεί αποτίμηση των παραμέτρων της.

Στην γλώσσα προγραμματισμού Algol 60, η συμπεριφορά αυτή επιτυγχάνεται με τη μέθοδο του περάσματος παραμέτρων κατ’ όνομα (call by name).

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 112112

Παράδειγμα Η στρατηγική της αναγωγής

κανονικής σειράς οδηγεί τελικά την αναγωγή του όρου (λx.λy.y)Ω στην τιμή λy.y

Το ίδιο αποτέλεσμα προκύπτει στη γλώσσα Algol 60, αν ορισθούν οι συναρτήσεις και στη συνέχεια αποτιμηθεί η έκφραση f(g) στον επόμενο κώδικα:

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 113113

Παράδειγμαinteger procedure f (x);

integer x;begin f :=42end;integer procedure g;begin while true do g := 7end;

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 114114

Παράδειγμα Το αποτέλεσμα είναι 42, γιατί κατά

την αποτίμηση δε χρειάζεται να γίνει η κλήση στη συνάρτηση g, που δεν τερματίζεται

Η αποτίμηση όμως της έκφρασης f(g) δεν θα τερματιζόταν σε κάποιες άλλες γλώσσες προγραμματισμού– Pascal, C, κλπ.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 115115

Πρόθυμη Αποτίμηση

Στις γλώσσες αυτές το πέρασμα παραμέτρων γίνεται κατ’ αξία (by value) και η τιμή της παραμέτρου g αποτιμάται πριν κληθεί η συνάρτηση f.

Η κλήση της g οδηγεί σε μη τερματισμό. Πρόθυμη αποτίμηση (eager evaluation)

είναι η αποτίμηση κατά την οποία οι παράμετροι αποτιμώνται πριν γίνει η κλήση στη συνάρτηση.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 116116

Πρόθυμη αποτίμηση στο λ-λογισμό

Στον λ-λογισμό , το ανάλογο της πρόθυμης αποτίμησης και του περάσματος παραμέτρων κατ’ αξία είναι μία στρατηγική αποτίμησης που κατά την αποτίμηση του όρου (λx.λy.y)Ω θα αποτιμούσε πρώτα τον όρο Ω.

Εθνικόν και Καποδιστριακόν Πανεπιστήμιον ΑθηνώνΕθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών – – Τμήμα Πληροφορικής και ΤηλεπικοινωνιώνΤμήμα Πληροφορικής και Τηλεπικοινωνιών 117117

Πρόθυμη αποτίμηση στο λ-λογισμό

Τέτοιου είδους στρατηγικές προκύπτουν υποχρεωτικά αν στον κανόνα της β-μετατροπής

(λx.M) N β M[ x:=N ] Προσθέσουμε τον περιορισμό ότι ο

όρος Ν πρέπει να είναι τιμή.