-
Notifications
You must be signed in to change notification settings - Fork 195
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
basics on homotopy cofibers #2171
base: master
Are you sure you want to change the base?
Conversation
My work is in the attached file, and isn't polished. Maybe you can merge the two together? |
Signed-off-by: Ali Caglayan <[email protected]> <!-- ps-id: a015aefa-300b-4406-941b-3fdcd075d7cb -->
d862500
to
53c1a1a
Compare
theories/Homotopy/Cofiber.v
Outdated
(** *** Constructors *) | ||
|
||
(** Any element of [Y] can be included in the cofiber. *) | ||
Definition cofib {X Y : Type} (f : X -> Y) : Y -> cofiber f |
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.
We call pFiber
s constructor pfib
so it seemed appropriate to choose this name.
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.
Seems fine.
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.
I guess cf_in
would be an alternative, if we decide to use cf
as a prefix for various things about cofibers. Either way seems fine.
theories/Homotopy/Cofiber.v
Outdated
:= pushr. | ||
|
||
(** We have a distinguised point in the cofiber, where the image of [f] is contracted to. *) | ||
Definition apex {X Y : Type} (f : X -> Y) : cofiber f |
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.
Does cf_apex
seem like a better name?
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.
I think we should indicate that this has to do with cofibers somehow. cf_apex
or cf_pt
or cofiber_apex
or cofiber_pt
. Actually, we should probably define the cofiber as a pointed type, and then we can just use pt
to refer to this point...
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.
The choice of base point is not obvious. When X and Y are pointed, then cf_in would take the base point of Y to cf_in (point Y)
which is not definitionally cf_apex
. So I was thinking of doing the unpointed version first, and choosing a different basepoint generally.
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.
I'd be inclined to always choose the "apex" as the base point, even when X and Y are pointed, as cf_in
would still be canonically pointed. Also, cf_in o f
has a canonical homotopy to the constant map at the "apex", whereas if you choose f pt
as the basepoint, the homotopy becomes more complicated.
But if you prefer to leave it unpointed, then we could go with a name like cf_apex
.
:= pushl tt. | ||
|
||
(** Given an element [x : X], we have the path [leg] from the [f x] to the [apex]. *) | ||
Definition leg {X Y : Type} (f : X -> Y) (x : X) : cofib f (f x) = apex f |
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.
And here cf_leg
?
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.
I think we should call this cfglue
, like the other paths we have as part of various colimits: cglue
, gcglue
, pglue
, etc. (I'm not sure why for general colimits we use colimp
.)
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.
That's probably a contraction of colimit_path
. I was thinking of adding a bit on the geometric picture here. That's the reason I chose the geometric names. For intuition, thinking of a mapping cone as "join"ing a point to the image and then contracting seems reasonable.
Signed-off-by: Ali Caglayan <[email protected]>
@jdchristensen Do you want me to take a stab at applying Blakers-Massey to get that connectivity result? |
Sure, that would be great! |
Signed-off-by: Ali Caglayan <[email protected]>
Signed-off-by: Ali Caglayan <[email protected]>
Signed-off-by: Ali Caglayan <[email protected]>
I derived the 8.10.2 HoTT Book Blakers-Massey from the one we had. I'm not yet certain this is enough for the cofiber result, but this is probably something we should cleanup and open a PR for. |
@@ -100,3 +105,19 @@ Proof. | |||
lhs nrapply (ap (cofib f) p^). | |||
apply leg. | |||
Defined. | |||
|
|||
(** The cofiber of a surjective map is [0]-connected. This will be generalized this later. *) |
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.
The second sentence of the comment is grammatically incorrect. And maybe should just be removed anyways.
Definition blakers_massey_po `{Univalence} (m n : trunc_index) | ||
{X Y Z : Type} (f : X -> Y) (g : X -> Z) | ||
`{H1 : !IsConnMap m.+1 f} `{H2 : !IsConnMap n.+1 g} | ||
: IsConnMap (m +2+ n) (pullback_corec (pglue (f:=f) (g:=g))). |
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.
I haven't looked at the proof of this carefully, but I suspect that parts of it should be separate lemmas.
Here is a start on homotopy cofibers. I have more work waiting, but it will be some time before I can clean it up.
@jdchristensen feel free to push any changes as you see fit here. There will probably be some name/style differences with whatever you have.
This builds on