Skip to content

Commit 01f5506

Browse files
committed
symmetry of smash
Signed-off-by: Ali Caglayan <[email protected]> <!-- ps-id: 84d03a3c-3d7d-4136-bb05-434ba45fd00a -->
1 parent 08d502c commit 01f5506

File tree

1 file changed

+76
-2
lines changed

1 file changed

+76
-2
lines changed

theories/Homotopy/Smash.v

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Require Import Basics.Overture Basics.PathGroupoids Basics.Tactics Basics.Equivalences.
2-
Require Import Types.Sum Types.Bool Types.Paths.
3-
Require Import WildCat.Core WildCat.Bifunctor.
2+
Require Import Types.Sum Types.Bool Types.Paths Types.Forall.
3+
Require Import WildCat.Core WildCat.Bifunctor WildCat.Equiv.
44
Require Import Colimits.Pushout.
55
Require Import Cubical.DPath.
66
Require Import Pointed.Core.
@@ -411,3 +411,77 @@ Proof.
411411
+ intros X A C f g.
412412
exact (functor_smash_compose f (Id _) g (Id _)).
413413
Defined.
414+
415+
(** ** Symmetry of the smash product *)
416+
417+
Definition pswap (X Y : pType) : Smash X Y $-> Smash Y X
418+
:= Build_pMap _ _ (Smash_rec (flip sm) auxr auxl gluer gluel) 1.
419+
420+
Definition pswap_pswap {X Y : pType}
421+
: pswap X Y $o pswap Y X $== pmap_idmap.
422+
Proof.
423+
snrapply Build_pHomotopy.
424+
- snrapply Smash_ind.
425+
1-3: reflexivity.
426+
+ intros y.
427+
rapply (transport_paths_FFlr' (f := pswap _ _)).
428+
apply equiv_p1_1q.
429+
lhs nrapply ap.
430+
1: apply Smash_rec_beta_gluel.
431+
apply Smash_rec_beta_gluer.
432+
+ intros x.
433+
rapply (transport_paths_FFlr' (f := pswap _ _)).
434+
apply equiv_p1_1q.
435+
lhs nrapply ap.
436+
1: apply Smash_rec_beta_gluer.
437+
apply Smash_rec_beta_gluel.
438+
- reflexivity.
439+
Defined.
440+
441+
Definition pequiv_pswap {X Y : pType} : Smash X Y $<~> Smash Y X.
442+
Proof.
443+
snrapply cate_adjointify.
444+
1,2: exact (pswap _ _).
445+
1,2: exact pswap_pswap.
446+
Defined.
447+
448+
Definition pswap_natural {A B X Y : pType} (f : A $-> X) (g : B $-> Y)
449+
: pswap X Y $o functor_smash f g $== functor_smash g f $o pswap A B.
450+
Proof.
451+
snrapply Build_pHomotopy.
452+
- snrapply Smash_ind.
453+
1-3: reflexivity.
454+
+ intros a.
455+
nrapply transport_paths_FlFr'.
456+
apply equiv_p1_1q.
457+
rhs nrapply (ap_compose (pswap A B) _ (gluel a)).
458+
rhs nrapply ap.
459+
2: apply Smash_rec_beta_gluel.
460+
rhs nrapply Smash_rec_beta_gluer.
461+
lhs nrapply (ap_compose (functor_smash f g) (pswap X Y) (gluel a)).
462+
lhs nrapply ap.
463+
1: apply Smash_rec_beta_gluel.
464+
lhs nrapply (ap_pp (pswap X Y) (ap011 sm 1 (point_eq g)) (gluel (f a))).
465+
lhs nrapply whiskerL.
466+
1: apply Smash_rec_beta_gluel.
467+
apply whiskerR.
468+
symmetry.
469+
exact (ap_compose _ _ _).
470+
+ intros b.
471+
nrapply transport_paths_FlFr'.
472+
apply equiv_p1_1q.
473+
rhs nrapply (ap_compose (pswap A B) _ (gluer b)).
474+
rhs nrapply ap.
475+
2: apply Smash_rec_beta_gluer.
476+
rhs nrapply Smash_rec_beta_gluel.
477+
lhs nrapply (ap_compose (functor_smash f g) (pswap X Y) (gluer b)).
478+
lhs nrapply ap.
479+
1: apply Smash_rec_beta_gluer.
480+
lhs nrapply (ap_pp (pswap X Y) (ap011 sm (point_eq f) 1) (gluer (g b))).
481+
lhs nrapply whiskerL.
482+
1: apply Smash_rec_beta_gluer.
483+
apply whiskerR.
484+
symmetry.
485+
exact (ap011_compose _ _ (point_eq f) 1).
486+
- by simpl; pelim f g.
487+
Defined.

0 commit comments

Comments
 (0)