Lambda Calculus And its graphic representation. Brief Explanation of LC What: A series of...

of 24 /24
Lambda Calculus And its graphic representation

Embed Size (px)

Transcript of Lambda Calculus And its graphic representation. Brief Explanation of LC What: A series of...

Lambda Calculus

Lambda Calculus And its graphic representation 1Brief Explanation of LCWhat:A series of expressions, constants, and variables written in prefix notationTheoretical foundation of functional programing Why Lambda?^ ->

2Beginnings of LCLate 1800s through 1920s: foundations laid Vorlesungen ber die Algebra der Logik Schrder (18901905)Calculus of relatives Lwenheim (1915)Propositional calculus completeness Post (1921)

Attempt at Unification 3Fact Run-downAlonzo Church Publish in 1932Purpose: Wanted to provide a formal foundation for logic 1933 Proved Inconsistent Rosser & KleeneRevisionEarly History of LC1930s Entscheidungsproblem proven to have no answer (Church and Turing Independently)Turing joins growing group of usersLC Through the YearsComputability and -definability Turing (1937)1940s -1950 Little Interest Kleene preferred other systems of computation 1958 -> present functional programming LISPNot only for logicians 1960sFitch (1958)6LC TodayLISP not directly based on LC though much stems from itHandles substitution through dynamic binding John McCarthyAlgol- 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))

7A 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) 3y. (* y y)) ((y. (* y y)) 3(y. (* y y)) (* 3 3)(* 9 9) = 81

Real World Uses Basis for programing languagesPrograming Languages and LCMay be useful for some functional paradigm programmers Higher orderLack of importance Turing complete Logical Paradigm Why Graphic Representation? Binds lambda calculus & emergent algebrasMarius Buliga

Emergent Algebras some form of distillation of differential calculus13Set up Graphic LCGraphic lambda calculus consists of a class of graphs endowed with moves between themUnique 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 GLCConvertibility of 2D graphs

Use #2 of GLCReidemeister Moves Computable (Knot Theory)

Convertibility of 3D Graphs

Future of Functional ProgramingClaims: Few of this paradigm F#Little NeedOn the Rise

An Aggregate

Future of LCNew AggregatesLogical ParadigmAIBinding Mathematics

21SourcesHistorical 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_calculushttp://wwwusers.di.uniroma1.it/~vamd/TSL/typedlambdacalculi.pdf http://www.cs.colorado.edu/~bec/courses/csci5535-s10/slides/meeting24a-encodings.6up.pdf

Better grasp for aud. 22SourcesFunctional 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.pdfhttps://stackoverflow.com/questions/2835801/why-hasnt-functional-programming-taken-over-yetSourceshttp://www.complex-systems.com/pdf/22-4-1.pdf

https://www.youtube.com/watch?v=_Q_suLwFbg8