- Applied mathematics
- >
- Mathematical modeling
- >
- Models of computation
- >
- Lambda calculus

- Fields of mathematics
- >
- Mathematical logic
- >
- Computability theory
- >
- Lambda calculus

- Fields of mathematics
- >
- Mathematical logic
- >
- Logical calculi
- >
- Lambda calculus

- Formal theories
- >
- Formal systems
- >
- Logical calculi
- >
- Lambda calculus

- Mathematical logic
- >
- Formal systems
- >
- Logical calculi
- >
- Lambda calculus

- Mathematical logic
- >
- Logic in computer science
- >
- Logical calculi
- >
- Lambda calculus

- Mathematics of computing
- >
- Formal methods
- >
- Logical calculi
- >
- Lambda calculus

- Mathematics of computing
- >
- Formal methods
- >
- Models of computation
- >
- Lambda calculus

- Mathematics of computing
- >
- Logic in computer science
- >
- Logical calculi
- >
- Lambda calculus

- Metalogic
- >
- Formal systems
- >
- Logical calculi
- >
- Lambda calculus

- Philosophy of mathematics
- >
- Mathematical logic
- >
- Computability theory
- >
- Lambda calculus

- Philosophy of mathematics
- >
- Mathematical logic
- >
- Logical calculi
- >
- Lambda calculus

- Theoretical computer science
- >
- Formal methods
- >
- Logical calculi
- >
- Lambda calculus

- Theoretical computer science
- >
- Formal methods
- >
- Models of computation
- >
- Lambda calculus

- Theoretical computer science
- >
- Logic in computer science
- >
- Logical calculi
- >
- Lambda calculus

- Theoretical computer science
- >
- Theory of computation
- >
- Computability theory
- >
- Lambda calculus

- Theoretical computer science
- >
- Theory of computation
- >
- Models of computation
- >
- Lambda calculus

Pure type system

In the branches of mathematical logic known as proof theory and type theory, a pure type system (PTS), previously known as a generalized type system (GTS), is a form of typed lambda calculus that allo

Böhm tree

In the study of denotational semantics of the lambda calculus, Böhm trees, Lévy-Longo trees, and Berarducci trees are (potentially infinite) tree-like mathematical objects that capture the "meaning" o

Lambda lifting

Lambda lifting is a meta-process that restructures a computer program so that functions are defined independently of each other in a global scope. An individual "lift" transforms a local function into

System F

System F (also polymorphic lambda calculus or second-order lambda calculus) is a typed lambda calculus that introduces, to simply typed lambda calculus, a mechanism of universal quantification over ty

Director string

In mathematics, in the area of lambda calculus and computation, directors or director strings are a mechanism for keeping track of the free variables in a term. Loosely speaking, they can be understoo

Η-conversion

No description available.

Calculus of constructions

In mathematical logic and computer science, the calculus of constructions (CoC) is a type theory created by Thierry Coquand. It can serve as both a typed programming language and as constructive found

Rho calculus

There are two different calculi that use the name rho-calculus:
* The first is a formalism intended to combine the higher-order facilities of lambda calculus with the pattern matching of term rewriti

Church encoding

In mathematics, Church encoding is a means of representing data and operators in the lambda calculus. The Church numerals are a representation of the natural numbers using lambda notation. The method

B, C, K, W system

The B, C, K, W system is a variant of combinatory logic that takes as primitive the combinators B, C, K, and W. This system was discovered by Haskell Curry in his doctoral thesis Grundlagen der kombin

Scott–Curry theorem

In mathematical logic, the Scott–Curry theorem is a result in lambda calculus stating that if two non-empty sets of lambda terms A and B are closed under beta-convertibility then they are recursively

Typed lambda calculus

A typed lambda calculus is a typed formalism that uses the lambda-symbol to denote anonymous function abstraction. In this context, types are usually objects of a syntactic nature that are assigned to

Currying

In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments into evaluating a sequence of functions, each with a single arg

Intersection type discipline

In mathematical logic, the intersection type discipline is a branch of type theory encompassing type systems that use the intersection type constructor to assign multiple types to a single term.In par

Normal form (abstract rewriting)

In abstract rewriting, an object is in normal form if it cannot be rewritten any further, i.e. it is irreducible. Depending on the rewriting system, an object may rewrite to several normal forms or no

Higher-order function

In mathematics and computer science, a higher-order function (HOF) is a function that does at least one of the following:
* takes one or more functions as arguments (i.e. a procedural parameter, whic

Lambda calculus

Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution.

Montague grammar

Montague grammar is an approach to natural language semantics, named after American logician Richard Montague. The Montague grammar is based on mathematical logic, especially higher-order predicate lo

De Bruijn index

In mathematical logic, the De Bruijn index is a tool invented by the Dutch mathematician Nicolaas Govert de Bruijn for representing terms of lambda calculus without naming the bound variables. Terms w

System U

In mathematical logic, System U and System U− are pure type systems, i.e. special forms of a typed lambda calculus with an arbitrary number of sorts, axioms and rules (or dependencies between the sort

Applicative computing systems

Applicative computing systems, or ACS are the systems of object calculi founded on combinatory logic and lambda calculus. The only essential notion which is under consideration in these systems is the

Beta normal form

In the lambda calculus, a term is in beta normal form if no beta reduction is possible. A term is in beta-eta normal form if neither a beta reduction nor an eta reduction is possible. A term is in hea

Untyped lambda calculus

No description available.

Divergence (computer science)

In computer science, a computation is said to diverge if it does not terminate or terminates in an exceptional state. Otherwise it is said to converge. In domains where computations are expected to be

Apply

In mathematics and computer science, apply is a function that applies a function to arguments. It is central to programming languages derived from lambda calculus, such as LISP and Scheme, and also in

Lambda cube

In mathematical logic and type theory, the λ-cube (also written lambda cube) is a framework introduced by Henk Barendregt to investigate the different dimensions in which the calculus of constructions

Call-by-push-value

In programming language theory, the call-by-push-value (CBPV) paradigm, inspired by monads, allows writing semantics for lambda-calculus without writing two variants to deal with the difference betwee

Pattern calculus

Pattern calculus bases all computation on pattern matching of a very general kind. Like lambda calculus, it supports auniform treatment of function evaluation. Also, it allows functions to bepassed as

De Bruijn notation

In mathematical logic, the De Bruijn notation is a syntax for terms in the λ calculus invented by the Dutch mathematician Nicolaas Govert de Bruijn. It can be seen as a reversal of the usual syntax fo

Knights of the Lambda Calculus

The Knights of the Lambda Calculus is a semi-fictional organization of expert Lisp and Scheme hackers. The name refers to the lambda calculus, a mathematical formalism invented by Alonzo Church, with

Anonymous function

In computer programming, an anonymous function (function literal, lambda abstraction, lambda function, lambda expression or block) is a function definition that is not bound to an identifier. Anonymou

Normalisation by evaluation

In programming language semantics, normalisation by evaluation (NBE) is a style of obtaining the normal form of terms in the λ-calculus by appealing to their denotational semantics. A term is first in

Reduction strategy

In rewriting, a reduction strategy or rewriting strategy is a relation specifying a rewrite for each object or term, compatible with a given reduction relation. Some authors use the term to refer to a

Mogensen–Scott encoding

In computer science, Scott encoding is a way to represent (recursive) data types in the lambda calculus. Church encoding performs a similar function. The data and operators form a mathematical structu

Krivine machine

In theoretical computer science, the Krivine machine is an abstract machine (sometimes called virtual machine). As an abstract machine, it shares features with Turing machines and the SECD machine. Th

Deductive lambda calculus

Deductive lambda calculus considers what happens when lambda terms are regarded as mathematical expressions. One interpretation of the untyped lambda calculus is as a programming language where evalua

Lambda calculus definition

Lambda calculus is a formal mathematical system based on lambda abstraction and function application. Two definitions of the language are given here: a standard definition, and a definition using math

Type inhabitation

In type theory, a branch of mathematical logic, in a given typed calculus, the type inhabitation problem for this calculus is the following problem: given a type and a typing environment , does there

Church–Rosser theorem

In lambda calculus, the Church–Rosser theorem states that, when applying reduction rules to terms, the ordering in which the reductions are chosen does not make a difference to the eventual result. Mo

Simply typed lambda calculus

The simply typed lambda calculus, a formof type theory, is a typed interpretation of the lambda calculus with only one type constructor that builds function types. It is the canonical and simplest exa

Hindley–Milner type system

A Hindley–Milner (HM) type system is a classical type system for the lambda calculus with parametric polymorphism. It is also known as Damas–Milner or Damas–Hindley–Milner. It was first described by J

Fixed-point combinator

In mathematics and computer science in general, a fixed point of a function is a value that is mapped to itself by the function. In combinatory logic for computer science, a fixed-point combinator (or

Cartesian closed category

In category theory, a category is Cartesian closed if, roughly speaking, any morphism defined on a product of two objects can be naturally identified with a morphism defined on one of the factors. The

Lambda-mu calculus

In mathematical logic and computer science, the lambda-mu calculus is an extension of the lambda calculus introduced by M. Parigot. It introduces two new operators: the μ operator (which is completely

SKI combinator calculus

The SKI combinator calculus is a combinatory logic system and a computational system. It can be thought of as a computer programming language, though it is not convenient for writing software. Instead

Let expression

In computer science, a "let" expression associates a function definition with a restricted scope. The "let" expression may also be defined in mathematics, where it associates a Boolean condition with

Kleene–Rosser paradox

In mathematics, the Kleene–Rosser paradox is a paradox that shows that certain systems of formal logic are inconsistent, in particular the version of Haskell Curry's combinatory logic introduced in 19

Explicit substitution

In computer science, lambda calculi are said to have explicit substitutions if they pay special attention to the formalization of the process of substitution. This is in contrast to the standard lambd

Supercombinator

A supercombinator is a mathematical expression which is fully bound and self-contained. It may be either a constant or a combinator where all the subexpressions are supercombinators. Supercombinators

Combinatory logic

Combinatory logic is a notation to eliminate the need for quantified variables in mathematical logic. It was introduced by Moses Schönfinkel and Haskell Curry, and has more recently been used in compu

© 2023 Useful Links.