Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(GroupTheory/Complement): the equivalence and some corresponding lemmas #6899

Closed
wants to merge 11 commits into from

Conversation

ChrisHughes24
Copy link
Member


Open in Gitpod

Mathlib/GroupTheory/Complement.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Complement.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Complement.lean Outdated Show resolved Hide resolved
@YaelDillies YaelDillies added the t-algebra Algebra (groups, rings, fields etc) label Sep 2, 2023
Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

This is fine by me. Would anyone else like to review? @kbuzzard, you seem to know the maths?

· exact hST.equiv_snd_eq_self_of_mem_of_one_mem h1

theorem equiv_fst_eq_one_iff_mem {g : G} (h1 : 1 ∈ S) :
((hST.equiv g).fst : G) = 1 ↔ g ∈ T := by
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you have coe in the name somewhere to distinguish from the similar lemma that would talk about equality in the subtype?

Copy link
Member Author

Choose a reason for hiding this comment

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

I prefer to leave it, because the coe in the name feels like noise to me, but I'll change it anyway.

Mathlib/GroupTheory/Complement.lean Show resolved Hide resolved
@ChrisHughes24
Copy link
Member Author

ChrisHughes24 commented Sep 2, 2023

This is fine by me. Would anyone else like to review? @kbuzzard, you seem to know the maths?

I don't think there's a huge amount of maths to need to know here. For context, the motivation is that when defining normal forms for words in the amalgamated product or HNN extension, I need to choose a canonical element of each coset of a subgroup that's involved in some quotient I'm doing. And the canconical element of the subgroup itself has to be one.

Mostly I care about the case where one of the sets is a subgroup, but some lemmas are randomly true in other cases.

Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

I'm happy with what I'm seeing. And if you tell me there's not much to understand, I'm happy.

exact Subtype.prop _
· exact hST.equiv_fst_eq_self_of_mem_of_one_mem h1

theorem equiv_snd_eq_self_iff_mem {g : G} (h1 : 1 ∈ S) :
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
theorem equiv_snd_eq_self_iff_mem {g : G} (h1 : 1 ∈ S) :
theorem coe_equiv_snd_eq_self_iff_mem {g : G} (h1 : 1 ∈ S) :

hST.equiv 1 = (⟨1, hs1⟩, ⟨1, ht1⟩) := by
rw [Equiv.apply_eq_iff_eq_symm_apply]; simp [equiv]

theorem equiv_fst_eq_self_iff_mem {g : G} (h1 : 1 ∈ T) :
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
theorem equiv_fst_eq_self_iff_mem {g : G} (h1 : 1 ∈ T) :
theorem coe_equiv_fst_eq_self_iff_mem {g : G} (h1 : 1 ∈ T) :

Copy link
Member Author

Choose a reason for hiding this comment

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

There's no corresponding lemma without a coe here.

Comment on lines 356 to 357
theorem leftCosetEquivalence_iff_equiv_fst_eq {g₁ g₂ : G} :
LeftCosetEquivalence K g₁ g₂ ↔ (hSK.equiv g₁).fst = (hSK.equiv g₂).fst := by
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think the LHS is currently simpler than the RHS? What about turning it around and making it a simp lemma?

Copy link
Member Author

Choose a reason for hiding this comment

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

I swapped it, but I'm slightly nervous about simplifying away equalities which can be used for simplification elsewhere.

Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

maintainer merge

@github-actions
Copy link

github-actions bot commented Sep 3, 2023

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

@kmill
Copy link
Contributor

kmill commented Sep 3, 2023

Thanks!

bors r+

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review The author would like community review of the PR labels Sep 3, 2023
bors bot pushed a commit that referenced this pull request Sep 3, 2023
…lemmas (#6899)

Co-authored-by: Chris Hughes <33847686+ChrisHughes24@users.noreply.github.com>
@bors
Copy link

bors bot commented Sep 3, 2023

Pull request successfully merged into master.

Build succeeded!

The publicly hosted instance of bors-ng is deprecated and will go away soon.

If you want to self-host your own instance, instructions are here.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot changed the title feat(GroupTheory/Complement): the equivalence and some corresponding lemmas [Merged by Bors] - feat(GroupTheory/Complement): the equivalence and some corresponding lemmas Sep 3, 2023
@bors bors bot closed this Sep 3, 2023
@bors bors bot deleted the ComplementGroupChris branch September 3, 2023 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants