-
Notifications
You must be signed in to change notification settings - Fork 297
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
src/topology/discrete_quotient.lean
Outdated
@[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} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@[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 } |
src/topology/discrete_quotient.lean
Outdated
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} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 } |
src/topology/discrete_quotient.lean
Outdated
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} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 } |
@adamtopaz I think the style guide prefers a bit more spacing: |
Sorry... old habits die hard. I think I got them all. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks 🎉
bors merge
…tients (#7454) This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
This PR was included in a batch that was canceled, it will be automatically retried |
Canceled. |
bors merge |
…tients (#7454) This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
This PR was included in a batch that was canceled, it will be automatically retried |
…tients (#7454) This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
This PR was included in a batch that timed out, it will be automatically retried |
…tients (#7454) This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
Pull request successfully merged into master. Build succeeded: |
…tients (#7454) This PR adds the `discrete_quotient.map` construction and generally improves on the `discrete_quotient` API.
This PR adds the
discrete_quotient.map
construction and generally improves on thediscrete_quotient
API.