![]() f x) which does nothing other than apply f f to its argument. Terms which can be connected by a zigzag of beta reductions (in either direction) are said to be beta-equivalent.Īnother basic operation often assumed in the lambda calculus is eta reduction/expansion, which consists of identifying a function, f f with the lambda abstraction ( λ x. t ) ( u ) (\lambda x.t)(u) is defined as the capture-avoiding substitution of u u for x x in t t, In general, the beta reduction of a term ( λ x. x+1) 3 reduces to 3 + 1 3+1 (and thereby, presuming appropriate rules for + +, to 4 4). The most basic operation is called beta reduction and consists in taking a lambda abstraction at its word about what it is supposed to do when applied to an input. Evaluation and ReductionĮvaluation or reduction is the process of âcomputingâ the âvalueâ of a lambda term. This is so common that it is generally abbreviated ( λ x y. x+y)): when applied to an argument x x, it returns a function which, when applied to an argument y y, returns x + y x+y. For instance, the âadditionâ function of two variables can be denoted ( λ x. This allows the representation of functions of multiple variables in terms of functions of one variable via âcurryingâ (named for Haskell Curry, although it was invented by Moses Schönfinkel): after being applied to the first argument, we return a function which, applied to the next argument, returns a function which, when applied to the next argument, â¦, returns a value. Thus u v w u v w denotes the application of u u to v v, followed by application of the result (assumed to again be a function) to w w. Applications can be parenthesized, so for instance f ( t ) f(t) and ( f ) t (f)t and ( f t ) (f t) all denote the same thing as f t f t.Īpplication is generally considered to associate to the left. The application of the function f f to the argument t t is generally denoted simply by f t f t. Lambda expressions are often convenient, even outside lambda calculus proper, for referring to a function without giving it a name.Īpplication is how we âundoâ abstraction, by applying a function to an argument. (x+1)) is the function which adds one to its argument. Is intended to represent the function which takes one input and returns the result of substituting that input for x x in t t. ![]() ![]() Univalence, function extensionality, internal logic of an (â,1)-topos Homotopy type theory, homotopy type theory - contents ![]() Modal type theory, monad (in computer science)ĭomain specific embedded programming language N-image of morphism into terminal object/ n-truncationĭiagonal function/ diagonal subset/ diagonal relationīishop set/ setoid with its pseudo-equivalence relation an actual equivalence relation Indexed cartesian product (of family of subsingletons)ĭependent product (of family of subterminal objects)ĭependent product type (of family of h-propositions) Subterminal object/ (-1)-truncated object The other zigzag identity for hom-tensor adjunction One of the zigzag identities for hom-tensor adjunction Propositions as types + programs as proofs + relation type theory/category theory logicĬomposition of classifying morphisms / pullback of display maps ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |