SkillAgentSearch skills...

Abel

A proof of Abel-Ruffini theorem.

Install / Use

/learn @math-comp/Abel
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!--- This file was generated from `meta.yml`, please do not edit manually. Follow the instructions on https://github.com/coq-community/templates to regenerate. --->

Abel - Ruffini Theorem as a Mathematical Component

Docker CI

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.

Meta

Building and installation instructions

The easiest way to install the latest released version of Abel - Ruffini Theorem as a Mathematical Component is via OPAM:

opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-mathcomp-abel

To instead build and install manually, do:

git clone https://github.com/math-comp/abel.git
cd abel
make   # or make -j <number-of-cores-on-your-machine> 
make install

Organization of the code

  • abel.v itself 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.v contains various (rather straightforward) extensions that should be added to various mathcomp packages asap with potential minor modifications,

  • xmathcomp/char0.v contains 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 a lmodType ratr, and we could provide a wrapperNullCharType akin to PrimeCharType (from finfield.v),

  • xmathcomp/cyclotomic.v contains complementary results about cyclotomic polynomials,

  • xmathcomp/map_gal.v contains 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.v contains 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.v contains a proof that the real subset of algC (isomorphic to {x : algC | x \is Num.real}) is a real closed field (and archimedean), and endows this type algR with appropriate canonical instances.

  • xmathcomp/real_closed_ext.v contains some missing lemmas from the library math-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,

Development information

Developping with nix

Related Skills

View on GitHub
GitHub Stars30
CategoryDevelopment
Updated24d ago
Forks8

Languages

Rocq Prover

Security Score

80/100

Audited on Mar 6, 2026

No findings