FLT/Slop/PGL2/FiniteSubgroups/TameClassification.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Pinned FLT blueprint introduction

34 declarations, 0 contain sorry, 0 declared as axioms

Dickson's classification: the tame case

This file classifies the finite subgroups G of PGLOf (K p) = PGL₂(𝔽̄_p) of order coprime to p (the tame case): the main theorem Dickson.classification_tame_slop shows any such G is cyclic, dihedral, or isomorphic to A₄, S₄ or A₅.

The proof is via the class equation. Every nontrivial element of G fixes exactly two points of ℙ¹(𝔽̄_p) (Dickson.tame_ncard_fixedPoints_eq_two), and the stabilizers Dickson.pairStabilizer of the resulting pairs are cyclic with normalizers of index at most 2. Counting elements (Dickson.orbitPartitionData) yields the classical constraint ∑ i, (1 - 1/dᵢ) ≤ 2 (1 - 1/n) on at most three "partition types", whose solutions (r1Solution, r2Solutions, r3SolutionsUnsorted) correspond exactly to the cyclic, dihedral, A₄, S₄ and A₅ cases, recognised via the cyclic-partition machinery of FLT.Slop.PGL2.FiniteSubgroups.CyclicPartition.

Imports (6)
Imported by 2 files
  1. theorem Dickson.tame_ncard_fixedPoints_eq_two line 57 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Ne and 4 more

    Proof uses: Nat.Coprime, orderOf, Eq.mpr, id, congrArg, propext, Nat.Prime.coprime_iff_not_dvd, Fact.out, mt, Dvd.dvd.trans, Subtype.mk, Subgroup.orderOf_coe, orderOf_dvd_natCard, IsOfFinOrder, And, LT.lt, HPow.hPow, Exists, Iff.mp, isOfFinOrder_iff_pow_eq_one and 8 more

    65 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  2. def Dickson.pairStabilizer The subgroup of G consisting of the elements that fix both x and y on the projective line line 75 source

    Source documentation

    The subgroup of G consisting of the elements that fix both x and y on the projective line.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, Matrix, Subgroup.center, Dickson.ProjectiveLine, Subtype, Membership.mem

    Proof uses: Subgroup.mk, Submonoid.mk, Subsemigroup.mk, Set.ofPred, And, Eq, HSMul.hSMul

    43 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

    def pairStabilizer (G : Subgroup (PGLOf (K p))) (x y : ProjectiveLine p) : Subgroup G where
    …

    Mentions: Dickson.PGLOf, Dickson.K, Dickson.ProjectiveLine

  3. lemma Dickson.fixedPoints_determined line 85 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Ne and 7 more

    Proof uses: Set.ncard, Dickson.tame_ncard_fixedPoints_eq_two, Exists, And, Iff.mp, Set.ncard_eq_two, Eq.mpr, id, congrArg, Eq.symm, Or, Eq.mp, propext, Set.mem_singleton_iff, Set.mem_insert_iff, False.elim, rfl, Eq.refl, Set.pair_comm

    57 instances, coercions and auxiliary constants left out.

    Tactic trace: 25 steps

    Open to load the checked before-and-after goal states.

  4. lemma Dickson.commute_of_fixedPair line 111 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Dickson.ProjectiveLine, Ne, Eq, HSMul.hSMul, Commute

    Proof uses: HasQuotient.Quotient, Exists, QuotientGroup.mk_surjective, Quot.ind, projectivizationSetoid, Quot.mk, Subtype.mk, Projectivization, Projectivization.mk, Matrix.mulVec, id, RingHom.id, MonoidHom, Module.End, DistribMulAction.toModuleEnd, Units, Eq.mp, congrArg, propext, Projectivization.mk_eq_mk_iff and 64 more

    161 instances, coercions and auxiliary constants left out.

    Tactic trace: 43 steps

    Open to load the checked before-and-after goal states.

  5. lemma Dickson.scalar_eq_one_in_PGL line 163 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, Dickson.K, ZMod, Dickson.ProjectiveLine, Ne, Eq, Matrix.mulVec, Matrix, Projectivization.rep, HSMul.hSMul, HasQuotient.Quotient, Subgroup, Subgroup.center

    Proof uses: Eq.mpr, Membership.mem, id, congrArg, propext, QuotientGroup.eq_one_iff, HMul.hMul, Subgroup.mem_center_iff, LinearEquiv.injective, LinearMap, RingHom.id, Matrix.toLin', LinearEquiv, LinearMap.ext_iff, Submodule, Submodule.span, Set.range, Nat.succ, Matrix.vecCons, Matrix.vecEmpty and 48 more

    169 instances, coercions and auxiliary constants left out.

    Tactic trace: 29 steps

    Open to load the checked before-and-after goal states.

  6. lemma Dickson.exists_unique_normalizedLift line 202 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Dickson.PGLOf, Dickson.K, ZMod, Dickson.ProjectiveLine, Eq, HSMul.hSMul, ExistsUnique, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, And, HasQuotient.Quotient, Subgroup, Matrix, Subgroup.center, Matrix.mulVec, Projectivization.rep

    Proof uses: Exists, Matrix.det, HMul.hMul, Matrix.GeneralLinearGroup.mkOfDetNeZero, Eq.mpr, Ne, id, congrArg, one_ne_zero, Membership.mem, Eq.symm, propext, QuotientGroup.eq_one_iff, Iff.mp, Subgroup.mem_center_iff, Trans.trans, rfl, Units, Units.val_mul, Eq.refl and 103 more

    189 instances, coercions and auxiliary constants left out.

    Tactic trace: 104 steps

    Open to load the checked before-and-after goal states.

  7. lemma Dickson.pairStabilizer_isCyclic line 330 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Dickson.ProjectiveLine, Ne, IsCyclic, Dickson.pairStabilizer

    Proof uses: Exists, And, Eq, HasQuotient.Quotient, Matrix.mulVec, Projectivization.rep, ExistsUnique, Dickson.exists_unique_normalizedLift, And.right, HSMul.hSMul, Subtype.property, Exists.intro, And.intro, Projectivization, Projectivization.mk, Projectivization.rep_nonzero, Eq.mpr, id, congrArg, Projectivization.mk_rep and 43 more

    158 instances, coercions and auxiliary constants left out.

    Tactic trace: 55 steps

    Open to load the checked before-and-after goal states.

  8. lemma Dickson.disjoint_fixedPairs line 406 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Dickson.ProjectiveLine and 7 more

    Proof uses: Function.fixedPoints, Set.ncard, Dickson.fixedPoints, Dickson.tame_ncard_fixedPoints_eq_two, Exists, And, Iff.mp, Set.ncard_eq_two, Eq.mpr, id, congrArg, Or, Eq.mp, propext, Set.mem_singleton_iff, Set.mem_insert_iff, absurd, rfl, Eq.refl, Set.ext and 5 more

    57 instances, coercions and auxiliary constants left out.

    Tactic trace: 23 steps

    Open to load the checked before-and-after goal states.

  9. lemma Dickson.normalizer_permutes_pair line 436 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Dickson.ProjectiveLine and 8 more

    Proof uses: Set, Dickson.fixedPoints, Insert.insert, Singleton.singleton, Dickson.fixedPoints_determined, Subtype.property, Subtype.ext, And.left, And.right, HMul.hMul, Inv.inv, Iff.mp, Iff, Subgroup.mem_normalizer_iff, Eq.mpr, id, congrArg, Eq.symm, one_smul, inv_mul_cancel and 13 more

    74 instances, coercions and auxiliary constants left out.

    Tactic trace: 28 steps

    Open to load the checked before-and-after goal states.

  10. lemma Dickson.normalizer_pairStabilizer_index_le_two line 475 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Dickson.ProjectiveLine and 7 more

    Proof uses: Or, And, Eq, HSMul.hSMul, Dickson.normalizer_permutes_pair, dite, HasQuotient.Quotient, Quot.ind, QuotientGroup.leftRel, Quot.mk, Or.inl, Iff.mpr, QuotientGroup.eq_one_iff, Or.inr, HMul.hMul, Inv.inv, QuotientGroup.eq, Eq.mpr, id, congrArg and 34 more

    95 instances, coercions and auxiliary constants left out.

    Tactic trace: 42 steps

    Open to load the checked before-and-after goal states.

  11. lemma Dickson.mem_pairStabilizer_of_ne_one line 527 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Ne and 4 more

    Proof uses: Eq, Set, Dickson.fixedPoints, Insert.insert, Singleton.singleton, Iff.mp, Set.ncard, Set.ncard_eq_two, Dickson.tame_ncard_fixedPoints_eq_two, Subtype.property, Subtype.ext, Exists.intro, And.intro, HSMul.hSMul, Eq.mpr, id, congrArg, Set.mem_insert, Set.mem_insert_of_mem, Set.mem_singleton

    53 instances, coercions and auxiliary constants left out.

    Tactic trace: 6 steps

    Open to load the checked before-and-after goal states.

  12. lemma Dickson.pairStabilizer_conj line 540 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Dickson.ProjectiveLine, Eq, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom and 4 more

    Proof uses: Subgroup.ext, Iff.intro, And, Set, HMul.hMul, Inv.inv, Eq.mpr, id, congrArg, Subgroup.coe_mul, Subgroup.coe_inv, SemigroupAction.mul_smul, inv_smul_smul, Eq.refl, And.intro, And.left, And.right, Exists.intro, Eq.symm, mul_assoc and 3 more

    83 instances, coercions and auxiliary constants left out.

    Tactic trace: 13 steps

    Open to load the checked before-and-after goal states.

  13. lemma Dickson.conjugate_pairStabilizer_disjoint line 565 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Exists and 12 more

    Proof uses: HSMul.hSMul, Eq.mpr, Inv.inv, id, congrArg, Eq.symm, inv_smul_smul, Eq.refl, Dickson.pairStabilizer_conj, Decidable.byContradiction, False, HMul.hMul, Subgroup.ext, Iff.intro, by_contra, Exists.intro, And.intro, Eq.rec, Subgroup.one_mem, Set and 19 more

    95 instances, coercions and auxiliary constants left out.

    Tactic trace: 40 steps

    Open to load the checked before-and-after goal states.

  14. lemma Dickson.classEquation_nat_to_rat line 619 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fin, GE.ge, OfNat.ofNat, Dvd.dvd, HMul.hMul, Eq, HSub.hSub, Finset.sum, Finset.univ, HDiv.hDiv, Rat

    Proof uses: Ne, ne_of_gt, Iff.mpr, LT.lt, Nat.cast_pos', lt_of_lt_of_le, inferInstance, PartialOrder, Zero, Mathlib.Meta.Positivity.pos_of_isNat, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Nat.ble, Eq.mpr, id, congrArg, sub_div, div_self, Eq.symm and 21 more

    119 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

    Open to load the checked before-and-after goal states.

  15. lemma Dickson.normalizer_card_eq_index_mul line 639 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Subgroup, Eq, Nat, Nat.card, Subtype, Membership.mem, Subgroup.normalizer, HMul.hMul, Subgroup.index, Subgroup.subgroupOf

    Proof uses: Nat.card_congr, Equiv.mk, Subtype.mk, Subtype.property, Subgroup.le_normalizer, rfl, Eq.mpr, id, congrArg, Eq.symm, Subgroup.index_mul_card

    13 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  16. lemma Dickson.finQuotientReps line 651 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fintype, Setoid, Exists, Nat, Fin, And, Eq

    Proof uses: Equiv, Quotient, Fintype.card, HasEquiv.Equiv, Fintype.equivFin, Exists.intro, Quotient.out, Equiv.symm, And.intro, Quotient.mk, id, Eq.mpr, congrArg, Equiv.symm_apply_apply, Setoid.symm, Quotient.exact, Quotient.out_eq, Equiv.injective, Eq.trans, Eq.symm and 1 more

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  17. lemma Dickson.orbitPartitionConstruction line 668 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, OfNat.ofNat, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Nontrivial, Exists and 10 more

    Proof uses: Exists.intro, MonoidHom.id, MonoidHom.ext, Subtype.ext, HMul.hMul, Inv.inv, rfl, Eq.mpr, id, congrArg, inv_one, one_mul, mul_one, Eq.refl, Subgroup.map_id, MonoidHom.comp, Subgroup.map_map, inv_inv, Eq.symm, mul_assoc and 14 more

    84 instances, coercions and auxiliary constants left out.

    Tactic trace: 38 steps

    Open to load the checked before-and-after goal states.

  18. lemma Dickson.orbitPartitionData line 728 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Nontrivial and 21 more

    Proof uses: Dickson.ProjectiveLine, Dickson.pairStabilizer, Dickson.orbitPartitionConstruction, Subgroup.index, Subgroup.subgroupOf, id, Eq.mpr, Fintype.card, congrArg, Nat.card_eq_fintype_card, Fintype.one_lt_card, Dickson.conjugate_pairStabilizer_disjoint, Exists.intro, And.intro, rfl, Eq.symm, Dickson.mem_pairStabilizer_of_ne_one, nontrivial_of_ne, Subtype.mk, Dickson.pairStabilizer_isCyclic and 20 more

    113 instances, coercions and auxiliary constants left out.

    Tactic trace: 40 steps

    Open to load the checked before-and-after goal states.

  19. lemma Dickson.r1Solution line 811 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, GE.ge, OfNat.ofNat, Or, Eq, Dvd.dvd, HMul.hMul, Rat, HDiv.hDiv, HSub.hSub, And

    Proof uses: And.intro, Iff.mp, Nat.cast_inj, Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt, Not.intro, LT.lt, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, HAdd.hAdd, congrArg, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.Common.add_congr, HPow.hPow, Inv.inv, Nat.rawCast, Int.rawCast, inferInstance, Ring, Int.negOfNat, Mathlib.Meta.NormNum.instAddMonoidWithOne and 104 more

    143 instances, coercions and auxiliary constants left out.

    Tactic trace: 28 steps

    Open to load the checked before-and-after goal states.

  20. lemma Dickson.r2Solutions line 839 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fin, OfNat.ofNat, Nat, GE.ge, Or, Eq, Dvd.dvd, HMul.hMul, Rat, Finset.sum, Finset.univ, HDiv.hDiv, HSub.hSub, Exists, And, Ne

    Proof uses: HAdd.hAdd, Eq.mp, congrArg, Fin.sum_univ_two, ne_of_gt, Iff.mpr, LT.lt, Nat.cast_pos', lt_of_lt_of_le, inferInstance, PartialOrder, Zero, Mathlib.Meta.Positivity.pos_of_isNat, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Nat.ble, Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt, Not.intro, Mathlib.Tactic.Linarith.lt_irrefl and 152 more

    206 instances, coercions and auxiliary constants left out.

    Tactic trace: 163 steps

    Open to load the checked before-and-after goal states.

  21. lemma Dickson.r3SolutionsUnsorted line 960 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fin, OfNat.ofNat, Nat, GE.ge, Eq, Rat, Finset.sum, Finset.univ, HDiv.hDiv, HAdd.hAdd, Or, Exists, Equiv.Perm, And, HMul.hMul

    Proof uses: LE.le, le_total, Exists.intro, And.intro, Equiv.swap, id, Equiv, Equiv.sum_comp, Eq.trans, Eq.mp, congrArg, Fin.sum_univ_three, le_antisymm, by_contra, Not, Trans.trans, rfl, add_le_add, le_refl, div_le_div₀ and 131 more

    172 instances, coercions and auxiliary constants left out.

    Tactic trace: 128 steps

    Open to load the checked before-and-after goal states.

  22. lemma Dickson.dihedral2_of_hasCyclicPartition line 1052 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Eq, Nat, Nat.card, OfNat.ofNat, Dickson.HasCyclicPartition, List.cons, Dickson.CyclicPartitionConfig, Dickson.CyclicPartitionConfig.mk, List.nil, Nonempty, MulEquiv, DihedralGroup

    Proof uses: List, Subgroup, And, List.length, Fin, Exists, Option, GetElem?.getElem?, LT.lt, Option.some, List.get, IsCyclic, Subtype, Membership.mem, Dickson.CyclicPartitionConfig.d, Subgroup.normalizer, HMul.hMul, Dickson.CyclicPartitionConfig.f, Set, Set.ofPred and 108 more

    144 instances, coercions and auxiliary constants left out.

    Tactic trace: 57 steps

    Open to load the checked before-and-after goal states.

  23. lemma Dickson.r2CaseOdd line 1112 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Nat, GE.ge, OfNat.ofNat, Eq, Nat.card, HMul.hMul, Subgroup, IsCyclic, Subtype, Membership.mem, Subgroup.normalizer, Min.min, Bot.bot, Odd

    Proof uses: Decidable.byContradiction, Not, Exists, False, Exists.intro, HDiv.hDiv, Eq.mp, HMod.hMod, congrArg, propext, Nat.odd_iff, Subgroup.zpowers, IsCyclic.exists_generator, Subgroup.ext, Iff.intro, Int, HPow.hPow, Iff.mp, Subgroup.mem_zpowers_iff, Eq.rec and 154 more

    171 instances, coercions and auxiliary constants left out.

    Tactic trace: 128 steps

    Open to load the checked before-and-after goal states.

  24. lemma Dickson.r3D233Contradiction line 1246 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Eq, Nat, Nat.card, OfNat.ofNat, Subgroup, Subtype, Membership.mem, Subgroup.normalizer, False

    Proof uses: Sylow, LE.le, Exists, IsPGroup.exists_le_sylow, IsPGroup, Exists.intro, HPow.hPow, id, Eq.mpr, congrArg, Eq.symm, Fintype.card, Nat.card_eq_fintype_card, pow_card_eq_one, SetLike.ext', Set.eq_of_subset_of_ncard_le, Set.ncard, Finsupp, Nat.factorization, Sylow.card_eq_multiplicity and 24 more

    46 instances, coercions and auxiliary constants left out.

    Tactic trace: 16 steps

    Open to load the checked before-and-after goal states.

  25. lemma Dickson.buildPartition_r1 line 1270 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Subgroup, IsCyclic, Subtype, Membership.mem, Eq, Nat, Nat.card, Subgroup.normalizer, HMul.hMul, OfNat.ofNat, Exists, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom, MulAut, MulAut.conj, Ne, Min.min and 7 more

    Proof uses: Exists.intro, List, List.length, Fin, Option, GetElem?.getElem?, LT.lt, Option.some, List.get, Dickson.CyclicPartitionConfig.d, Dickson.CyclicPartitionConfig.f, Set, Set.ofPred, And.intro, rfl, List.Mem, List.finRange, HEq, Finset, Fintype.elems and 13 more

    63 instances, coercions and auxiliary constants left out.

    Tactic trace: 17 steps

    Open to load the checked before-and-after goal states.

  26. lemma Dickson.buildPartition_r2_dihedral line 1293 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Subgroup, Nat, IsCyclic, Subtype, Membership.mem, Eq, Nat.card, OfNat.ofNat, Subgroup.normalizer, HMul.hMul, Exists, Fin, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom, MulAut, MulAut.conj, Matrix.vecCons and 11 more

    Proof uses: Exists.intro, List, List.length, Option, GetElem?.getElem?, LT.lt, Option.some, List.get, Dickson.CyclicPartitionConfig.d, Dickson.CyclicPartitionConfig.f, Set, Set.ofPred, And.intro, rfl, Unit, List.Mem, List.finRange, HEq, Finset, Fintype.elems and 16 more

    60 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

    Open to load the checked before-and-after goal states.

  27. lemma Dickson.buildPartition_r2_A4 line 1322 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Subgroup, IsCyclic, Subtype, Membership.mem, Eq, Nat, Nat.card, OfNat.ofNat, Subgroup.normalizer, Exists, Fin, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom, MulAut, MulAut.conj, Matrix.vecCons, Nat.succ and 10 more

    Proof uses: Exists.intro, List, List.length, Option, GetElem?.getElem?, LT.lt, Option.some, List.get, Dickson.CyclicPartitionConfig.d, HMul.hMul, Dickson.CyclicPartitionConfig.f, Set, Set.ofPred, And.intro, rfl, Unit, List.Mem, List.finRange, HEq, Finset and 17 more

    58 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

    Open to load the checked before-and-after goal states.

  28. lemma Dickson.buildPartition_r3_evenDihedral line 1351 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Subgroup, Nat, IsCyclic, Subtype, Membership.mem, Eq, Nat.card, OfNat.ofNat, Subgroup.normalizer, HMul.hMul, Exists, Fin, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom, MulAut, MulAut.conj, Matrix.vecCons and 11 more

    Proof uses: Exists.intro, List, List.length, Option, GetElem?.getElem?, LT.lt, Option.some, List.get, Dickson.CyclicPartitionConfig.d, Dickson.CyclicPartitionConfig.f, Set, Set.ofPred, And.intro, rfl, Unit, List.Mem, List.finRange, HEq, Finset, Fintype.elems and 18 more

    65 instances, coercions and auxiliary constants left out.

    Tactic trace: 29 steps

    Open to load the checked before-and-after goal states.

  29. lemma Dickson.buildPartition_r3_exceptional line 1384 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Fintype, Subgroup, Nat, IsCyclic, Subtype, Membership.mem, Eq, Nat.card, Subgroup.normalizer, HMul.hMul, OfNat.ofNat, Exists, Fin, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom, MulAut, MulAut.conj, Matrix.vecCons and 11 more

    Proof uses: Exists.intro, List, List.length, Option, GetElem?.getElem?, LT.lt, Option.some, List.get, Dickson.CyclicPartitionConfig.d, Dickson.CyclicPartitionConfig.f, Set, Set.ofPred, And.intro, rfl, Unit, List.Mem, List.finRange, HEq, Finset, Fintype.elems and 16 more

    60 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

    Open to load the checked before-and-after goal states.

  30. lemma Dickson.termLowerBound line 1414 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, GE.ge, OfNat.ofNat, Or, Eq, LE.le, Rat, HDiv.hDiv, HMul.hMul, HSub.hSub

    Proof uses: Trans.trans, Mathlib.Meta.NormNum.isRat_le_true, Int.ofNat, Mathlib.Meta.NormNum.IsNNRat.to_isRat, Mathlib.Meta.NormNum.isNNRat_div, Mathlib.Meta.NormNum.isNNRat_mul, Inv.inv, Eq.refl, Mathlib.Meta.NormNum.IsNat.to_isNNRat, Mathlib.Meta.NormNum.isNat_ofNat, Mathlib.Meta.NormNum.isNNRat_inv_pos, Nat.mul, Mathlib.Meta.NormNum.IsNNRat.to_isNat, Mathlib.Meta.NormNum.isNat_mul, Mathlib.Meta.NormNum.IsRat.to_isNNRat, Mathlib.Meta.NormNum.isRat_sub, Int, Bool, Bool.true, mul_le_mul_of_nonneg_left and 10 more

    76 instances, coercions and auxiliary constants left out.

    Tactic trace: 11 steps

    Open to load the checked before-and-after goal states.

  31. lemma Dickson.numTerms_le_three line 1424 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fin, GE.ge, OfNat.ofNat, Or, Eq, Rat, Finset.sum, Finset.univ, HMul.hMul, HDiv.hDiv, HSub.hSub, LE.le

    Proof uses: Decidable.byContradiction, Not, lt_irrefl, Trans.trans, LT.lt, Mathlib.Meta.NormNum.isNat_eq_true, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Mathlib.Meta.NormNum.IsNNRat.to_isNat, Mathlib.Meta.NormNum.isNNRat_mul, Mathlib.Meta.NormNum.IsNat.to_isNNRat, Mathlib.Meta.NormNum.isNNRat_div, Inv.inv, Mathlib.Meta.NormNum.isNNRat_inv_pos, Nat.mul, mul_le_mul_of_nonneg_right, Iff.mpr, Nat.cast_le, Eq.mp, le_of_lt and 24 more

    103 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

    Open to load the checked before-and-after goal states.

  32. lemma Dickson.r3_allF_eq_two line 1439 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fin, OfNat.ofNat, Nat, GE.ge, Or, Eq, Rat, Finset.sum, Finset.univ, HMul.hMul, HDiv.hDiv, HSub.hSub

    Proof uses: False.elim, lt_irrefl, Trans.trans, LE.le, LT.lt, HAdd.hAdd, Finset.erase, Finset.card, Mathlib.Meta.NormNum.isNat_eq_true, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Mathlib.Meta.NormNum.IsNNRat.to_isNat, Mathlib.Meta.NormNum.isNNRat_add, Mathlib.Meta.NormNum.isNNRat_mul, Mathlib.Meta.NormNum.IsNat.to_isNNRat, Mathlib.Meta.NormNum.isNNRat_div, Inv.inv, Mathlib.Meta.NormNum.isNat_mul, Mathlib.Meta.NormNum.isNNRat_inv_pos, Mathlib.Meta.NormNum.IsRat.to_isNNRat and 46 more

    115 instances, coercions and auxiliary constants left out.

    Tactic trace: 16 steps

    Open to load the checked before-and-after goal states.

  33. lemma Dickson.tame_hasCyclicPartition line 1474 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Nontrivial and 13 more

    Proof uses: IsCyclic, Subgroup.normalizer, Subgroup.map, MulEquiv.toMonoidHom, MonoidHom, MulAut, MulAut.conj, Ne, Min.min, Bot.bot, Rat, Finset.sum, Finset.univ, HDiv.hDiv, HSub.hSub, Dickson.orbitPartitionData, Eq.mpr, Fintype.card, id, congrArg and 218 more

    248 instances, coercions and auxiliary constants left out.

    Tactic trace: 166 steps

    Open to load the checked before-and-after goal states.

  34. theorem Dickson.classification_tame_slop line 1641 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime, GT.gt, OfNat.ofNat, Subgroup, Dickson.PGLOf, Dickson.K, ZMod, Matrix.GeneralLinearGroup, Fin, Matrix, Subgroup.center, Fintype, Subtype, Membership.mem, Not, Dvd.dvd, Nat.card, Nontrivial and 10 more

    Proof uses: Eq, Dickson.HasCyclicPartition, List.cons, Dickson.CyclicPartitionConfig, Dickson.CyclicPartitionConfig.mk, List.nil, Odd, HMul.hMul, Even, Dickson.tame_hasCyclicPartition, Or.inl, Dickson.isCyclic_of_hasCyclicPartition, Or.inr, Exists.intro, And.intro, Decidable.byContradiction, Dickson.dihedral_of_hasCyclicPartition_odd, Ne, eq_or_ne, Dickson.dihedral2_of_hasCyclicPartition and 6 more

    69 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

    Open to load the checked before-and-after goal states.