Lambda calculus
Lambda calculus is a theory that defines computable functions without using set theory, and is the theoretical background of functional programming. It consists of "terms" that are either variables, function definitions (""-terms), or applications of functions to terms. Terms are manipulated through some rules, (the -equivalence, the -reduction, and the -conversion), which are the axioms of the theory and may be interpreted as rules of computation.