Bootstrapping Mathematics

Similar documents
The Calculus of Inductive Constructions

Lectures on The Lambda Calculus (I)

Lectures on Computational Type Theory

02 The Axiomatic Method

... The Sequel. a.k.a. Gödel's Girdle

185.A09 Advanced Mathematical Logic

Victoria Gitman and Thomas Johnstone. New York City College of Technology, CUNY

CHAPTER 11. Introduction to Intuitionistic Logic

Main Issues in Computer Mathematics. Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Review: Stephen G. Simpson (1999) Subsystems of Second-Order Arithmetic (Springer)

MAGIC Set theory. lecture 2

utomated Reasoning 2 What is automated reasoning? In one sense we'll interpret our title narrowly: we are interested in reasoning in logic and mathema

How Philosophy Impacts on Mathematics

September 13, Cemela Summer School. Mathematics as language. Fact or Metaphor? John T. Baldwin. Framing the issues. structures and languages

Philosophies of Mathematics. The Search for Foundations

Is Constructive Logic relevant for Computer Science?

Logic in Computer Science. Frank Wolter

Church s undecidability result

cse371/mat371 LOGIC Professor Anita Wasilewska Fall 2018

07 Practical Application of The Axiomatic Method

Classical First-Order Logic

Cogito ergo sum non machina!

Proof Theory and Subsystems of Second-Order Arithmetic

Towards a Contemporary Ontology

Axiomatic set theory. Chapter Why axiomatic set theory?

Propositions as Types

Propositional and Predicate Logic - XIII

The Search for the Perfect Language

Creative Objectivism, a powerful alternative to Constructivism

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos

Introduction to dependent type theory. CIRM, May 30

Class 15: Hilbert and Gödel

CHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC

HoTT seminar organization

From Gödel to Lambek: Studies in the Foundations of Mathematics

Lecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem. Michael Beeson

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

Nonclassical logics (Nichtklassische Logiken)

On some Metatheorems about FOL

Computability Theory. CS215, Lecture 6,

Propositional and Predicate Logic. jean/gbooks/logic.html

Turing Centenary Lecture

The Curry-Howard Isomorphism

Gödel s Theorem: Limits of logic and computation

Chapter 2: Introduction to Propositional Logic

Tutorial on Axiomatic Set Theory. Javier R. Movellan

PROOF-THEORETIC REDUCTION AS A PHILOSOPHER S TOOL

Decidability: Church-Turing Thesis

the logic of provability

Introduction to Logic and Axiomatic Set Theory

Lecture 9. Model theory. Consistency, independence, completeness, categoricity of axiom systems. Expanded with algebraic view.

Foundations of Computation. Ana Bove

The Limit of Humanly Knowable Mathematical Truth

Propositional logic (revision) & semantic entailment. p. 1/34

Gödel s Proof. Henrik Jeldtoft Jensen Dept. of Mathematics Imperial College. Kurt Gödel

INTRODUCTION TO LOGIC. Propositional Logic. Examples of syntactic claims

The problem of foundations - summary

INCOMPLETENESS I by Harvey M. Friedman Distinguished University Professor Mathematics, Philosophy, Computer Science Ohio State University Invitation

Andrew Schumann, Roman Murawski Is the Polish Logic One of the Best Traditions Still? Studia Humana nr 3/4, 78-82

Computer Science and Logic A Match Made in Heaven

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Intuitionism and effective descriptive set theory

Review of Propositional Calculus

Classical First-Order Logic

Marie Duží

7.1 The Origin of Computer Science

cse541 LOGIC FOR COMPUTER SCIENCE

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Understanding Computation

22c:145 Artificial Intelligence

Do Gödel s incompleteness theorems set absolute limits on the ability of the brain to express and communicate mental concepts verifiably?

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Classical Propositional Logic

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012

A Set Theory Formalization

The Legacy of Hilbert, Gödel, Gentzen and Turing

Gödel s Incompleteness Theorems

Philosophy of Set Theory

Incompleteness and Computability

Hilbert s Program Then and Now

De Bruijn s ideas on the Formalization of Mathematics

Introduction to Metalogic

Theory of Computation CS3102 Spring 2014

Reverse Mathematics. Benedict Eastaugh December 13, 2011

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg

arxiv: v1 [cs.lo] 31 Aug 2014

Antinomies of Mathematical Reason: The Inconsistency of PM Arithmetic and Related Systems. (S. Fennell, Cambridge)

Propositional logic. First order logic. Alexander Clark. Autumn 2014

Lecture Notes on Heyting Arithmetic

Simply consistent constructive systems of first order Peano s Arithmetic that do not yield undecidable propositions by Gödel s reasoning

Incompleteness and Computability

Linguistics and logic of common mathematical language I. Peter Koepke and Merlin Carl, Mathematical Institute Universität Bonn

Paradox Machines. Christian Skalka The University of Vermont

Between proof theory and model theory Three traditions in logic: Syntactic (formal deduction)

Notes on the Foundations of Constructive Mathematics

The Reflection Theorem

MAGIC Set theory. lecture 1

Gödel, Turing, the Undecidability Results and the Nature of Human Mind

Almost von Neumann, Definitely Gödel: The Second Incompleteness Theorem s Early Story

Transcription:

Bootstrapping Mathematics Masahiko Sato Graduate School of Informatics, Kyoto University Mathematical Logic: Development and Evolution into Various Sciences Kanazawa, Japan March 9, 2012

Contents What is formalized mathematics? Why formalize mathematics? History of formalization Mathematical Objects Our approach

What is formalized mathematics? A formalized mathematics is written in a formal language. Syntax of the language is formally given by, e.g., a context-free grammar. Mathematical objects are represented by linguistic entities such as nouns. Mathematical assersions (propositions) are represented by formulas, which are also linguistic objects. Proofs are also formally written in the formal language. Given any formula and (formal) proof, it is primitive recursively decidable if the proof proves the formula. Note that there is no formal definition of formalized mathematics. (Cf. Church s Thesis.)

Why formalize mathematics? Motivations coming from mathematics. Motivations coming from computer science.

Why formalize mathematics? (cont.) Motivations coming from mathematics Proof of unprovability of a proposition. Consistency proof. Gödel s incompleteness theorem. Reverse mathematics. Zermelo-Fraenkel set theory. These motivations are mainly theoretical. Mathematicians usually talk about formalized mathematics but not work in it. Formalization of logic is important here.

Why formalize mathematics? (cont.) Motivations coming from computer science Verification of proofs. Verification of programs. Constructive programming. Formalization of metamathematics. These motivations are mainly practical. Some computer scientists are interested in creating a computer environment for doing mathematics in it. Cf., Isabelle, Coq, Agda, Minlog etc. Formalization of computation is important here.

History of formalization Frege (Begriffsschrift, 1879) Higher order logic, Natural deduction Russell (Principia Mathematica (with Whitehead), 1910) Type theory Brouwer (Intuitionism) Heyting Hilbert (Formalism) Gödel, Gentzen Zermelo-Fraenkel (Set theory) Church (λ-calculus, Simple theory of types) Turing (universal Turing machine, decision problem) McCarthy (1961: A basis for mathematical theory of computation) Milner de Bruijn (Automath 1967 ) Mizar (1973 ), Coq, Isabelle, Minlog, Agda

Quotation from McCarthy (1961: A basis for mathematical theory of computation) Proof-checking by computer may be as important as proof generation. It is part of the definition of formal system that proofs be checkable. Because a machine can be asked to do much more work in checking a proof than can a human, proofs can be made much easier to write in such systems. In particular, proofs can contain a request for the machine to explore a tree of possibilities for a conventional proof. The potential applications for computer-checked proofs are very large. For example, instead of trying out computer programs on test cases until they are debugged, one should prove that they have the desired properties.

Quotation from McCarthy (cont.) (1961: A basis for mathematical theory of computation) The usefulness of computer checked proofs depends both on the development of types of formal systems in which proofs are easy to write and on the formalization of interesting subject domains. It should be remembered that the formal systems so far developed by logicians have heretofore quite properly had as their objective that it should be convenient to prove metatheorems about the systems rather than that it be convenient to prove theorems in the systems.

Motivation for bootstrapping mathematics Mathematics is human linguistic activity. Acceptance of proofs by mathematicians is a social process. Hilbert s idea: Finitism and Formalism. Finitism = real mathematics = mathematics with meaning Formalism = ideal mathematics = mathematics without meaning

Feasibility of bootstrapping mathematics The notion of computable function is a stable notion. Bootstrap finitary mathematics. Then, formalize ideal mathematics as formal systems which are objects of real mathematics. In this way, we can mechanically check all the mathematics we create.

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism Comp. Sci. Denotational semantics Operational semantics Axiomatic semantics

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism Comp. Sci. Denotational Operational Axiomatic semantics semantics semantics Ontology Strong Weak Weakest

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism Comp. Sci. Denotational Operational Axiomatic semantics semantics semantics Ontology Strong Weak Weakest Computation Neglected Essential Essential Ontology concerns what and computation concerns how.

Mathematical Objects In mathematics we talk about mathematical objects, but what are mathematical objects and how they are constructed? Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism Comp. Sci. Denotational Operational Axiomatic semantics semantics semantics Ontology Strong Weak Weakest Computation Neglected Essential Essential Ontology concerns what and computation concerns how. We classify mathematical objects into the following two kinds...1 Mathematical objects of the first kind...2 Mathematical objects of the second kind.

Mathematical Objects (cont.) Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism Comp. Sci. Denotational Operational Axiomatic semantics semantics semantics Ontology Strong Weak Weakest Computation Neglected Essential Essential

Mathematical Objects (cont.) Platonism Constructivism Formalism Philosophy Realism Conceptualism Nominalism Mathematics Logicism Intuitionism Formalism Comp. Sci. Denotational Operational Axiomatic semantics semantics semantics Ontology Strong Weak Weakest Computation Neglected Essential Essential Classification of Math Objects Set Type Class

How can we bootstrap mathematics? How can we teach first-order Peano Arithmetic to someone who knows nothing about mathematics?..1 x = x...2 x = y y = x...3 x = y y = z x = z...4 x = y S(x) = S(y)...5 S(x) 0...6 S(x) = S(y) x = y...7 x + 0 = x...8 x + S(y) = S(x + y)...9 x 0 = 0..10. x S(y) = x y + x..11. P (0) ( x.p (x) P (S(x))) x.p (x).

How can we bootstrap mathematics? (cont.) We provide a framework in which we can formalize real mathematics. We will treat finitary objects as objects of the first kind. See the following picture.

Natural Language Informal Math Formal Math My view of mathematics

Inadequacy of type theories for bootstrapping There are at least 5 reasons why type theories are inadequate for bootstrapping mathematics. (Of course, these theories are good for other purposes.)..1 Type : Type does not hold. In my framework Class : Class does hold...2 The notion of subtype is difficult to handle, compared to the notion of subset or subclass...3 Quotation and evaluation are not fully supported...4 Cannot define partial functions...5 Logically complex. (For example, to use a type theory to formalize Peano arithmetic is an overkill.)

A framework for doing mathematics in it We begin with collecting key concepts to be used in building such a framework. We view mathematics as human collaboration of linguistic activity. We will create a programming environment (called Natural Framework) to support such a linguistic activity. Object Creation of objects Name (Symbol) Naming Notion of as Class Classification

Objects of the first kind Mathematical objects of the first kind are constructed by the fundamental priciple of object creation: An object of the first kind is created from finitely many already created objects of the first kind. The creation is done by applying a creation method to existing objects. Both the creation method and the created object belongs to a specific class. The class is called the mother class of the created object. Thus, any object is created as an instance of its mother class. The equality relation (=) on objects of the first kind is called the equality of the first kind.

Objects of the first kind (cont.) Objects of the first kind are created by the fundamental principle of object creation: Every object a is created from already created n objects a 1,..., a n (n 0) by applying a creation method M. We can visualize this act of creation by the following figure: a 1 a n a M or, by the equation: a = M (a 1,..., a n ) The method M is a partial function, in general, but it is decidable whether M may be applied to given obects.

Objects of the first kind (cont.) Equality and inequality relation on objects are defined simultaneously with the creation of objects. Two objects: M (a 1,..., a m ) and N (b 1,..., b n ) are equal (=) if and only if M and N are the same method, m = n and a i = b i (1 i m).

Objects of the first kind (cont.) Equality and inequality relation on objects are defined simultaneously with the creation of objects. Two objects: M (a 1,..., a m ) and N (b 1,..., b n ) are equal (=) if and only if M and N are the same method, m = n and a i = b i (1 i m). In other words, two objects are equal if they are created in exactly the same way, and the equality relation is decidable.

Objects of the first kind (cont.) Equality and inequality relation on objects are defined simultaneously with the creation of objects. Two objects: M (a 1,..., a m ) and N (b 1,..., b n ) are equal (=) if and only if M and N are the same method, m = n and a i = b i (1 i m). In other words, two objects are equal if they are created in exactly the same way, and the equality relation is decidable. However, there is only one excecption: abstractions which are objects of the class Abs.

In type theory: Object and Class 3 : Nat is a judgment, 3 is an object, and Nat is a type. Here, judgment, object and type are concepts used when we talk about type theory in the meta language. These concepts do not have counter-parts in type theory.

In NF class theory, Object and Class (cont.) 3 : Nat is a proposition, 3 is an object, and Nat is a class. Here, judgment, object and type are concepts used when we talk about NF in the meta language. These concepts do have counter-parts in NF class theory. In fact, we have: (3 : Nat ) : Prop, 3 : Object, Nat, Prop, Object, Class : Class, Nat, Prop, Object, Class : Object, : : Function.

Object and Class (cont.) In type theory, fundamental concetps in type theory such as object, type and judgment are not internalized. We can use these concepts only at metalevel and not in the theory itself. In NF class theory, fundamental concetps in class theory such as object, class and proposition are all internalized. We can use these concepts both at metalevel and in the class theory. This is possible since NF is designed so that key mathematical concepts can be easily internalized by making a one-to-one correspondece between these metalevel concepts and internal mother classes. Moreover, since NF is a formal sublanguage of English, it supports real mathematics formally but can be understood directly by humans without further interpretations.

Basic concepts If we try to bootstrap mathematics from scratch, we must start from somewhere, where we have some intuitive understanding of basic concepts which are, perhaps, absolutely necessary to construct mathematics from them. Here, we propose the following four basic concepts: Name, Tuple, Function and Class

Tuple Given any finite sequence of objects a 1,..., a n, we we can form a tuple (a 1... a n ) of these objects. Tuples are created by the following two methods. (Tuple/nil) : Tuple Tuple/nil a : Object b : Tuple (Tuple/cons a b) : Tuple Tuple/cons

Function A function is either a primitive function or a defined funtion. Functions are identified by its name, which is a symbol. A function is called a method, if it can be used to create new objects from existing objects.

Class A class is either a mother class or the top class. Each class is identified by its name, which is symbol whose first and last character is an angular bracket. For example, we will write Object for the top class. The initial four mother classes are: Tuple, Symbol, Function and Class.

Bootstrapping Natural Framework (NF) Bootstrapping of NF is done in two steps. Each object is created interacting with the surrounding universe. The universe is empty initially. Who creates objects? In the first step, objects are created by the program boot.el written in Emacs Lisp. In the second step, objects are created by the program boot.ez written in Ez which is a language inside the universe of NF. The bootstrapping process finishes after the loading of these two programs. At this point, the universe is nonempty and the user can directly manipulate and modify the universe by writing programs in Ez (which is part of the universe).

Conclusions Hilbert s idea: there are two kinds of mathematics. The first is real mathematics based on the finitistic view of mathematics. The second is ideal mathematics based on the formalistic view of mathematics. Most of platonistic and intuitionistic mathematics can be formalized. The notion of computability is stable and accepted by all mathematicians. Proof checking is a decidable process. So, implementing proofs naturally is important NF realizes a natural framwork for doing both real mathematics and ideal mathematics.