Learn More
This paper reports on a six-year collaborative effort that culminated in a complete formalization of a proof of the Feit-Thompson Odd Order Theorem in the Coq proof assistant. The formalized proof is constructive , and relies on nothing but the axioms and rules of the founda-tional framework implemented by Coq. To support the formalization, we developed a(More)
Large scale real number computation is an essential ingredient in several modern mathematical proofs. Because such lengthy computations cannot be verified by hand, some mathematicians want to use software proof assistants to verify the correctness of these proofs. This paper develops a new implementation of the constructive real numbers and elementary(More)
The following full text is a preprint version which may differ from the publisher's version. Abstract We provide a computer verified exact monadic functional implementation of the Riemann integral in type theory. Together with previous work by O'Connor, this may be seen as the beginning of the realization of Bishop's vision to use constructive mathematics(More)
This paper gives two new categorical characterisations of lenses: one as a coalgebra of the store comonad, and the other as a monoidal natural transformation on a category of a certain class of coalgebras. The store comonad of the first characterisation can be generalized to a Cartesian store comonad, and the coalgebras of this Cartesian store comonad turn(More)
We present some of the experiments we have performed to best test our design for a library for MathScheme, the mechanized mathematics software system we are building. We wish for our library design to use and reflect, as much as possible, the mathematical structure present in the objects which populate the library.
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(More)