This repository contains a proof of Abel - Galois Theorem (equivalence between being solvable by radicals and having a solvable Galois group) and Abel - Ruffini Theorem (unsolvability of quintic equations) in the Coq proof-assistant and using the Mathematical Components library.
- Author(s):
- Sophie Bernard (initial)
- Cyril Cohen (initial)
- Assia Mahboubi (initial)
- Pierre-Yves Strub (initial)
- License: CeCILL-B
- Compatible Rocq/Coq versions: 9.0 or later
- Additional dependencies:
- Rocq/Coq namespace:
Abel - Related publication(s):
The easiest way to install the latest released version of Abel - Ruffini Theorem as a Mathematical Component is via OPAM:
opam repo add rocq-released https://rocq-prover.org/opam/released
opam install coq-mathcomp-abelTo instead build and install manually, you need to make sure that all the libraries this development depends on are installed. The easiest way to do that is still to rely on opam:
git clone https://github.com/math-comp/abel.git
cd abel
opam repo add rocq-released https://rocq-prover.org/opam/released
opam install --deps-only .
make # or make -j <number-of-cores-on-your-machine>
make install-
abel.vitself contains the main theorems:galois_solvable_by_radical(requires explicit roots of unity),ext_solvable_by_radical(equivalent, and still requires roots of unity),radical_solvable_ext(no mention of roots of unity),AbelGalois, (equivalence obtained from the above two, requires roots of unity), and consequences on solvability of polynomial- and their consequence on the example polynomial X⁵ -4X + 2:
example_not_solvable_by_radicals,
-
xmathcomp/various.vcontains various (rather straightforward) extensions that should be added to various mathcomp packages asap with potential minor modifications, -
xmathcomp/char0.vcontains 0 characteristic specific results, that could use a refactoring for a smoother integration with mathcomp. e.g. ratr could get a canonical structure or rmorphism when the target field is almodType ratr, and we could provide a wrapperNullCharTypeakin toPrimeCharType(fromfinfield.v), -
xmathcomp/cyclotomic.vcontains complementary results about cyclotomic polynomials, -
xmathcomp/map_gal.vcontains complementary results about galois groups and galois extensions, including various isomorphisms, minimal galois extensions, solvable extensions, and mapping galois groups and galois extensions from a splitting field to another. This last construction is essential in switching to fields with roots of unity when we do not have them yet, -
xmathcomp/classic_ext.vcontains the theory of classic extensions by arbitrary polynomials, most of the results there are in the classically monad, making the results available either for a boolean goal or a classical goal. This was instrumental in eliminating references to some embarrassing roots of the unity. -
xmathcomp/algR.vcontains a proof that the real subset ofalgC(isomorphic to{x : algC | x \is Num.real}) is a real closed field (and archimedean), and endows this typealgRwith appropriate canonical instances. -
xmathcomp/real_closed_ext.vcontains some missing lemmas from the librarymath-comp/real_closed, in particular bounding the number of real roots of a polynomial by one plus the number of real roots of its derivative,