CoRN includes the following parts:
Algebraic Hierarchy
An axiomatic formalization of the most common algebraic structures, including setoids, monoids, groups, rings, fields, ordered fields, rings of polynomials, real and complex numbers
Model of the Real Numbers
Construction of a concrete real number structure satisfying the previously defined axioms
Fundamental Theorem of Algebra
A proof that every non-constant polynomial on the complex plane has at least one root
Real Calculus
A collection of elementary results on real analysis, including continuity, differentiability, integration, Taylor's theorem and the Fundamental Theorem of Calculus
Exact Real Computation
Fast verified computation inside Coq. This includes: real numbers, functions, integrals, graphs of functions, differential equations.
Additional dependencies:
Math-Classes 8.8.1 or greater, which is a library of abstract interfaces for mathematical structures that is heavily based on Coq's type classes.
CoRN
The easiest way to install the latest released version of C-CoRN is via OPAM:
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-corn
To instead build and install manually, you have to start with
the bignums
dependency:
git clone https://github.com/coq/bignums
cd bignums
make # or make -j <number-of-cores-on-your-machine>
make install
The last make install
is necessary, it copies bignums
to
a common folder, which is usually coq/user-contrib
. Afterwards
the similar commands for math-classes
will find bignums
there.
Finally build corn
itself:
git clone https://github.com/coq-community/corn
cd corn
./configure.sh
make # or make -j <number-of-cores-on-your-machine>
make install
C-CoRN supports building with SCons. SCons is a modern Python-based Make-replacement.
To build C-CoRN with SCons run scons
to build the whole library, or
scons some/module.vo
to just build some/module.vo
(and its dependencies).
In addition to common Make options like -j N
and -k
, SCons
supports some useful options of its own, such as --debug=time
, which
displays the time spent executing individual build commands.
scons -c
replaces Make clean
For more information, see the SCons documentation.
To build CoqDoc documentation, say scons coqdoc
.