Add Galois-group certification library (Dedekind + discriminant certificates, degree-6 A₄×C₂ example) - #1
Closed
CBirkbeck wants to merge 2 commits into
Closed
Conversation
Reusable machinery to certify Gal(f/ℚ) from the factorisation of f mod primes — Dedekind/Frobenius cycle-type certificates, cubic Galois-group determination, and a block-sign semidirect-product analysis — together with a fully worked degree-6 showcase proving Gal(f/ℚ) ≅ A₄ × C₂ for f = X⁶ − 5X⁴ − 50X² + 125 (6T6, order 24). Sorry-free; the headline results are verified axiom-clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Follow-up /decompose-proof pass over the 7 proofs exceeding ~50 lines: extract 20 private helper lemmas (residue-field char-p setup, the permutation orbit ↔ cycleFactors+fixedPoints bijection, order-3 ⇒ alternating group, block-sign equivariance, the p=13 certificate computation, Schur–Zassenhaus complement) and split galoisGroup_cubic's conjunction into two lemmas. Every proof body shrinks (gal_f_mulEquiv 76→34, galoisGroup_cubic 58→2, the Dedekind reduction 163→121). All public statements are byte-identical; sorry-free; headline results verified axiom-clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author
|
Closing this PR — the Galois-group certification work is moving to CBirkbeck/LeanBridge (a project linking LMFDB and Lean), where it has been ported to Lean v4.31 / mathlib |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
A self-contained Lean 4 / Mathlib library (
IdealArithmetic/Galois/) for certifying the Galois group of a number fieldℚ[x]/(f)from elementary factorisation data, together with a fully worked degree-6 example:Everything is
sorry-free, and the headline results are verified axiom-clean (#print axioms→ only the three standard axioms).lake buildis green.The general machinery is reusable for other fields/polynomials; only
Examples/DegSixA4C2.leanis specific to the showcase polynomial.General theorems
1. Dedekind's theorem — Frobenius cycle type from factorisation mod
pFor monic
f ∈ ℤ[X]and a primep ∤ disc f, the cycle type of an arithmetic Frobenius acting on the roots offequals the multiset of degrees of the irreducible factors off mod p(Dedekind.lean):Packaged as a user-facing certificate (
Certificate.lean): supply a prime and a claimed factorisation, get a Galois element of the matching cycle type — no need to exhibit a prime of the splitting field.2. The discriminant square test —
AₙvsSₙOver a characteristic-zero field, the Galois action lands in the alternating group iff the discriminant is a square (
Parity.lean, following K. Conrad, Galois groups as permutation groups, Thm 4.7):3. Cubic Galois groups, end to end
Combining (1) and (2): the Galois group of any monic irreducible cubic over
ℚisA₃(order 3) orS₃(order 6) according to whetherdiscis a square (Determine.lean):4. Even polynomials
f = h(X²)— block-sign analysisFor
f = h.comp (X²), the±-pairing of roots is aGal f-invariant block system. The order factors through the composition, and the kernelK = ker(restrict to Gal h)is identified withC₂^{#roots of h}(EvenSextic.lean):5. The abstract endpoint
C₂³ ⋊ C₃ ≅ A₄ × C₂Pure finite-group theory (
SemidirectA4.lean): for a 3-element block set with an order-3 cyclic block permutation, the semidirect product isA₄ × C₂(6T6):Supporting reusable pieces:
separable_map_of_discr_ne_zero(p ∤ disc f ⇒ f mod pseparable,SeparableReduction.lean), the sign charactersignHomand splitting-fieldFactinstance (Defs.lean).How the example is certified
f = X⁶ − 5X⁴ − 50X² + 125is even:f = g(X²)withg = Y³ − 5Y² − 50Y + 125(Examples/DegSixA4C2.lean). The certificate assembles the general theorems as follows.The cubic
gis cyclic.gis irreducible with square discriminant, so bygaloisGroup_cubic,Gal g ≅ C₃—card_gal_g : Nat.card (g.map …).Gal = 3.Order factors through the square. Since
f = g(X²),card_gal_comp_eqgives|Gal f| = |Gal g| · |K|whereK = ker(Gal f ↠ Gal g)is the block-flip kernel.One Frobenius transposition, from
p = 13. The certificatecert13 : FrobeniusCycleTypeCertificate frecordsf mod 13 = (X+2)(X+5)(X−5)(X−2)(X²−2), cycle type{1,1,1,1,2}.Via Dedekind's theorem this yields an arithmetic Frobenius that flips exactly one
±-block — a single generator ofK.The
C₃symmetry spreads it to all three blocks. Conjugating that one flip by the cyclicC₃-action realises every coordinate flip, soK ≅ C₂³with|K| = 8(card_ker : … = 8). Hence|Gal f| = 3 · 8 = 24:Identify the group. The
C₃-action onK = C₂³is the cyclic coordinate permutation, sothreeBlockIsoapplies and gives the isomorphism type:So
Gal(f/ℚ) ≅ A₄ × C₂(6T6, order 24), certified from the single inputf mod 13plus the cyclic-cubic structure.Notes
Defs,Parity,SeparableReduction,Dedekind,Certificate,Determine,EvenSextic,SemidirectA4,Examples/DegSixA4C2(all underIdealArithmetic/Galois/), plus a.gitignorefor/.lake/.native_decide; regulardecideonly where a finite group computation is closed.sorry-free;card_gal_f,gal_f_mulEquiv,galoisGroup_cubic,threeBlockIso, and the Dedekind theorem are all axiom-clean.🤖 Generated with Claude Code