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(group_theory/group_action/sub_mul_action): orbit and stabilizer lemmas #11899

Closed
wants to merge 5 commits into from

Conversation

AntoineChambert-Loir
Copy link
Collaborator

@AntoineChambert-Loir AntoineChambert-Loir commented Feb 7, 2022

Feat: add lemmas for stabilizer and orbit for sub_mul_action


Open in Gitpod

@AntoineChambert-Loir AntoineChambert-Loir added awaiting-review The author would like community review of the PR easy < 20s of review time. See the lifecycle page for guidelines. labels Feb 7, 2022
@jcommelin jcommelin changed the title init feat(group_theory/group_action/sub_mul_action): orbit and stabilizer lemmas Feb 7, 2022
Co-authored-by: Johan Commelin <johan@commelin.net>
Co-authored-by: Johan Commelin <johan@commelin.net>
Comment on lines 149 to 151
/-- Orbits in a `sub_mul_action` coincide with orbits in the ambient space. -/
lemma orbit_of_sub_mul {p : sub_mul_action R M} (m : p) :
(mul_action.orbit R m : set M) = mul_action.orbit R (m : M) := rfl
Copy link
Member

Choose a reason for hiding this comment

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

This lemma is a tautology, both sides are syntactically identical. Did you mean

lemma coe_image_orbit {p : sub_mul_action R M} (m : p) :
  coe '' mul_action.orbit R m = mul_action.orbit R (m : M) :=
(set.range_comp _ _).symm

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Actually, I meant what I had written, because at some point I felt it had to exist.
(It is not clear to me why the orbit, a member of (set p), is automatically viewed as a member of (set M).
Let me try to understand what you wrote.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

(I switched my lemma to yours, but it is not clear to me why the first one in syntactically obvious and not yours…)

Copy link
Member

Choose a reason for hiding this comment

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

(It is not clear to me why the orbit, a member of (set p), is automatically viewed as a member of (set M).

That's precisely the problem, that's not what you asked lean to do. When you write (mul_action.orbit R m : set M), that means "mul_action.orbit R m will be a term of type set M", from which the elaborator concludes "m must be a term of type M", and replaces it with ↑m".

My guess is that you thought you'd written something equivalent to (↑(mul_action.orbit R m) : set M),
Which doesn't work because no such automatic coercion exists

Copy link
Member

Choose a reason for hiding this comment

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

it is not clear to me why the first one in syntactically obvious and not yours

Put your cursor after the := in your original lemma. The goal view will show that both sides are already exactly the same.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

You taught me something about how Lean's elaborator “thinks”.
I really expected that seeing (mul_action.orbit R m : set M)', it would want to make (mul_action.orbit R m)' a member of `set M'.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Actually, I wrote this lemma by a mere desire of completing the square (If something is proven about stabilizer, something about orbits has to, and the lemma for orbits was the wrong one, as you observed!), but I don't think I had to use it.

@eric-wieser eric-wieser added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Feb 7, 2022
@AntoineChambert-Loir AntoineChambert-Loir added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Feb 7, 2022
@robertylewis robertylewis removed the easy < 20s of review time. See the lifecycle page for guidelines. label Feb 7, 2022
@eric-wieser
Copy link
Member

You seem to have removed the --- from the PR description, which separates what bors will put in the commit from things like the gitpod button that do not belong in the commit.

@AntoineChambert-Loir
Copy link
Collaborator Author

Is this better now?

@riccardobrasca
Copy link
Member

Thanks!

bors d+

@bors
Copy link

bors bot commented Feb 10, 2022

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

@github-actions github-actions bot added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Feb 10, 2022
@AntoineChambert-Loir
Copy link
Collaborator Author

bors r+

bors bot pushed a commit that referenced this pull request Feb 10, 2022
…lemmas (#11899)

Feat: add lemmas for stabilizer and orbit for sub_mul_action



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
@bors
Copy link

bors bot commented Feb 10, 2022

This PR was included in a batch that was canceled, it will be automatically retried

bors bot pushed a commit that referenced this pull request Feb 10, 2022
…lemmas (#11899)

Feat: add lemmas for stabilizer and orbit for sub_mul_action



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
@bors
Copy link

bors bot commented Feb 10, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(group_theory/group_action/sub_mul_action): orbit and stabilizer lemmas [Merged by Bors] - feat(group_theory/group_action/sub_mul_action): orbit and stabilizer lemmas Feb 10, 2022
@bors bors bot closed this Feb 10, 2022
@bors bors bot deleted the submulaction_stabilizer branch February 10, 2022 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants