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

Post on 30-Dec-2015

215 views 0 download

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