combinatory logic

(redirected from Abstraction elimination)

combinatory logic

A system for reducing the operational notation of logic, mathematics or a functional language to a sequence of modifications to the input data structure. First introduced in the 1920's by Schoenfinkel. Re-introduced independently by Haskell Curry in the late 1920's (who quickly learned of Schoenfinkel's work after he had the idea). Curry is really responsible for most of the development, at least up until work with Feys in 1958.

See combinator.

Combinatory Logic


a branch of mathematical logic that studies combinators and their properties. The function and the operation of applying a function to an argument are the fundamental concepts in combinatory logic. Members of a certain class of operations on functions that is closed with respect to application are called combinators. The concept of “combinatorily defined function” as formulated using the terms of combinatory logic was one of the first methods of refining the concept of algorithm. The foundations of combinatory logic were worked out by the Soviet mathematician M. I. Sheinfinkel’ (Schönfinkel; 1924). Most of its results belong to the American logician H. Curry. Combinatory logic finds extensive application in the theory of programming languages.


Ianovskaia, S. A. “Logika kombinatornaia.” In the book Filosofskaia entsiklopediia, vol. 3. Moscow, 1964.
Schönfinkel, M. “Über die Bausteine der mathematischen Logik.” Mathematische Annalen, 1924, vol. 92.
Curry, H. B., and R. Feys. Combinatory Logic. Amsterdam, 1958.
Curry, H. B. “Recent Advances in Combinatory Logic.” Bulletin de la Société mathématique de Belgique, 1968, vol. 20, no. 3.