PlanetMath (more info)
 Math for the people, by the people. Sponsor PlanetMath
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Owner confidence rating: Very high Entry average rating: No information on entry rating
[parent] explicit form for currying (Derivation)

In lambda calculus, we may express Currying functions and their inverses explicitly using lambda expressions. Suppose that $f$ is a function of two arguments. Then, if $c_2$ is the currying function which maps of two arguments to higher order functions, we have, by definition, $$ f(x, y) = ((c_2 (f)) (x)) (y). $$ We then have $$ c_2 (f) = \lambda_v (\lambda_u f(u,v)) , $$ hence $$ c_2 = \lambda_w (\lambda_v (\lambda_u w(u,v))). $$ Likewise, from the original equation, we see that $$ c_2^{-1} = \lambda_w (\lambda_{ab} (w(x))(y)) . $$

We can write similar expressions for any number of arguments:

$\displaystyle c_3$ $\displaystyle = \lambda_w (\lambda_c (\lambda_b (\lambda_a w(a,b,c))))$    
$\displaystyle c_4$ $\displaystyle = \lambda_w (\lambda_d (\lambda_c (\lambda_b (\lambda_a w(a,b,c,d)))))$    
$\displaystyle c_5$ $\displaystyle = \lambda_w (\lambda_e (\lambda_d (\lambda_c (\lambda_b (\lambda_a w(a,b,c,d)))))) ,$    

etc.

Their inverses look as follows:

$\displaystyle c_3^{-1}$ $\displaystyle = \lambda_w (\lambda_{abc} ((w(a))(b))(c))$    
$\displaystyle c_4^{-1}$ $\displaystyle = \lambda_w (\lambda_{abcd} (((w(a))(b))(c))(d))$    
$\displaystyle c_4^{-1}$ $\displaystyle = \lambda_w (\lambda_{abcde} ((((w(a))(b))(c))(d))(e))$    




"explicit form for currying" is owned by rspuzio.
(view preamble | get metadata)

View style:


This object's parent.
Log in to rate this entry.
(view current ratings)

Cross-references: number, expressions, similar, equation, order, maps, arguments, lambda expressions, inverses, functions, currying, lambda calculus

This is version 2 of explicit form for currying, born on 2007-05-10, modified 2007-05-10.
Object id is 9358, canonical name is ExplicitFormForCurrying.
Accessed 1513 times total.

Classification:
AMS MSC68Q01 (Computer science :: Theory of computing :: General)

Pending Errata and Addenda
None.
Discussion
Style: Expand: Order:
forum policy

No messages.

Interact
post | correct | update request | add example | add (any)