Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions LeanBridge.lean
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
import LeanBridge.Example
import LeanBridge.Galois
33 changes: 33 additions & 0 deletions LeanBridge/Galois.lean
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import IdealArithmetic.Galois.Examples.DegSixA4C2

/-!
# Galois-group certificates (bridged from `CertifyingInvariantsNF`)

This module makes the Galois-group certification library
(`IdealArithmetic.Galois`, developed in the `CertifyingInvariantsNF` project)
available inside LeanBridge, linking LMFDB Galois-group data (`nTk` labels) to
formal Lean proofs.

The showcase result, re-exported below: the degree-6 number field
`ℚ[x]/(x⁶ − 5x⁴ − 50x² + 125)` has Galois group `A₄ × C₂` — the transitive
group `6T6`, of order `24`. The underlying library also provides reusable
machinery (Dedekind/Frobenius cycle-type certificates, the discriminant square
test, cubic Galois-group determination) not re-exported here.
-/

namespace LeanBridge.Galois

open Polynomial IdealArithmetic.Galois.DegSix

/-- **`6T6`.** The Galois group of `x⁶ − 5x⁴ − 50x² + 125` over `ℚ` is isomorphic
to `A₄ × C₂`. Bridged from `IdealArithmetic.Galois.DegSix`. -/
theorem galoisGroup_degSix_isA4timesC2 :
Nonempty ((f.map (Int.castRingHom ℚ)).Gal ≃*
alternatingGroup (Fin 4) × Multiplicative (ZMod 2)) :=
gal_f_mulEquiv

/-- The Galois group of that degree-6 field has order `24`. -/
theorem galoisGroup_degSix_card : Nat.card (f.map (Int.castRingHom ℚ)).Gal = 24 :=
card_gal_f

end LeanBridge.Galois
12 changes: 11 additions & 1 deletion lake-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
{"version": "1.2.0",
"packagesDir": ".lake/packages",
"packages":
[{"url": "https://github.com/leanprover-community/mathlib4.git",
[{"url": "https://github.com/CBirkbeck/CertifyingInvariantsNF.git",
"type": "git",
"subDir": null,
"scope": "",
"rev": "11b4888b5523b30ec0c8cb8c18a0fd5469524f2a",
"name": "IdealArithmetic",
"manifestFile": "lake-manifest.json",
"inputRev": "galois-v431-bump",
"inherited": false,
"configFile": "lakefile.lean"},
{"url": "https://github.com/leanprover-community/mathlib4.git",
"type": "git",
"subDir": null,
"scope": "",
Expand Down
5 changes: 5 additions & 0 deletions lakefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,10 @@ name = "mathlib"
git = "https://github.com/leanprover-community/mathlib4.git"
rev = "v4.31.0"

[[require]]
name = "IdealArithmetic"
git = "https://github.com/CBirkbeck/CertifyingInvariantsNF.git"
rev = "galois-v431-bump"

[[lean_lib]]
name = "LeanBridge"