Implementation of Bourbaki´s Elements of Mathematics in Coq: ; Part One ; Theory of Sets

French title: Implémentation des Éléments de mathématiques de Bourbaki en Coq, ; partie 1; Théorie des ensembles

Author: José Grimm

Location: Sophia Antipolis – Méditerranée

Inria Research Report Number: 6999

Revision: 3

Team: Apics

Date: July 2009

Revised Date: March 2010

Keywords: Gaia, Coq, Bourbaki, Formal Mathematics, Proofs, Sets.

French keywords: Gaia, Coq, Bourbaki, mathématiques formelles, preuves, ensembles.

Note: Work done in collaboration with Alban Quadrat, based on previous work of Carlos Simpson (CNRS, University of Nice-Sophia Antipolis).

Email: Jose.Grimm@sophia.inria.fr

Abstract

We believe that it is possible to put the whole work of Bourbaki into a computer. One of the objectives of the Gaia project concerns homological algebra (theory as well as algorithms); in a first step we want to implement all nine chapters of the book Algebra. But this requires a theory of sets (with axiom of choice, etc.) more powerful than what is provided by Ensembles; we have chosen the work of Carlos Simpson as basis. This reports lists and comments all definitions and theorems of the Chapter “Theory of Sets”. The code (including almost all exercises) is available on the Web, under http://www-sop.inria.fr/apics/gaia.

Version one was released in July 2009, version 2 in December 2009, version 3 in March 2010. There are small differences, marked in footnotes.

French Abstract

Nous pensons qu´il est possible de mettre dans un ordinateur l´ensemble de l´œuvre de Bourbaki. L´un des objectifs du projet Gaia concerne l´algèbre homologique (théorie et algorithmes); dans une première étape nous voulons implémenter les neuf chapitres du livre Algèbre. Au préalable, il faut implémenter la théorie des ensembles. Nous utilisons l´Assistant de Preuve Coq; les choix fondamentaux et axiomes sont ceux proposées par Carlos Simpson. Ce rapport liste et commente toutes les définitions et théorèmes du Chapitre théorie des ensembles. Presque tous les exercises ont été résolus. Le code est disponible sur le site Web http://www-sop.inria.fr/apics/gaia.


Short Table of Contents


1. Introduction
2. Sets
3. Functions
4. Correspondences
5. Union and intersection of a family of sets
6. Product of a family of sets
7. Equivalence relations
8. Exercises
9. Summary
Bibliography
Table of Contents
Index


1. Introduction

2. Sets

3. Functions

4. Correspondences

5. Union and intersection of a family of sets

6. Product of a family of sets

7. Equivalence relations

8. Exercises

9. Summary


Bibliography

[1] Yves Bertod, Pierre Castéran. Interactive Theorem Proving and Program Development. Springer, 2004.

[2] N. Bourbaki. Elements of Mathematics, Theory of Sets. Springer, 1968.

[3] N. Bourbaki. Éléments de mathématiques, Théorie des ensembles. Diffusion CCLS, 1970.

[4] Coq Development Team. The Coq reference manual. http://coq.inria.fr.

[5] Douglas Hofstadter. Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, 1979.

[6] Jean-Louis Krivine. Théorie axiomatique des ensembles. Presses Universitaires de France, 1972.

[7] Edward Nelson. Internal set theory: a new approach to nonstandard analysis. in « Bulletin of the American Mathematical Society », 1977.

Table of Contents


1. Introduction
     1.1. Objectives
     1.2. Background
     1.3. Notations
     1.4. Description of formal mathematics
                    1.4.1. Terms and relations.
                    1.4.2. Theorems and proofs.
                    1.4.3. Quantified theories
                    1.4.4. Equality
                    1.4.5. Notes.
2. Sets
     2.1. Module Axioms
                    2.1.1. Types.
                    2.1.2. Is element of.
                    2.1.3. Extensionality.
                    2.1.4. The axiom of choice.
                    2.1.5. Images.
                    2.1.6. Double negation axiom.
                    2.1.7. Special realizations.
     2.2. Module constructions
                    2.2.1. Empty sets and types.
                    2.2.2. An inverse for R.
                    2.2.3. Reasoning by cases.
                    2.2.4. Choosing a representative or the empty set.
                    2.2.5. Representatives of nonempty sets.
                    2.2.6. Defining a term depending on a boolean value.
                    2.2.7. Set of elements such that P.
                    2.2.8. Cuts.
     2.3. Module Little
     2.4. Module Basic Realization
     2.5. Module Complement
     2.6. Module Pair
     2.7. Module Image
     2.8. Module Powerset
     2.9. Module Union
     2.10. Module Intersection
     2.11. Module Transposition
     2.12. Module Bounded
     2.13. Module Cartesian
     2.14. Module Back
3. Functions
     3.1. Module Function
     3.2. Module FunctionSet
     3.3. Module Notation
     3.4. Module Universe
4. Correspondences
     4.1. Graphs and correspondences
     4.2. Inverse of a correspondence
     4.3. Composition of two correspondences
     4.4. Functions
     4.5. Restrictions and extensions of functions
     4.6. Definition of a function by means of a term
     4.7. Composition of two functions. Inverse function
     4.8. Retractions and sections
     4.9. Functions of two arguments
5. Union and intersection of a family of sets
     5.1. Definition of the union and intersection of a family of sets
     5.2. Properties of union and intersection
     5.3. Complements of unions and intersections
     5.4. Union and intersection of two sets
     5.5. Coverings
     5.6. Partitions
     5.7. Sum of a family of sets
6. Product of a family of sets
     6.1. The axiom of the set of subsets
     6.2. Set of mappings of one set into another
     6.3. Definition of the product of a family of sets
     6.4. Partial products
     6.5. Associativity of products of sets
     6.6. Distributivity formulae
     6.7. Extensions of mappings to products
7. Equivalence relations
     7.1. Definition of an equivalence relation
     7.2. Equivalence classes; quotient set
     7.3. Relations compatible with an equivalence relation
     7.4. Saturated subsets
     7.5. Mappings compatible with equivalence relations
     7.6. Inverse image of an equivalence relation; induced equivalence relation
     7.7. Quotients of equivalence relations
     7.8. Product of two equivalence relations
     7.9. Classes of equivalent objects
8. Exercises
     8.1. Section 1
                    8.1.1. 1.
                    8.1.2. 2.
                    8.1.3. 3.
                    8.1.4. 4.
                    8.1.5. 5.
                    8.1.6. 6.
     8.2. Section 2
                    8.2.1. 1.
                    8.2.2. 2.
     8.3. Section 3
                    8.3.1. 1.
                    8.3.2. 2.
                    8.3.3. 3.
                    8.3.4. 4.
                    8.3.5. 5.
                    8.3.6. 6.
                    8.3.7. 7.
                    8.3.8. 8.
                    8.3.9. 9.
                    8.3.10. 10.
                    8.3.11. 11.
     8.4. Section 4
                    8.4.1. 1.
                    8.4.2. 2.
                    8.4.3. 3.
                    8.4.4. 4.
                    8.4.5. 5.
                    8.4.6. 6.
                    8.4.7. 7.
                    8.4.8. 8.
     8.5. Section 5
                    8.5.1. *
                    8.5.2. *
                    8.5.3. 1.
                    8.5.4. 2.
                    8.5.5. 3.
     8.6. Section 6
                    8.6.1. 1.
                    8.6.2. 2.
                    8.6.3. 3.
                    8.6.4. 4.
                    8.6.5. 5.
                    8.6.6. 6.
                    8.6.7. 7.
                    8.6.8. 8.
                    8.6.9. 9.
                    8.6.10. 10.
                    8.6.11. 11.
9. Summary
     9.1. The axioms
     9.2. The Zermelo Fraenkel Theory
     9.3. Unused theorems
                    9.3.1. Reasoning by cases.
                    9.3.2. The choose function.
                    9.3.3. Complement.
                    9.3.4. Pairs.
                    9.3.5. Cartesian Product.
                    9.3.6. Correspondences
                    9.3.7. Other lemmas.
     9.4. Tactics
     9.5. Rewriting rules
     9.6. List of Theorems
          9.6.1. Section one
          9.6.2. Section 2
          9.6.3. Section 3
          9.6.4. Section 4
          9.6.5. Section 5
          9.6.6. Section 6
     9.7. Notations and Definitions
                    9.7.1. Symbols
                    9.7.2. Letters
                    9.7.3. Words
Bibliography
Index