feat(hott): add smash product of pointed types
This commit is contained in:
parent
ce8ca64771
commit
7e02ea6cab
3 changed files with 36 additions and 2 deletions
|
@ -26,8 +26,8 @@ namespace cofiber
|
||||||
{ cases u, reflexivity },
|
{ cases u, reflexivity },
|
||||||
{ exact !glue ⬝ ap inr (right_inv f b) },
|
{ exact !glue ⬝ ap inr (right_inv f b) },
|
||||||
{ apply eq_pathover, refine _ ⬝hp !ap_id⁻¹, refine !ap_constant ⬝ph _,
|
{ apply eq_pathover, refine _ ⬝hp !ap_id⁻¹, refine !ap_constant ⬝ph _,
|
||||||
esimp, krewrite adj, apply move_bot_of_left, krewrite idp_con,
|
apply move_bot_of_left, refine !idp_con ⬝ph _, apply transpose, esimp,
|
||||||
apply transpose, refine _ ⬝hp !ap_compose, apply square_Flr_idp_ap },
|
refine _ ⬝hp (ap (ap inr) !adj⁻¹), refine _ ⬝hp !ap_compose, apply square_Flr_idp_ap },
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
29
hott/homotopy/smash.hlean
Normal file
29
hott/homotopy/smash.hlean
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/-
|
||||||
|
Copyright (c) 2016 Jakob von Raumer. All rights reserved.
|
||||||
|
Released under Apache 2.0 license as described in the file LICENSE.
|
||||||
|
Authors: Jakob von Raumer
|
||||||
|
|
||||||
|
The Smash Product of Types
|
||||||
|
-/
|
||||||
|
|
||||||
|
import hit.pushout .wedge .cofiber .susp .sphere
|
||||||
|
|
||||||
|
open eq pushout prod pointed Pointed
|
||||||
|
|
||||||
|
definition product_of_wedge (A B : Type*) : Wedge A B →* A ×* B :=
|
||||||
|
begin
|
||||||
|
fconstructor,
|
||||||
|
intro x, induction x with [a, b], exact (a, point B), exact (point A, b),
|
||||||
|
do 2 reflexivity
|
||||||
|
end
|
||||||
|
|
||||||
|
definition Smash (A B : Type*) := Cofiber (product_of_wedge A B)
|
||||||
|
|
||||||
|
open sphere susp
|
||||||
|
|
||||||
|
namespace smash
|
||||||
|
|
||||||
|
definition susp_equiv_circle_smash (X : Type*) : Susp X ≃* Smash (Sphere 1) X :=
|
||||||
|
sorry
|
||||||
|
|
||||||
|
end smash
|
|
@ -57,6 +57,11 @@ namespace pointed
|
||||||
definition pointed_bool [instance] [constructor] : pointed bool :=
|
definition pointed_bool [instance] [constructor] : pointed bool :=
|
||||||
pointed.mk ff
|
pointed.mk ff
|
||||||
|
|
||||||
|
definition Prod [constructor] (A B : Type*) : Type* :=
|
||||||
|
pointed.mk' (A × B)
|
||||||
|
|
||||||
|
infixr ` ×* `:35 := Prod
|
||||||
|
|
||||||
definition Bool [constructor] : Type* :=
|
definition Bool [constructor] : Type* :=
|
||||||
pointed.mk' bool
|
pointed.mk' bool
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue