FLT/Slop/PGL2/FiniteSubgroups/NatClassEquation.lean
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
7 declarations, 0 contain sorry, 0 declared as axioms
A class-equation-style counting lemma for conjugates of subgroups
This file proves Dickson.natClassEquation: if H₁, …, Hᵣ are subgroups of a finite
group G which pairwise intersect trivially (along with all their conjugates), then
counting the nonidentity elements lying in conjugates of the Hᵢ gives the inequality
∑ i, (|Hᵢ| - 1) * |G : N_G(Hᵢ)| ≤ |G| - 1.
This is the integer form of the counting argument underlying the partition equation
used in the tame case of Dickson's classification of finite subgroups of PGL₂(𝔽̄_p).
Imported by 2 files
- lemma
Dickson.card_conjugates_eq_normalizer_indexline 47 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Subgroup,Eq,Nat,Fintype.card,Set.ofPred,Exists,Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Membership.mem,Set,Subgroup.index,Subgroup.normalizerProof uses:
Eq.mpr,Nat.card,HasQuotient.Quotient,id,congrArg,Subgroup.index_eq_card,Eq.symm,Nat.card_eq_fintype_card,Nat.card_congr,Equiv.symm,Equiv.ofBijective,Subtype.mk,Quotient.out,QuotientGroup.leftRel,Exists.intro,rfl,And.intro,Function.Injective,Function.Surjective,QuotientGroup.out_eq'and 40 more87 instances, coercions and auxiliary constants left out.
Tactic trace: 51 steps
Open to load the checked before-and-after goal states.
- lemma
Dickson.conjClass_unique_indexline 112 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Nat,Fin,Subgroup,Exists,Eq,Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Ne,Min.min,Bot.bot,OfNat.ofNat,Membership.memProof uses:
Decidable.byContradiction,Not,Iff.mp,Iff,Subgroup.ext_iff,Exists.intro,rfl,And.intro,Set,Submonoid,Subgroup.toSubmonoid,HMul.hMul,Inv.inv,Subgroup.ext,Eq.mpr,And,id,congrFun',congrArg,Iff.introand 23 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 28 steps
Open to load the checked before-and-after goal states.
- def
Dickson.conjClassElementsThe finset of non-identity elements ofG'lying in some conjugate of the subgroupHline 156 sourceSource documentation
The finset of non-identity elements of
G'lying in some conjugate of the subgroupH.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Subgroup,FinsetProof uses:
Finset.filter,And,Ne,OfNat.ofNat,Exists,Membership.mem,Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Eq,Finset.univ19 instances, coercions and auxiliary constants left out.
def conjClassElements {G' : Type*} [Group G'] [Fintype G'] (H : Subgroup G') : Finset G' := … - def
Dickson.conjNonidentityThe finset of non-identity elements of the conjugate subgroupH.map (MulAut.conj g)line 163 sourceSource documentation
The finset of non-identity elements of the conjugate subgroup
H.map (MulAut.conj g).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Subgroup,FinsetProof uses:
Finset.filter,And,Ne,OfNat.ofNat,Membership.mem,Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Eq,Finset.univ18 instances, coercions and auxiliary constants left out.
def conjNonidentity {G' : Type*} [Group G'] [Fintype G'] (H : Subgroup G') (g : G') : Finset G' := … - lemma
Dickson.card_conjNonidentityline 169 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Subgroup,Eq,Nat,Finset.card, Dickson.conjNonidentity,HSub.hSub,Nat.card,Subtype,Membership.mem,OfNat.ofNatProof uses:
Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Finset,Finset.erase,Set.toFinset,Subsemigroup.carrier,Submonoid.toSubsemigroup,Subgroup.toSubmonoid,Set,Finset.ext,Eq.mpr,Iff,And,Not,id,congr,congrArgand 24 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
Dickson.card_conjClassElementsline 188 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Subgroup,GE.ge,Nat,Nat.card,Subtype,Membership.mem,OfNat.ofNat,Exists,Eq,Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Ne,Min.min,Bot.bot,Finset.cardand 5 moreProof uses:
Fintype.card,Set.ofPred,Set, Dickson.card_conjugates_eq_normalizer_index,Finset,Finset.filter,Finset.univ,Eq.mpr,Finset.biUnion,And,id,congrArg,Finset.ext,Iff,congr,Eq.trans,True,congrFun',true_and,funextand 33 more70 instances, coercions and auxiliary constants left out.
Tactic trace: 26 steps
Open to load the checked before-and-after goal states.
- lemma
Dickson.natClassEquationline 230 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Fintype,Nat,Fin,Subgroup,GE.ge,Nat.card,Subtype,Membership.mem,OfNat.ofNat,Exists,Eq,Subgroup.map,MulEquiv.toMonoidHom,MonoidHom,MulAut,MulAut.conj,Ne,Min.min,Bot.botand 7 moreProof uses:
Finset.card,Finset.filter, Dickson.conjClassElements,Eq.mpr,Finset.biUnion,id,congrArg,Eq.symm,Finset.card_biUnion,Set,Finset,Function.onFun,Disjoint,Not,Eq.trans,forall_congr,implies_congr,True,congrFun',true_andand 30 more69 instances, coercions and auxiliary constants left out.
Tactic trace: 31 steps
Open to load the checked before-and-after goal states.