Moses Schönfinkel

Moses Ilyich Schönfinkel, also known as Moisei Isai'evich Sheinfinkel' (Russian: Моисей Исаевич Шейнфинкель; 29 September 1888 – 1942), was a Russian logician and mathematician, known for the invention of combinatory logic.

Moses Ilyich Schönfinkel
Фотография Моисея Шейнфинкеля.png
Schönfinkel, c.1910
Born(1888-09-29)September 29, 1888
Died1942 (aged 53–54)
Alma materNovorossiysk University
Known forCombinatory logic
Technique for binding arguments
Bernays–Schönfinkel class
Scientific career
InstitutionsUniversity of Göttingen
InfluencesDavid Hilbert
InfluencedHaskell Curry


Schönfinkel attended the Novorossiysk University of Odessa, studying mathematics under Samuil Osipovich Shatunovskii (1859–1929), who worked in geometry and the foundations of mathematics. From 1914 to 1924, Schönfinkel was a member of David Hilbert's group at the University of Göttingen in Germany.[1] On 7 December 1920 he delivered a talk entitled Elemente der Logick ("Elements of Logic") to the group where he outlined the concept of combinatory logic. Heinrich Behmann, a member of Hilbert's group, later revised the text and published it in 1924.[2] In 1928, Schönfinkel had one other paper published, on special cases of the decision problem (Entscheidungsproblem), that was prepared by Paul Bernays.[3]

After he left Göttingen, Schönfinkel returned to Moscow. By 1927 he was reported to be mentally ill and in a sanatorium.[2][3] His later life was spent in poverty, and he died in Moscow some time in 1942. His papers were burned by his neighbors for heating.[3]


Schönfinkel developed a formal system that avoided the use of bound variables. His system was essentially equivalent to a combinatory logic based upon the combinators B, C, I, K, and S. Schönfinkel was able to show that the system could be reduced to just K and S and outlined a proof that a version of this system had the same power as predicate logic.[2]

His paper also showed that functions of two or more arguments could be replaced by functions taking a single argument.[4][5][6] This replacement mechanism simplifies work in both combinatory logic and lambda calculus and would later be called currying, after Haskell Curry. While Curry attributed the concept to Schönfinkel, it had already been used by Frege[7] (an example of Stigler's law).

The complete known published output of Schönfinkel consists of just two papers: his 1924 On the Building Blocks of Mathematical Logic, and another, 31-page paper written in 1927 and published 1928, coauthored with Paul Bernays, entitled Zum Entscheidungsproblem der mathematischen Logik (On the Decision Problem of Mathematical Logic).


  • Moses Schönfinkel (1924). "Über die Bausteine der mathematischen Logik". Mathematische Annalen (in German). 92 (3–4): 305–316. doi:10.1007/bf01448013. S2CID 118507515. – Translated by Stefan Bauer-Mengelberg as "On the building blocks of mathematical logic" in Jean van Heijenoort, 1967. A Source Book in Mathematical Logic, 1879–1931. Harvard University Press, pp. 355–66.
  • Paul Bernays; Moses Schönfinkel (1928). "Zum Entscheidungsproblem der mathematischen Logik" (PDF). Mathematische Annalen (in German). 99: 342–372. doi:10.1007/bf01459101. S2CID 122312654.

See alsoEdit

Further readingEdit


  1. ^ Cardone, Felice; Hindley, J. Roger, "History of Lambda-calculus and Combinatory Logic", in Gabbay, Dov M.; Woods, John (eds.), Handbook of the History of Logic, 5, Elsevier
  2. ^ a b c Curry, Haskell (November 1927), Notes on Schönfinkel, 271128A (T271128A), Curry archives.[permanent dead link]
  3. ^ a b c Kline, G. L.; Anovskaa, S. A. (1951), "Review of Foundations of mathematics and mathematical logic by S. A. Yanovskaya", Journal of Symbolic Logic, 16 (1): 46–48, doi:10.2307/2268665, JSTOR 2268665
  4. ^ Strachey, Christopher (2000). "Fundamental Concepts in Programming Languages". Higher-Order and Symbolic Computation. 13: 11–49. doi:10.1023/A:1010000313106. S2CID 14124601. There is a device originated by Schönfinkel, for reducing operators with several operands to the successive application of single operand operators. (Reprinted lecture notes from 1967.)
  5. ^ Reynolds, John C. (1998). "Definitional Interpreters for Higher-Order Programming Languages". Higher-Order and Symbolic Computation. 11 (4): 374. doi:10.1023/A:1010027404223. S2CID 43352033. In the last line we have used a trick called Currying (after the logician H. Curry) to solve the problem of introducing a binary operation into a language where all functions must accept a single argument. (The referee comments that although "Currying" is tastier, "Schönfinkeling" might be more accurate.)
  6. ^ Kenneth Slonneger and Barry L. Kurtz. Formal Syntax and Semantics of Programming Languages. 1995. p. 144.
  7. ^ Willard Van Orman Quine, introduction to "Bausteine der mathematischen Logik", pp. 305–316. Translated by Stefan Bauer-Mengelberg as "On the building blocks of mathematical logic" in Jean van Heijenoort (1967), A Source Book in Mathematical Logic, 1879–1931. Harvard University Press, pp. 355–66.

External linksEdit