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(topology/discrete_quotient): Add a few lemmas about discrete quotients #7454

Closed
wants to merge 5 commits into from

Conversation

adamtopaz
Copy link
Collaborator

This PR adds the discrete_quotient.map construction and generally improves on the discrete_quotient API.


Open in Gitpod

@adamtopaz adamtopaz added the awaiting-review The author would like community review of the PR label May 4, 2021
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

LGTM

Comment on lines 158 to 163
@[simp]
lemma comap_id : S.comap (continuous_id : continuous (id : X → X)) = S := by {ext, refl}

@[simp]
lemma comap_comp {Z : Type*} [topological_space Z] {g : Z → Y} (cont' : continuous g) :
S.comap (continuous.comp cont cont') = (S.comap cont).comap cont' := by {ext, refl}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
@[simp]
lemma comap_id : S.comap (continuous_id : continuous (id : X → X)) = S := by {ext, refl}
@[simp]
lemma comap_comp {Z : Type*} [topological_space Z] {g : Z → Y} (cont' : continuous g) :
S.comap (continuous.comp cont cont') = (S.comap cont).comap cont' := by {ext, refl}
@[simp]
lemma comap_id : S.comap (continuous_id : continuous (id : X → X)) = S := by { ext, refl }
@[simp]
lemma comap_comp {Z : Type*} [topological_space Z] {g : Z → Y} (cont' : continuous g) :
S.comap (continuous.comp cont cont') = (S.comap cont).comap cont' := by { ext, refl }

Comment on lines 177 to 183
lemma of_le_refl {A : discrete_quotient X} : of_le (le_refl A) = id := by {ext ⟨⟩, refl}

lemma of_le_refl_apply {A : discrete_quotient X} (a : A) : of_le (le_refl A) a = a := by simp

@[simp]
lemma of_le_comp {A B C : discrete_quotient X} (h1 : A ≤ B) (h2 : B ≤ C) :
of_le (le_trans h1 h2) = of_le h2 ∘ of_le h1 := by {ext ⟨⟩, refl}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
lemma of_le_refl {A : discrete_quotient X} : of_le (le_refl A) = id := by {ext ⟨⟩, refl}
lemma of_le_refl_apply {A : discrete_quotient X} (a : A) : of_le (le_refl A) a = a := by simp
@[simp]
lemma of_le_comp {A B C : discrete_quotient X} (h1 : A ≤ B) (h2 : B ≤ C) :
of_le (le_trans h1 h2) = of_le h2 ∘ of_le h1 := by {ext ⟨⟩, refl}
lemma of_le_refl {A : discrete_quotient X} : of_le (le_refl A) = id := by { ext ⟨⟩, refl }
lemma of_le_refl_apply {A : discrete_quotient X} (a : A) : of_le (le_refl A) a = a := by simp
@[simp]
lemma of_le_comp {A B C : discrete_quotient X} (h1 : A ≤ B) (h2 : B ≤ C) :
of_le (le_trans h1 h2) = of_le h2 ∘ of_le h1 := by { ext ⟨⟩, refl }

Comment on lines 236 to 257
lemma map_id : map (le_rel_id A) = id := by {ext ⟨⟩, refl}

@[simp]
lemma map_comp {Z : Type*} [topological_space Z] {g : Z → Y} {cont' : continuous g}
{C : discrete_quotient Z} (h1 : le_rel cont' C A) (h2 : le_rel cont A B) :
map (le_rel_comp h1 h2) = map h2 ∘ map h1 := by {ext ⟨⟩, refl}

@[simp]
lemma of_le_map {C : discrete_quotient X} (cond : le_rel cont A B) (h : B ≤ C) :
map (le_rel_trans cond h) = of_le h ∘ map cond := by {ext ⟨⟩, refl}

@[simp]
lemma of_le_map_apply {C : discrete_quotient X} (cond : le_rel cont A B) (h : B ≤ C) (a : A) :
map (le_rel_trans cond h) a = of_le h (map cond a) := by {rcases a, refl}

@[simp]
lemma map_of_le {C : discrete_quotient Y} (cond : le_rel cont A B) (h : C ≤ A) :
map (le_trans h cond) = map cond ∘ of_le h := by {ext ⟨⟩, refl}

@[simp]
lemma map_of_le_apply {C : discrete_quotient Y} (cond : le_rel cont A B) (h : C ≤ A) (c : C) :
map (le_trans h cond) c = map cond (of_le h c) := by {rcases c, refl}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
lemma map_id : map (le_rel_id A) = id := by {ext ⟨⟩, refl}
@[simp]
lemma map_comp {Z : Type*} [topological_space Z] {g : Z → Y} {cont' : continuous g}
{C : discrete_quotient Z} (h1 : le_rel cont' C A) (h2 : le_rel cont A B) :
map (le_rel_comp h1 h2) = map h2 ∘ map h1 := by {ext ⟨⟩, refl}
@[simp]
lemma of_le_map {C : discrete_quotient X} (cond : le_rel cont A B) (h : B ≤ C) :
map (le_rel_trans cond h) = of_le h ∘ map cond := by {ext ⟨⟩, refl}
@[simp]
lemma of_le_map_apply {C : discrete_quotient X} (cond : le_rel cont A B) (h : B ≤ C) (a : A) :
map (le_rel_trans cond h) a = of_le h (map cond a) := by {rcases a, refl}
@[simp]
lemma map_of_le {C : discrete_quotient Y} (cond : le_rel cont A B) (h : C ≤ A) :
map (le_trans h cond) = map cond ∘ of_le h := by {ext ⟨⟩, refl}
@[simp]
lemma map_of_le_apply {C : discrete_quotient Y} (cond : le_rel cont A B) (h : C ≤ A) (c : C) :
map (le_trans h cond) c = map cond (of_le h c) := by {rcases c, refl}
lemma map_id : map (le_rel_id A) = id := by { ext ⟨⟩, refl }
@[simp]
lemma map_comp {Z : Type*} [topological_space Z] {g : Z → Y} {cont' : continuous g}
{C : discrete_quotient Z} (h1 : le_rel cont' C A) (h2 : le_rel cont A B) :
map (le_rel_comp h1 h2) = map h2 ∘ map h1 := by { ext ⟨⟩, refl }
@[simp]
lemma of_le_map {C : discrete_quotient X} (cond : le_rel cont A B) (h : B ≤ C) :
map (le_rel_trans cond h) = of_le h ∘ map cond := by { ext ⟨⟩, refl }
@[simp]
lemma of_le_map_apply {C : discrete_quotient X} (cond : le_rel cont A B) (h : B ≤ C) (a : A) :
map (le_rel_trans cond h) a = of_le h (map cond a) := by { rcases a, refl }
@[simp]
lemma map_of_le {C : discrete_quotient Y} (cond : le_rel cont A B) (h : C ≤ A) :
map (le_trans h cond) = map cond ∘ of_le h := by { ext ⟨⟩, refl }
@[simp]
lemma map_of_le_apply {C : discrete_quotient Y} (cond : le_rel cont A B) (h : C ≤ A) (c : C) :
map (le_trans h cond) c = map cond (of_le h c) := by { rcases c, refl }

@jcommelin
Copy link
Member

@adamtopaz I think the style guide prefers a bit more spacing: by { tac1, tac2 }.

@jcommelin jcommelin added the awaiting-author A reviewer has asked the author a question or requested changes label May 4, 2021
@adamtopaz
Copy link
Collaborator Author

@adamtopaz I think the style guide prefers a bit more spacing: by { tac1, tac2 }.

Sorry... old habits die hard. I think I got them all.

@adamtopaz adamtopaz removed the awaiting-author A reviewer has asked the author a question or requested changes label May 4, 2021
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks 🎉

bors merge

bors bot pushed a commit that referenced this pull request May 4, 2021
…tients (#7454)

This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels May 4, 2021
@bors
Copy link

bors bot commented May 4, 2021

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

@bors
Copy link

bors bot commented May 4, 2021

Canceled.

@PatrickMassot
Copy link
Member

bors merge

bors bot pushed a commit that referenced this pull request May 4, 2021
…tients (#7454)

This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
@bors
Copy link

bors bot commented May 4, 2021

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 May 5, 2021
…tients (#7454)

This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
@bors
Copy link

bors bot commented May 5, 2021

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

bors bot pushed a commit that referenced this pull request May 5, 2021
…tients (#7454)

This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
@bors
Copy link

bors bot commented May 5, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(topology/discrete_quotient): Add a few lemmas about discrete quotients [Merged by Bors] - feat(topology/discrete_quotient): Add a few lemmas about discrete quotients May 5, 2021
@bors bors bot closed this May 5, 2021
@bors bors bot deleted the discrete_quotient_lemmas branch May 5, 2021 23:47
Vierkantor pushed a commit that referenced this pull request May 6, 2021
…tients (#7454)

This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants