User:Thepigdog/Lambda Calculus - syntax

The syntax of the Lambda Calculus is how it is written with characters. The syntax also describes the structure of expressions in the Lambda Calculus.

Syntax Definition
Lambda Calculus has a simple syntax. A Lambda Calculus program has the syntax of an expression where,

The variable list is defined as,
 *  := |, 

A variable as used by computer scientists has the syntax,
 * ::= 
 *  ::= | | _
 * ::= 
 *  ::= | | _

Mathematicians will sometimes restrict a variable to be a single alphabetic character. When using this convention the comma is omitted from the variable list.

A lambda abstraction has a lower precedence than an application, so;
 * $$ \lambda x.y\ z = \lambda x.(y\ z) $$

Applications are left associative;
 * $$ x\ y\ z = (x\ y)\ z $$

An abstraction with multiple parameters is equivalent to multiple abstractions of one parameter.
 * $$ \lambda x, y.z = \lambda x.\lambda y.z $$

where,
 * x is a variable
 * y is a variable list
 * z is an expression

Links

 * Lambda Calculus