feat(AlgebraicTopology): HomologyPretheory for Eilenberg-Steenrod homology#39236
feat(AlgebraicTopology): HomologyPretheory for Eilenberg-Steenrod homology#39236quantumsnow wants to merge 12 commits into
HomologyPretheory for Eilenberg-Steenrod homology#39236Conversation
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary a7c945e01fImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
| class IsHomotopyInvariant where | ||
| homotopy ⦃X Y : TopPair⦄ (f g : X ⟶ Y) (hfg : Homotopic f g) : | ||
| ∀ (i : ι), (HP.Hₚ i).map f = (HP.Hₚ i).map g := by cat_disch |
There was a problem hiding this comment.
| class IsHomotopyInvariant where | |
| homotopy ⦃X Y : TopPair⦄ (f g : X ⟶ Y) (hfg : Homotopic f g) : | |
| ∀ (i : ι), (HP.Hₚ i).map f = (HP.Hₚ i).map g := by cat_disch | |
| class IsHomotopyInvariant (HP : HomologyPretheory.{u} C c) where | |
| map_eq_of_homotopy (HP) {X Y : TopPair} {f g : X ⟶ Y} (hfg : Homotopy f g) (i : ι) : | |
| (HP.Hₚ i).map f = (HP.Hₚ i).map g := by cat_disch |
Then, we can directly use IsHomotopyInvariant.map_eq_of_homotopy HP hfg i (and after doing export IsHomotopyInvariant (map_eq_of_homotopy) and the change of namespace above, we could use dot notation more easily as map_eq_of_homotopy would have HP as an explicit variable).
There was a problem hiding this comment.
Thanks, I have also exported map_eq_of_homotopy as you suggested. I hope this is what you meant.
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
…into homology-pretheory
|
-awaiting-author |
| /-- A `HomologyPretheory` is the data of an Eilenberg-Steenrod homology theory. -/ | ||
| @[ext] | ||
| structure HomologyPretheory | ||
| (C : Type v) [Category C] [Limits.HasZeroMorphisms C] {ι : Type*} (c : ComplexShape ι) where |
There was a problem hiding this comment.
| (C : Type v) [Category C] [Limits.HasZeroMorphisms C] {ι : Type*} (c : ComplexShape ι) where | |
| (C : Type*) [Category* C] [Limits.HasZeroMorphisms C] {ι : Type*} (c : ComplexShape ι) where |
|
|
||
| open CategoryTheory TopPair ObjectProperty | ||
|
|
||
| universe u v |
There was a problem hiding this comment.
| universe u v | |
| universe u |
|
|
||
| namespace HomologyPretheory | ||
|
|
||
| variable {C : Type v} [Category C] [Limits.HasZeroMorphisms C] {ι : Type*} {c : ComplexShape ι} |
There was a problem hiding this comment.
| variable {C : Type v} [Category C] [Limits.HasZeroMorphisms C] {ι : Type*} {c : ComplexShape ι} | |
| variable {C : Type*} [Category* C] [Limits.HasZeroMorphisms C] {ι : Type*} {c : ComplexShape ι} |
|
|
||
| /-- A morphism in the category `HomologyPretheory`. -/ | ||
| @[ext] | ||
| structure Hom (HP HP' : HomologyPretheory C c) where |
There was a problem hiding this comment.
| structure Hom (HP HP' : HomologyPretheory C c) where | |
| structure Hom (HP HP' : HomologyPretheory.{u} C c) where |
| attribute [reassoc (attr := local simp)] Hom.w | ||
|
|
||
| @[simps] | ||
| instance : Category (HomologyPretheory C c) where |
There was a problem hiding this comment.
| instance : Category (HomologyPretheory C c) where | |
| instance : Category (HomologyPretheory.{u} C c) where |
| id _ := { homₚ _ := 𝟙 _ } | ||
| comp f g := { homₚ _ := f.homₚ _ ≫ g.homₚ _ } | ||
|
|
||
| variable {HP HP' : HomologyPretheory C c} |
There was a problem hiding this comment.
| variable {HP HP' : HomologyPretheory C c} | |
| variable {HP HP' : HomologyPretheory.{u} C c} |
This splits out a part of #38369 into a separate PR.
It includes a structure
TopPair.HomologyPretheorycontaining the data for an Eilenberg-Steenrod homology theory and the first Eilenberg-Steenrod axiom as a typeclassEilenbergSteenrod.IsHomotopyInvariant.