### MathScheme: Project Description [chapter]

Jacques Carette, William M. Farmer, Russell O'Connor
2011 Lecture Notes in Computer Science
The mission of mechanized mathematics is to develop software systems that support the process people use to create, explore, connect, and apply mathematics. Working mathematicians routinely leverage a powerful synergy between deduction and computation. The artificial division between (axiomatic) theorem proving systems and (algorithmic) computer algebra systems has broken this synergy. To significantly advance mechanized mathematics, this synergy needs to be recaptured within a single
more » ... MathScheme  is a long-term project being pursued at McMaster University with the aim of producing such a framework in which formal deduction and symbolic computation are tightly integrated. In the short-term, we are developing tools and techniques to support this approach, with the long-term objective to produce a new system. Towards this aim, we have already developed several techniques, with some laying the theoretical foundations of our framework, while others are implementation techniques. In particular, we rely on biform theories and an expressive logic (Chiron) for grounding. We rely on various meta-programming techniques as well as the increased safety offered by a modern statically typed programming language (Objective Caml ) to greatly simplify our implementation burden. A biform theory [1, 3] is a combination of an axiomatic theory and an algorithmic theory. It is the basic unit of mathematical knowledge that consists of a set of concepts, transformers, and facts. The concepts are symbols that denote mathematical values and, together with the transformers, form a language L for the theory. The transformers are programs whose input and output are expressions of L. Transformers represent syntax-manipulating operations such as inference and computation rules. The facts are statements expressed in L about the concepts and transformers. In a typical biform theory, the concepts are classified as primitive or defined, the transformers as primitive or derived, and the facts as axioms, definitions, or theorems. A pure axiomatic theory is a biform theory with no transformers, and a pure algorithmic theory is a biform theory with no facts or only facts about the transformers. Since transformers manipulate the syntax of expressions, biform theories are difficult to formalize in a traditional logic without the means to reason about syntax. Chiron [4, 5] is a derivative of von-Neumann-Bernays-Gödel (nbg) set theory that is intended to be a practical, general-purpose logic for mechanizing mathematics. It is equipped with a type system that includes dependent types, subtypes, and possibly empty types. It handles undefined expressions according This research was supported by NSERC. {carette,wmfarmer}@mcmaster.ca, roconnor@theorem.ca.