Results 1  10
of
15
Types in logic and mathematics before 1940
 Bulletin of Symbolic Logic
, 2002
"... Abstract. In this article, we study the prehistory of type theory up to 1910 and its development between Russell and Whitehead’s Principia Mathematica ([71], 1910–1912) and Church’s simply typed λcalculus of 1940. We first argue that the concept of types has always been present in mathematics, thou ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
Abstract. In this article, we study the prehistory of type theory up to 1910 and its development between Russell and Whitehead’s Principia Mathematica ([71], 1910–1912) and Church’s simply typed λcalculus of 1940. We first argue that the concept of types has always been present in mathematics, though nobody was incorporating them explicitly as such, before the end of the 19th century. Then we proceed by describing how the logical paradoxes entered the formal systems of Frege, Cantor and Peano concentrating on Frege’s Grundgesetze der Arithmetik for which Russell applied his famous paradox 1 and this led him to introduce the first theory of types, the Ramified Type Theory (rtt). We present rtt formally using the modern notation for type theory and we discuss how Ramsey, Hilbert and Ackermann removed the orders from rtt leading to the simple theory of types stt. We present stt and Church’s own simply typed λcalculus (λ→C 2) and we finish by comparing rtt, stt and λ→C. §1. Introduction. Nowadays, type theory has many applications and is used in many different disciplines. Even within logic and mathematics, there are many different type systems. They serve several purposes, and are formulated in various ways. But, before 1903 when Russell first introduced
Revisiting the Notion of Function
"... Functions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both pro ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
Functions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both processes were implemented in Frege's Begriffschrift [17], Russell's Ramified Type Theory [42] and the lambdacalculus (originally introduced by Church [12, 13]) showing that the lambdacalculus misses a crucial aspect of functionalisation. We then pay attention to some special forms of function abstraction that do not exist in the lambdacalculus and we show that various logical constructs (e.g., let expressions and definitions and the use of parameters in mathematics), can be seen as forms of the missing part of functionalisation. Our study of the function concept leads...
Logic and Computerisation in mathematics?
, 2009
"... – If you give me an algorithm to solve Π, I can check whether this algorithm really solves Π. – But, if you ask me to find an algorithm to solve Π, I may go on forever trying but without success. • But, this result was already found by Aristotle: Assume a proposition Φ. – If you give me a proof of Φ ..."
Abstract
 Add to MetaCart
– If you give me an algorithm to solve Π, I can check whether this algorithm really solves Π. – But, if you ask me to find an algorithm to solve Π, I may go on forever trying but without success. • But, this result was already found by Aristotle: Assume a proposition Φ. – If you give me a proof of Φ, I can check whether this proof really proves Φ. – But, if you ask me to find a proof of Φ, I may go on forever trying but without success. • In fact, programs are proofs and much of computer science in the early part of the 20th century was built by mathematicians and logicians. • There were also important inventions in computer science made by physicists (e.g., von Neumann) and others, but we ignore these in this talk. ISR 2009, Brasiliá, Brasil 1An example of a computable function/solvable problem • E.g., 1.5 chicken lay down 1.5 eggs in 1.5 days. • How many eggs does 1 chicken lay in 1 day? • 1.5 chicken lay 1.5 eggs in 1.5 days. • Hence, 1 chicken lay 1 egg in 1.5 days. • Hence, 1 chicken lay 2/3 egg in 1 day. ISR 2009, Brasiliá, Brasil 2Unsolvability of the Barber problem • which man barber in the village shaves all and only those men who do not shave themselves? • If John was the barber then – John shaves Bill ⇐ ⇒ Bill does not shave Bill – John shaves x ⇐ ⇒ x does not shave x – John shaves John ⇐ ⇒ John does not shave John • Contradiction. ISR 2009, Brasiliá, Brasil 3Unsolvability of the Russell set problem
Functions and Types in Logic, Language and Computation
, 2003
"... The introduction of a general definition of function was key to Frege’s formalisation of logic. Selfapplication of functions was at the heart of Russell’s paradox. Russell introduced type theory in order to control the application of functions and hence to avoid the paradox. Since, different type s ..."
Abstract
 Add to MetaCart
The introduction of a general definition of function was key to Frege’s formalisation of logic. Selfapplication of functions was at the heart of Russell’s paradox. Russell introduced type theory in order to control the application of functions and hence to avoid the paradox. Since, different type systems have been introduced, each allowing different functional power. Despite the extensive use of types in many applications, there remains many “non believers ” in type theory. In this talk, I will briefly review the evolution of types from the time of Euclid (325 B.C.) to the mid of the 20th century. Then, I will introduce de Bruijn’s formulation of functions and types in Automath, his famous system for automating mathematics. De Bruijn’s formulation is a living example which illustrates that while type theory is useful, there are many other considerations that need to be accommodated when attempting to “computerize” a system. This talk is of interest for anyone
From the Foundation of Mathematics to the Birth of Computation
, 2011
"... deduction/Logic was taken as a foundation for Mathematics, computation was also taken throughout as an essential tool in mathematics. • Our ancestors used sandy beaches to compute the circomference of a circle, and to work out approximations/values of numbers like π. • The word algorithm dates back ..."
Abstract
 Add to MetaCart
deduction/Logic was taken as a foundation for Mathematics, computation was also taken throughout as an essential tool in mathematics. • Our ancestors used sandy beaches to compute the circomference of a circle, and to work out approximations/values of numbers like π. • The word algorithm dates back centuries? Algorithms existed in anciant Egypt at the time of Hypatia. The word is named after AlKhawarizmi. • But even more impressively, the following important 20th century (un)computability result was known to Aristotle. • Assume a problem Π, – If you give me an algorithm to solve Π, I can check whether this algorithm really solves Π. – But, if you ask me to find an algorithm to solve Π, I may go on forever trying but without success. HAPOC11: History and Philosophy of Computing 1 • But, this result was already known to Aristotle: • Assume a proposition Φ. – If you give me a proof of Φ, I can check whether this proof really proves Φ. – But, if you ask me to find a proof of Φ, I may go on forever trying but without success. • In fact, programs are proofs: – program = algorithm = computable function = λterm. – By the PAT principle: Proofs are λterms.
Um Ceclo de Computeraçao
"... Brasiliá 2010Welcome to the fastest developing and most influential subject: Computer Science • Computer Science is by nature highly applied and needs much precision, foundation and theory. • Computer Science is highly interdisciplinary bringing many subjects together in ways that were not possible ..."
Abstract
 Add to MetaCart
Brasiliá 2010Welcome to the fastest developing and most influential subject: Computer Science • Computer Science is by nature highly applied and needs much precision, foundation and theory. • Computer Science is highly interdisciplinary bringing many subjects together in ways that were not possible before. • Many recent scientific results (e.g., in chemistry) would not have been possible without computers. • The Kepler Conjecture: no packing of congruent balls in Euclidean space has density greater than the density of the facecentered cubic packing. • Sam Ferguson and Tom Hales proved the Kepler Conjecture in 1998, but it was not published until 2006. • The Flyspeck project aims to give a formal proof of the Kepler Conjecture.
Principia Mathematica anniversary symposiumSummary
, 2010
"... • General definition of function 1879 [14] is key to Frege’s formalisation of logic. • Selfapplication of functions was at the heart of Russell’s paradox 1902 [44]. • To avoid paradox Russell controled function application via type theory. • Russell [45] 1903 gives the first type theory: the Ramifi ..."
Abstract
 Add to MetaCart
• General definition of function 1879 [14] is key to Frege’s formalisation of logic. • Selfapplication of functions was at the heart of Russell’s paradox 1902 [44]. • To avoid paradox Russell controled function application via type theory. • Russell [45] 1903 gives the first type theory: the Ramified Type Theory (rtt). • rtt is used in Russell and Whitehead’s Principia Mathematica [49] 1910–1912. • Simple theory of types (stt): Ramsey [40] 1926, Hilbert and Ackermann [26] 1928. • Church’s simply typed λcalculus λ → [11] 1940 = λcalculus + stt. Principia Mathematica anniversary symposium 1 • The hierarchies of types (and orders) as found in rtt and stt are unsatisfactory. • The notion of function adopted in the λcalculus is unsatisfactory (cf. [29]). • Hence, birth of different systems of functions and types, each with different functional power. • We discuss the evolution of functions and types and their use in logic, language and computation. • We then concentrate on these notions in mathematical vernaculars (as in Automath) and in logic. • Frege’s functions = Principia’s functions = λcalculus functions (1932). • Not all functions need to be fully abstracted as in the λcalculus. For some functions, their values are enough. Principia Mathematica anniversary symposium 2 • Nonfirstclass functions allow us to stay at a lower order (keeping decidability, typability, etc.) without losing the flexibility of the higherorder aspects. • Furthermore, nonfirstclass functions allow placing the type systems of modern theorem provers/programming languages like ML, LF and Automath more accurately in the modern formal hierarchy of types. • Another issue that we touch on is the lessons learned from formalising mathematics in logic (à la Principia) and in proof checkers (à la Automath, or any modern proof checker).