Skip to content

Conversation

@ybenmeur
Copy link
Collaborator

@ybenmeur ybenmeur commented Feb 21, 2025

Proves Tannaka duality for finite groups.


Open in Gitpod

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Feb 21, 2025
@github-actions
Copy link

github-actions bot commented Feb 21, 2025

PR summary 8db35b4205

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ equiv
+ equivHom_surjective
+ leftRegularFDRepHom
+ ofRightFDRep
+ sumSMulInv
+ sumSMulInv_single_id
+ toRightFDRepComp_in_rightRegular
+ toRightFDRepComp_injective

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions github-actions bot added the t-algebra Algebra (groups, rings, fields, etc) label Feb 21, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Feb 21, 2025
@jcommelin
Copy link
Member

Hi! It's really cool to see this formalized. Note that your entire proof works verbatim over domains, and mostly even over (nontrivial) commutative rings.
I've just created #22235 for the generalization of FDRep.

See 80f3a63 for the generalization.

ybenmeur added a commit that referenced this pull request Feb 24, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 25, 2025
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 28, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 8, 2025
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 28, 2025
Comment on lines +164 to +165
lemma sumSMulInv_single_id [Fintype G] [DecidableEq G] {X : FDRep k G} (v : X) :
∑ s : G, (single 1 1 : G → k) s • (X.ρ s⁻¹) v = v := by
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are you not using sumSMulInv for the LHS? And can you use Fintype.sum_eq_single in the proof?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because sumSMulInv is tagged simps. I just tried untagging it and it was slightly worse in my opinion.

apply congrArg f
exact mul_assoc ..

lemma toRightFDRepComp_in_rightRegular [IsDomain k] (η : Aut (forget k G)) :
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to myself: as commented in a previous PR, this works for an "indecomposable (commutative) semiring" k (a typeclass I'm about to introduce). TODO: allow Semiring in FDRep.

ybenmeur added a commit that referenced this pull request May 1, 2025
Copy link
Contributor

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🎉
maintainer delegate

Comment on lines 157 to 160
map_add' _ _ := by
simp [add_smul, sum_add_distrib]
map_smul' _ _ := by
simp [smul_sum, smul_smul]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
map_add' _ _ := by
simp [add_smul, sum_add_distrib]
map_smul' _ _ := by
simp [smul_sum, smul_smul]
map_add' _ _ := by simp [add_smul, sum_add_distrib]
map_smul' _ _ := by simp [smul_sum, smul_smul]

have h1 := η₁.hom.hom.naturality (ofRightFDRep X v)
have h2 := η₂.hom.hom.naturality (ofRightFDRep X v)
rw [h, ← h2] at h1
simpa using congr(Hom.hom $h1 (single 1 1))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
simpa using congr(Hom.hom $h1 (single 1 1))
simpa using congr(($h1).hom (single 1 1))

(untested, you might also try without the parentheses)

_ = (η.hom.hom.app rightFDRep).hom (leftRegular t⁻¹ (single u 1)) 1 :=
congrFun congr((Hom.hom $nat (single u 1))).symm 1
_ = evalAlgHom _ _ s (leftRegular t⁻¹ (single u 1)) :=
congr($hs ((leftRegular t⁻¹) (single u 1)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
congr($hs ((leftRegular t⁻¹) (single u 1)))
congr($hs (leftRegular t⁻¹ (single u 1)))

calc
_ = leftRegular t⁻¹ ((η.hom.hom.app rightFDRep).hom (single u 1)) 1 := by simp
_ = (η.hom.hom.app rightFDRep).hom (leftRegular t⁻¹ (single u 1)) 1 :=
congrFun congr((Hom.hom $nat (single u 1))).symm 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
congrFun congr((Hom.hom $nat (single u 1))).symm 1
congr(($nat.symm).hom (single u 1) 1)

(untested)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For some reason this one doesn't work without congrFun. It was also the case when I was using apply_fun.

Comment on lines 214 to 215
_ = _ := by
by_cases u = t * s <;> simp_all [single_apply]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
_ = _ := by
by_cases u = t * s <;> simp_all [single_apply]
_ = _ := by by_cases u = t * s <;> simp_all [single_apply]

Copy link
Contributor

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🎉
maintainer delegate

@github-actions
Copy link

github-actions bot commented May 2, 2025

🚀 Pull request has been placed on the maintainer queue by alreadydone.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label May 2, 2025
@github-actions
Copy link

github-actions bot commented May 2, 2025

🚀 Pull request has been placed on the maintainer queue by alreadydone.

@riccardobrasca
Copy link
Member

@erdOne can you also have a look at #23066 (that is a prerequisite to this one)? Thanks!

@ybenmeur
Copy link
Collaborator Author

ybenmeur commented May 2, 2025

@riccardobrasca #23066 is just the first half of this PR. It was just split to make reviewing potentially easier. I removed the dependency.

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label May 2, 2025
@mathlib4-dependent-issues-bot
Copy link
Collaborator

This PR/issue depends on:

@riccardobrasca
Copy link
Member

Thanks!

bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented May 2, 2025

✌️ ybenmeur can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels May 2, 2025
@ybenmeur
Copy link
Collaborator Author

ybenmeur commented May 2, 2025

bors r+

mathlib-bors bot pushed a commit that referenced this pull request May 2, 2025
Proves Tannaka duality for finite groups.

- [x] depends on: #23065



Co-authored-by: Johan Commelin <[email protected]>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented May 2, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: Tannaka duality for finite groups [Merged by Bors] - feat: Tannaka duality for finite groups May 2, 2025
@mathlib-bors mathlib-bors bot closed this May 2, 2025
@mathlib-bors mathlib-bors bot deleted the yb_tannaka3 branch May 2, 2025 16:12
pfaffelh pushed a commit that referenced this pull request May 2, 2025
Proves Tannaka duality for finite groups.

- [x] depends on: #23065



Co-authored-by: Johan Commelin <[email protected]>
riccardobrasca pushed a commit that referenced this pull request May 7, 2025
Proves Tannaka duality for finite groups.

- [x] depends on: #23065



Co-authored-by: Johan Commelin <[email protected]>
tannerduve pushed a commit that referenced this pull request May 13, 2025
Proves Tannaka duality for finite groups.

- [x] depends on: #23065



Co-authored-by: Johan Commelin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants