**Abstract.** In 2021, we are celebrating the 375th birthday of Gottfried Wilhelm Leibniz
(1646-1714) *aka*
"the world's first computer scientist."^{[LA14]}
Not only was he the first to publish *infinitesimal calculus* (1684),^{[L84]} he also
designed the first machine that could perform all four *arithmetic operations* (1673),
and the first with an *internal memory*.^{[BL16]} He
described the principles of *binary computers* (1679)^{[L79][L03][LA14][HO66][LEI21,a,b]}
employed by virtually all modern machines.
His formal *Algebra of Thought* (1686)^{[L86][WI48]} was
deductively equivalent^{[LE18]} to the much later
*Boolean Algebra*.^{[BOO]}
His *Characteristica Universalis & Calculus Ratiocinator*
aimed at answering
all possible questions through computation;^{[WI48]}
his *"Calculemus!"* is one of the defining quotes of the age of enlightenment.

The title "father of computer science" does not seem too immodest.
Leibniz made fundamental contributions to both the theory and the practice of computing.
He has been called the "last universal genius",^{[PE10]}
"the world's first computer scientist,"^{[LA14]}
and
"the smartest man who ever lived."^{[SMO13]}

While the design of automata dates back at least to antiquity,
e.g., the gear-based *Antikythera* mechanism (a kind of astronomical calculator) over 2000 years ago,
or the world's *first programmable machine* by Heron of Alexandria
in the 1st
century,^{[SHA7a][RAU1]}
many aspects of "modern" computer science
can indeed be traced back to Leibniz.

In 1673, he designed the first machine (the step reckoner) that could perform all four arithmetic operations.
This went
beyond the first *gear-based data-processing calculator*
by Wilhelm Schickard (1623) and the superior *Pascaline* by Blaise Pascal (1642).
It was emphasized that "being able to compute the four basic arithmetic
operations is equivalent to be able to execute any given numerical computation."^{[BL16]}
In fact, about a quarter-millennium later,
Kurt Gödel used
basic arithmetics to encode *arbitrary* formal systems and
computations (1931-34).^{[GOD][GOD34][GOD21,a,b]}

The step reckoner also was the first machine with an internal memory:
the *Leibniz wheel* stored the multiplicand of a multiplication, counting the number of subsequent additions.^{[BL16]}
Of course, memory is essential for modern computing.

From 1679-1703, inspired by the ancient binary *I Ching* from China,
Leibniz documented the *binary arithmetics*
employed by virtually all modern computers.^{[L03][L79]}
It should be mentioned, however, that binary number encodings *per se* are much older than that,
dating back to ancient Egypt.
The *algorithmic* part on binary arithmetic operations is relatively new though.
Compare also Juan Caramuel y Lobkowitz' publication on binary encodings
(1670) and Thomas Harriott's unpublished papers.^{[IN08][SH51]}

In 1679, Leibniz described the very principles of a *binary computer*.^{[HO66][L79]}
It
represented "binary numbers using marbles governed by punch cards."^{[LA14]}
"His description describes precisely how electronic computers function. Gravity and movement of marbles are replaced by electrical circuits, but the principle functions in the same way."^{[LA14]}

In 1686, Leibniz created
his formal *Algebra of Thought*^{[L86][WI48]}
which is
deductively equivalent^{[LE18]} to the much later
*Boolean Algebra* of 1847.^{[BOO]}
Here the truth values 0 and 1 are linked by elementary operations such as *and/or* to form possibly complex expressions.
This laid the foundations for the first formal language (1879)
by Gottlob Frege^{[FRE]} and thus for the theory of computation.
Bertrand Russell wrote that Leibniz
advanced the field of formal logic "in a way that had not been seen since Aristotle."^{[RU45][LA14]}

Remarkably, for much of his life, Leibniz pursued the extremely ambitious project to settle
*all* possible questions through computation.
Inspired by the
13th century scholar Ramon Llull [LL7], he produced
highly influential ideas
on a *universal language* and a *general calculus for reasoning*
(*Characteristica Universalis & Calculus Ratiocinator*).^{[LE18]}
The AI pioneer Norbert Wiener said:
"Indeed, the general idea of a computing machine is nothing but a mechanization of Leibniz's Calculus Ratiocinator."^{[WI48]}

Leibniz' *"Calculemus!"* is one of the defining quotes of the age of enlightenment:

"If controversies were to arise, there would be no more need of disputation between two philosophers than between two accountants. For it would suffice to take their pencils in their hands, to sit down with their slates and say to each other
[...]: Let us calculate!"^{[RU58]}

As if his achievements in computer science were
not enough to cement Leibniz' legacy as one of the greatest scientists ever,
he also was the first to publish *infinitesimal calculus* in 1684,^{[L84][SON18][MAD05]}
extending the pioneering work
of Archimedes (perhaps the greatest scientist ever^{[ARC06]})
who introduced *infinitesimals* over two millennia ago,
and already had special cases of calculus, e.g., for spheres and parabola segments—see also
more recent calculus breakthroughs by Madhava of Sangamagrama and colleagues
in the 14th century.^{[MAD86][MAD01][MAD05]}
As all our time on this earth is finite, here
I won't even mention Leibniz' numerous additional contributions
to mathematics & probability theory, engineering, linguistics, biology, medicine, geology, psychology,
politics, law, ethics, theology, history, philology,
and philosophy.^{[RU58]}

How did the *theory* of computation progress after Leibniz' death in 1716?
Over 2 centuries later,
Kurt Gödel
extended Frege's above-mentioned Leibniz-inspired
formal language (1879)^{[FRE]} and
finally introduced a *universal coding language* in 1931-34.^{[GOD][GOD34][GOD21,a,b]}
He used his so-called *Gödel Numbering* to represent both data (such as axioms and theorems) and programs^{[VAR13]} to show that there are fundamental limitations to what is decidable or
computable, thus dealing a blow to Leibniz' project on universal problem solving.^{[GOD][GOD34]}
His groundbreaking 1931 paper^{[GOD]}
laid the foundations of modern theoretical computer science and the theory of artificial intelligence (AI). Gödel sent shock waves through the academic community when he identified the limits of theorem proving, computing, AI, logics, and mathematics itself. This had enormous impact on science and philosophy of the 20th century (some even misunderstood his result
and thought he showed that humans are superior to AIs^{[BIB3]}).

In 1935, Alonzo Church derived a corollary / extension of Gödel's result by showing that Hilbert & Ackermann's famous *Entscheidungsproblem* (decision problem) does not have a general solution.^{[CHU]} In 1936, Alan Turing
introduced yet another universal model, the
*Turing Machine*,^{[TUR]} and
rederived
the above-mentioned result.
In the same year of 1936, Emil Post published yet another independent universal model of computing.^{[POS]}
Today we know many such models.
However,
the formal models of Gödel (1931-34), Church (1935), Turing (1936), and Post (1936) were
*theoretical pen & paper constructs* that cannot directly serve as a foundation for
*practical* computers. So then how
did practical *hardware* progress after Leibniz?

The first *commercial* program-controlled
machines (punch card-based looms) were built in France around
1800 by Joseph-Marie Jacquard and others—perhaps the first "modern"
programmers who wrote the world's first *industrial software*.
They inspired Ada Lovelace and her mentor
Charles Babbage (UK, circa 1840). He planned but was unable to build a
programmable, general purpose computer (only his *non-universal special purpose calculator*
led to a working 20th century replica).
In 1941, however,
Konrad Zuse completed
Z3, the world's first practical, working, programmable, general-purpose computer,
based on his 1936 patent application.^{[ZU36-38][RO98][ZUS21,a,b]}
Ignoring the inevitable storage limitations of any physical computer,
the *physical hardware* of Z3 was indeed
*universal* in the "modern" sense of
Gödel, Church,
Alan Turing, and Post—simple arithmetic tricks
can compensate for Z3's lack of an explicit
conditional jump instruction.^{[RO98]}
Unlike Babbage, Zuse used Leibniz' *binary computations*^{[L79][L03][HO66][LA14]}
instead of traditional
*decimal arithmetics*.
This greatly simplified the hardware.
Since the late 20th century, binary
computers based on
Julius Edgar Lilienfeld's *field effect transistor* principle (1925)^{[LIL1-2]}
have become ubiquitous. Billions of people depend on them
to do everything from making their morning coffee to monitoring their vital signs while in hospital.

In 2021, we are not only celebrating the 375th anniversary of Leibniz, but also the
90th anniversary of Gödel's famous 1931 paper
and the
80th anniversary of
the world's first functional program-controlled computer by Zuse (1941).
10 years to go until the Gödel centennial in 2031,
20 years until the Zuse centennial in 2041, and
1/4 century until the 4th Leibniz centennial in 2046!
Enough time to plan appropriate celebrations.

##

Acknowledgments

Thanks to Moshe Vardi, Herbert Bruderer, Jack Copeland, Wolfgang Bibel, Teun Koetsier, Scott Aaronson, Dylan Ashley, Sebastian Oberhoff, Kai Hormann, and several other experts for useful comments on the contents of the four companion articles.^{[LEI21,a,b][GOD21,a,b][ZUS21,a,b][TUR21]} Since science is about self-correction, let me know under *juergen@idsia.ch* if you can spot any remaining error. The contents of this article may be used for educational and non-commercial purposes, including articles for Wikipedia and similar sites.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

##

References

[GOD]
K. Gödel. Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I. Monatshefte für Mathematik und Physik, 38:173-198, 1931.

[GOD34]
K. Gödel (1934).
On undecidable propositions of formal mathematical
systems. Notes by S. C. Kleene and J. B. Rosser on lectures
at the Institute for Advanced Study, Princeton, New Jersey, 1934, 30
pp. *(Reprinted in M. Davis, (ed.), The Undecidable. Basic Papers on Undecidable
Propositions, Unsolvable Problems, and Computable Functions,
Raven Press, Hewlett, New York, 1965.)*

[GOD56]
R. J. Lipton and K. W. Regan.
Gödel's lost letter and P=NP.
Link.

[GOD86]
K. Gödel.
Collected works Volume I: Publications 1929-36,
S. Feferman et. al., editors, Oxford Univ. Press, Oxford, 1986.

[GOD10]
V. C. Nadkarni.
Gödel, Einstein and proof for God. The Economic Times, 2010.

[GOD21] J. Schmidhuber (AI Blog, 2021). 90th anniversary celebrations: 1931: Kurt Gödel, founder of theoretical computer science, shows limits of math, logic, computing, and artificial intelligence. *This was number 1 on Hacker News.*

[GOD21a]
J. Schmidhuber (2021). Als Kurt Gödel die Grenzen des Berechenbaren entdeckte.
(When Kurt Gödel discovered the limits of computability.)
Frankfurter Allgemeine Zeitung, 16/6/2021.

[GOD21b]
J. Schmidhuber (AI Blog, 2021). 80. Jahrestag: 1931: Kurt Gödel, Vater der theoretischen Informatik, entdeckt die Grenzen des Berechenbaren und der künstlichen Intelligenz.

[URQ10]
A. Urquhart. Von Neumann, Gödel and complexity theory. Bulletin of Symbolic Logic 16.4 (2010): 516-530.
Link.

[BIB3]
W. Bibel (2003).
Mosaiksteine einer Wissenschaft vom Geiste. Invited talk at
the conference on AI and Gödel, Arnoldsheim, 4-6 April 2003.
Manuscript, 2003.

[CHU]
A. Church (1935). An unsolvable problem of elementary number theory. Bulletin of the American Mathematical Society, 41: 332-333. Abstract of a talk given on 19 April 1935, to the American Mathematical Society.
Also in American Journal of Mathematics, 58(2), 345-363 (1 Apr 1936).
*[First explicit proof that the Entscheidungsproblem (decision problem) does not have a general solution.]*

[TUR]
A. M. Turing. On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2, 41:230-267. Received 28 May 1936. Errata appeared in Series 2, 43, pp 544-546 (1937). *[2nd explicit proof that the Entscheidungsproblem (decision problem) does not have a general solution.]*

[TUR21] J. Schmidhuber (AI Blog, Sep 2021). Turing Oversold. It's not Turing's fault, though.

[POS]
E. L. Post (1936). Finite Combinatory Processes - Formulation 1. Journal of Symbolic Logic. 1: 103-105.
Link.

[WA74]
H. Wang (1974). From Mathematics to Philosophy, New York: Humanities Press.

[WA96]
H. Wang (1996). A Logical Journey: From Gödel to Philosophy, Cambridge, MA: MIT Press.

[H79]
Douglas R. Hofstadter (1979). Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, ISBN 0-465-02656-7, 1979.

[FRE] G. Frege (1879).
Begriffsschrift: eine der arithmetischen nachgebildete Formelsprache des reinen Denkens. Halle an der Saale: Verlag Louis Nebert.
*[The first formal language / formal proofs—basis of modern logic and programming languages.]*

[SKO23] T. Skolem (1923). Begründung der elementaren Arithmetik
durch die rekurrierende Denkweise ohne Anwendung scheinbarer
Veränderlichen mit unendlichem Ausdehnungsbereich. *Skrifter utgit av
Videnskapsselskapet i Kristiania, I. Mathematisk-Naturvidenskabelig
Klasse 6 (1923), 38 pp.*

[CAN]
G. Cantor (1891). Ueber eine elementare Frage der Mannigfaltigkeitslehre. Jahresbericht der Deutschen Mathematiker-Vereinigung, 1:75-78. *[English translation: W. B. Ewald (ed.). From Immanuel Kant to David Hilbert: A Source Book in the Foundations of Mathematics, Volume 2, pp. 920-922. Oxford University Press, 1996.]*

[L03]
G. Leibniz (1703). In: Explication de l'Arithmetique Binaire / Die Mathematischen Schriften, ed. C. Gerhardt, Berlin 1879, vol.7, p.223. English link.
*[Leibniz documented the binary arithmetics which allow for greatly simplifiying computing hardware and are employed by virtually all modern computers. Binary number encodings per se, however, seem to date back over 4000 years.]*

[L79]
G. Leibniz.
De Progressione dyadica Pars I. 15 March 1679.
*[Principles of binary computers governed by punch cards.]*

[L84]
G. Leibniz (1684).
Nova Methodus pro Maximis et Minimis.
*[First publication on infinitesimal calculus.]*

[L86]
G. Leibniz (1686). Generales Inquisitiones de analysi notionum et veritatum.
Also in
Leibniz: Die philosophischen Schriften VII, 1890, pp. 236-247; translated as "A Study in the Calculus of Real Addition" (1690) by G. H. R. Parkinson, Leibniz: Logical Papers—A Selection, Oxford 1966, pp. 131-144.

[BOO]
George Boole (1847). The Mathematical Analysis of Logic, Being an Essay towards a Calculus of Deductive Reasoning.
London, England: Macmillan, Barclay, & Macmillan, 1847.

[LL7]
A. Bonner (2007). The art and logic of Ramon Llull. Brill Academic Pub, p. 290, 2007.

[RU58]
B. Russell (1958). The Philosophy of Leibniz. London: George Allen and Unwin, 1958.

[RU45]
B. Russell (1945). A History of Western Philosophy. New York: Simon & Schuster.

[LE18]
W. Lenzen.
Leibniz and the Calculus Ratiocinator. Technology and Mathematics, pp 47-78, Springer, 2018.

[LA14]
D. R. Lande (2014).
Development of the Binary Number System and the Foundations of Computer Science. The Mathematics Enthusiast, vol. 11(3):6 12, 2014.
Link.

[BL16]
L. Bloch (2016). Informatics in the light of some Leibniz's works.
Communication to XB2 Berlin Xenobiology Conference.

[HO66]
E. Hochstetter et al. (1966): Herrn von Leibniz' Rechnung mit Null und Eins. Berlin: Siemens AG.

[IN08]
R. Ineichen (2008). Leibniz, Caramuel, Harriot und das Dualsystem. Mitteilungen der deutschen Mathematiker-Vereinigung. 16(1):12-15.

[SH51]
J. W. Shirley (1951). Binary Numeration before Leibniz. American Journal of Physics 19 (452-454).

[PE10]
F. Perkins (2010). Leibniz: A Guide for the Perplexed. London, GBR: Continuum International Publishing.

[WI48]
N. Wiener (1948).
Time, communication, and the nervous system. Teleological mechanisms. Annals of the N.Y. Acad. Sci. 50 (4): 197-219.
*[Quote: "... the general idea of a computing machine is nothing but a mechanization of Leibniz's calculus ratiocinator."]*

[SMO13]
L. Smolin (2013). My hero: Gottfried Wilhelm von Leibniz. The Guardian, 2013.
Link.
*[Quote: "And this is just the one part of Leibniz's enormous legacy: the philosopher Stanley Rosen called him "the smartest person who ever lived"."]*

[MAD86]
C. T. Rajagopal, M. S. Rangachari (1986). On medieval Keralese mathematics. Archive for History of Exact Sciences. 35 (2): 91-99.

[MAD01]
D. F. Almeida, J. K. John, A. Zadorozhnyy (2001). Keralese mathematics:
Its Possible Transmission to Europe and the Consequential Educational Implications. Journal of Natural Geometry 20, 77-104, 2001.

[SON18]
T. Sonar. The History of the Priority Dispute between Newton and Leibniz. Birkhaeuser, 2018.

[MAD05]
Neither Newton nor Leibniz—The Pre-History of Calculus and Celestial Mechanics in Medieval Kerala.
S. Rajeev,
Univ. of Rochester, 2005.

[LEI21] J. Schmidhuber (AI Blog, 2021). 375th birthday of Leibniz, founder of computer science.

[LEI21a]
J. Schmidhuber (2021). Der erste Informatiker. Wie Gottfried Wilhelm Leibniz den Computer erdachte.
(The first computer scientist. How Gottfried Wilhelm Leibniz conceived the computer.)
Frankfurter Allgemeine Zeitung (FAZ), 17/5/2021. FAZ online:
19/5/2021.

[LEI21b] J. Schmidhuber (AI Blog, 2021). 375. Geburtstag des Herrn Leibniz, dem Vater der Informatik.

[ARC06]
J. Schmidhuber (2006).
Archimedes—Greatest Scientist Ever?

[ALL2]
J. Schmidhuber (2000).
Algorithmic theories of everything.
ArXiv:
quant-ph/ 0011122.
More.
See also:
Hierarchies of generalized Kolmogorov complexities and nonenumerable universal measures computable in the limit.
International Journal of Foundations of Computer Science 13(4):587-612, 2002.
PDF.
More.
See also:
The Speed Prior: A New Simplicity Measure Yielding Near-Optimal Computable Predictions.
Proc. COLT 2002.
PDF. More.

[GM6]
J. Schmidhuber (2006).
Gödel machines:
Fully Self-Referential Optimal Universal Self-Improvers.
In B. Goertzel and C. Pennachin, eds.: * Artificial
General Intelligence,* p. 199-226, 2006.
PDF.
Preprint
arXiv:cs/0309048 (2003).
See also:
Ultimate Cognition * à la* Gödel.
*Cognitive Computation* 1(2):177-193, 2009. PDF.
More.

[DL1] J. Schmidhuber, 2015.
Deep Learning in neural networks: An overview. Neural Networks, 61, 85-117.
More.

[DL2] J. Schmidhuber, 2015.
Deep Learning.
Scholarpedia, 10(11):32832.

[MIR] J. Schmidhuber (2019). Deep Learning: Our Miraculous Year 1990-1991. Preprint
arXiv:2005.05744, 2020.

[DEC] J. Schmidhuber (2020). The 2010s: Our Decade of Deep Learning / Outlook on the 2020s.

[VAR13]
M. Y. Vardi (2013). Who begat computing? Communications of the ACM, Vol. 56(1):5, Jan 2013.
Link.

[ZU36]
K. Zuse (1936).
Verfahren zur selbsttätigen Durchführung von Rechnungen mit Hilfe von Rechenmaschinen. Patent application Z 23 139 / GMD Nr. 005/021, 1936.
*[First patent application describing a general, practical, program-controlled computer.]*

[ZU37]
K. Zuse (1937). Einführung in die allgemeine Dyadik. *[Mentions the storage of program instructions in the computer's memory.]*

[ZU38]
K. Zuse (1938). Diary entry of 4 June 1938.
*[Description of computer architectures that put both program instructions and data into storage—compare the later "von Neumann" architecture [NEU45].]*

[ZU48]
K. Zuse (1948). Über den Plankalkül als Mittel zur Formulierung schematisch kombinativer Aufgaben.
Archiv der Mathematik 1(6), 441-449 (1948).
PDF.
*[Apparently the first practical design of an automatic theorem prover (based on Zuse's high-level programming language Plankalkül).]*

[NS56]
A. Newell and H. Simon.
The logic theory machine—A complex information processing system.
IRE Transactions on Information Theory 2.3 (1956):61-79.

[RO98]
R. Rojas (1998). How to make Zuse's Z3 a universal computer. IEEE Annals of Computing, vol. 19:3, 1998.

[BAU]
F. L. Bauer, H. Woessner (1972). The "Plankalkül" of Konrad Zuse: A Forerunner of Today's Programming Languages.

[KNU]
D. E. Knuth, L. T. Pardo (1976). The Early Development of Programming Languages. Stanford University, Computer Science Department.
PDF.

[SHA37]
C. E. Shannon (1938). A Symbolic Analysis of Relay and Switching Circuits. Trans. AIEE. 57 (12): 713-723. Based on his thesis, MIT, 1937.

[AI51]
Les Machines a Calculer et la Pensee Humaine: Paris, 8.-13. Januar 1951, Colloques internationaux du Centre National de la Recherche Scientifique; no. 37, Paris 1953.
[*H. Bruderer rightly calls that the first conference on AI.*]

[BRU3]
H. Bruderer. Milestones in Analog and Digital Computing. 2 volumes, 3rd edition. Springer Nature Switzerland AG, 2020.

[BAN]
Banu Musa brothers (9th century). The book of ingenious devices (Kitab al-hiyal). Translated by D. R. Hill (1979), Springer, p. 44, ISBN 90-277-0833-9.
*[Perhaps the Banu Musa music automaton was the world's first machine with a stored program.]*

[KOE1]
[21] T. Koetsier (2001). On the prehistory of programmable machines: musical automata, looms, calculators. Mechanism and Machine Theory, Elsevier, 36 (5): 589-603, 2001.

[RAU1]
M. Rausch. Heron von Alexandria. Die Automatentheater und die Erfindung der ersten antiken Programmierung. Diplomica Verlag GmbH, Hamburg 2012.
*[Perhaps the world's first programmable machine was an automatic theatre made in the 1st century by Heron of Alexandria, who apparently also had the first known working steam engine.]*

[SHA7a]
N. Sharkey (2007). A programmable robot from AD 60. New Scientist, Sept 2017.

[LIL1]
US Patent 1745175 by Austrian physicist Julius Edgar Lilienfeld for work done in Leipzig: "Method and apparatus for controlling electric current." First filed in Canada on 22.10.1925. *[The patent describes a field-effect transistor. Today, almost all transistors are field-effect transistors.]*

[LIL2]
US Patent 1900018 by Austrian physicist Julius Edgar Lilienfeld: "Device for controlling electric current." Filed on 28.03.1928. *[The patent describes a thin film field-effect transistor.]*

[ZUS21]
J. Schmidhuber (AI Blog, 2021). 80th anniversary celebrations: 1941: Konrad Zuse completes the first working general computer, based on his 1936 patent application.

[ZUS21a]
J. Schmidhuber (AI Blog, 2021). 80. Jahrestag: 1941: Konrad Zuse baut ersten funktionalen Allzweckrechner, basierend auf der Patentanmeldung von 1936.

[ZUS21b]
J. Schmidhuber (2021).
Der Mann, der den Computer
erfunden hat. (The man who invented the computer.)
Weltwoche, Nr. 33.21, 19 August 2021.
PDF.

.