Lambda Calculus And its graphic representation. Brief Explanation of LC What: A series of...
-
Upload
walter-todd -
Category
Documents
-
view
215 -
download
0
Transcript of Lambda Calculus And its graphic representation. Brief Explanation of LC What: A series of...
Lambda Calculus And its graphic representation
Brief Explanation of LC What:
A series of expressions, constants, and variables written in prefix notation
“Theoretical foundation of functional programing” Why Lambda? ^ -> λ
Beginnings of LC Late 1800’s through 1920’s: foundations laid
Vorlesungen über die Algebra der Logik Schröder (1890–1905)
Calculus of relatives Löwenheim (1915)
Propositional calculus completeness Post (1921)
Attempt at Unification
Fact Run-down Alonzo Church Publish in 1932 Purpose: Wanted to provide a formal foundation for logic 1933 Proved Inconsistent
Rosser & Kleene Revision
Early History of LC 1930’s Entscheidungsproblem proven to have no answer
(Church and Turing Independently) Turing joins growing group of users
LC Through the Years Computability and λ-definability
Turing (1937) 1940’s -1950 Little Interest
Kleene preferred other systems of computation 1958 -> present functional programming
LISP Not only for logicians 1960’s
Fitch (1958)
LC Today LISP – not directly based on LC though much stems from it
Handles substitution through “dynamic binding” John McCarthy
Algol- a pure form of LC computing CHUCH – a pure form of LC, and first use of the leftmost –
first reduction (as apposed to call by value) ((λx. x x)(λx. x x))
A More Complete Definition A mathematical and logical way to set up all subsequent
math functions based upon simple functions. Functions consist of expressions which take the following forms: [constant] [variable] [expression][expression]
Example #1 of LC (λx.(λy. + x y) 5) ((λy. - y 3) 7)) (λx. + x 5) (- 7 3) = (λx. + x 5) 4 (+ 4 5) = 9
Example #2 (((λf. (λx. f (f x))) (λy. (* y y))) 3) λx. (λy. (* y y)) ((λy. (* y y)) x) 3 λy. (* y y)) ((λy. (* y y)) 3 (λy. (* y y)) (* 3 3) (* 9 9) = 81
Real World Uses Basis for programing languages
Programing Languages and LC May be useful for some functional paradigm programmers
Higher order Lack of importance
Turing complete Logical Paradigm
Why Graphic Representation? Binds lambda calculus & emergent algebras
Marius Buliga
Emergent Algebras – some form of “distillation of differential calculus”
Set up Graphic LC “Graphic lambda calculus consists of a class of graphs
endowed with moves between them” Unique path to root
Example of GLC λ x.x λ x.(λy.x)
Example of GLC (λ x.(x x))(λx.(x x))
Example of GLC (λ x.(x y))(λx.(x y))
(assuming y to have some value)
Use #1 of GLC
Ex. How crossing vectors may be represented in GLC
Convertibility of 2D graphs
Use #2 of GLC
Reidemeister Moves Computable (Knot Theory)
Convertibility of 3D Graphs
Future of Functional Programing Claims:
Few of this paradigm F#
Little Need On the Rise
An Aggregate
Future of LC New Aggregates Logical Paradigm
AI Binding Mathematics
Sources Historical references:
http://www.users.waitrose.com/~hindley/SomePapers_PDFs/2006CarHin,HistlamRp.pdf
LC use and functionality: https://www.youtube.com/watch?v=v1IlyzxP6Sg https://en.wikipedia.org/wiki/Lambda_calculus http://wwwusers.di.uniroma1.it/~vamd/TSL/
typedlambdacalculi.pdf http://www.cs.colorado.edu/~bec/courses/csci5535-s10/slides/
meeting24a-encodings.6up.pdf
Sources Functional Programming:
http://richardminerich.com/2012/07/functional-programming-is-dead-long-live-expression-oriented-programming/
http://homepages.inf.ed.ac.uk/wadler/papers/how-and-why/how-and-why.pdf
https://stackoverflow.com/questions/2835801/why-hasnt-functional-programming-taken-over-yet
Sources http://www.complex-systems.com/pdf/22-4-1.pdf
https://www.youtube.com/watch?v=_Q_suLwFbg8