feat(GroupTheory): summation over a conjugacy class - #41326
Conversation
PR summary 83865bda6fImport changes exceeding 2%
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.Algebra.Group.Conj | 361 | 377 | +16 (+4.43%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.Algebra.Group.Conj Mathlib.Algebra.GroupWithZero.Conj |
16 |
Declarations diff (regex)
+ invOn_conj
+ isConj_inv_mul_mul_left
+ isConj_inv_mul_mul_right
+ isConj_mul_mul_inv_left
+ isConj_mul_mul_inv_right
+ mapsTo_conj
+ mk_conj
+ mk_conj_assoc
+ mk_inv_conj
+ mk_inv_conj_assoc
+ prod_carrier_conj
+ prod_carrier_mul_left
You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>
## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.
Declarations diff (Lean)
✅ Lean-aware diff — post-build, computed from the Lean environment (commit
83865bd).
- +24 new declarations
- −0 removed declarations
+AddConjClasses.mapsTo_addConj
+AddConjClasses.mk_addConj
+AddConjClasses.mk_addConj_assoc
+AddConjClasses.mk_neg_addConj
+AddConjClasses.mk_neg_addConj_assoc
+AddConjClasses.negOn_addConj
+ConjClasses.invOn_conj
+ConjClasses.mapsTo_conj
+ConjClasses.mk_conj
+ConjClasses.mk_conj_assoc
+ConjClasses.mk_inv_conj
+ConjClasses.mk_inv_conj_assoc
+ConjClasses.prod_carrier_conj
+ConjClasses.prod_carrier_mul_left
+ConjClasses.sum_carrier_conj
+ConjClasses.sum_carrier_mul_left
+isAddConj_add_add_neg_left
+isAddConj_add_add_neg_right
+isAddConj_neg_add_add_left
+isAddConj_neg_add_add_right
+isConj_inv_mul_mul_left
+isConj_inv_mul_mul_right
+isConj_mul_mul_inv_left
+isConj_mul_mul_inv_rightNo changes to strong technical debt.
No changes to weak technical debt.
Current commit 83865bda6f
Reference commit bfefa91d21
This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
Co-authored-by: Weiyi Wang <wwylele@gmail.com>
wwylele
left a comment
There was a problem hiding this comment.
Otherwise looks good to me
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
| simp [mk_eq_mk_iff_isConj] | ||
|
|
||
| @[to_additive] | ||
| theorem mapsTo_conj {α : Type*} [Group α] (k : α) (c : ConjClasses α) : |
There was a problem hiding this comment.
Should I inline this lemma? (I am referring to mapsTo_conj)
There was a problem hiding this comment.
It's much easier for me to answer if you make a multiline comment including the statement!
There was a problem hiding this comment.
I would say you should replace the InjOn and BijOn lemmas by a single InvOn one
There was a problem hiding this comment.
Ah, sure I'll do multiline next time. And thanks for your advice, implemented!
(I kept the MapsTo lemma though, as it is needed in Finset.prod_nbij and can't be derived from InvOn)
There was a problem hiding this comment.
I kept the
MapsTolemma though, as it is needed inFinset.prod_nbijand can't be derived fromInvOn
This seems bad. Mathematically it should, right? Can you complain on Zulip that the definition of InvOn is wrong?
There was a problem hiding this comment.
lol, sure! (Zulip link: #mathlib4 > Should Set.InvOn imply Set.MapsTo?)
There was a problem hiding this comment.
For now, can you strengthen this to BijOn?
There was a problem hiding this comment.
No problem ;)
(I'm a bit busy this week, will get back to you as soon as possible)
|
Don't forget to resolve the comments that you have satisfactorily addressed! |
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
| lemma mk_conj {α : Type*} [Group α] (m x : α) : | ||
| ConjClasses.mk (m * x * m⁻¹) = ConjClasses.mk x := by |
There was a problem hiding this comment.
Can you use the same naming convention here and below? You can prime the reassociated lemmas to disambiguate
This PR proves
ConjClasses.sum_carrier_mul_left: Summingf (g * h)overhin the conjugacy class ofgequals summingf (h * g).This result can potentially help prove, for example,
∑ h ∈ (ConjClasses.mk g).carrier, ρ his intertwining in the settings of representation theory.