Require Import Types. Require Import Colimits.Pushout. Require Import Colimits.SpanPushout. Require Import HoTT.Truncations. Require Import Homotopy.Suspension. Require Import Homotopy.BlakersMassey. (** * The Freudenthal Suspension Theorem *) (** The Freudenthal suspension theorem is a fairly trivial corollary of the Blakers-Massey theorem. The only real work is to relate the span-pushout that we used for Blakers-Massey to the naive pushout that we used to define suspension. *)H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XIsConnMap (Tr (n +2+ n)) meridH: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XIsConnMap (Tr (n +2+ n)) meridH: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XTypeH: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XNorth = South <~> ?CH: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XIsConnMap (Tr (n +2+ n)) (?g o merid)H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XNorth = South <~> ?Cexact (equiv_pushout (equiv_contr_sigma (fun _ : Unit * Unit => X))^-1 (equiv_idmap Unit) (equiv_idmap Unit) (fun x : X => idpath) (fun x : X => idpath)).H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XSusp X <~> SPushout (unit_name (unit_name X))H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) XIsConnMap (Tr (n +2+ n)) (equiv_ap' (equiv_pushout (equiv_contr_sigma (fun _ : Unit * Unit => X))^-1 1 1 (fun x : X => 1) (fun x : X => 1)) North South o merid)H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) Xspglue (unit_name (unit_name X)) == (fun x : X => equiv_ap' (equiv_pushout (equiv_contr_sigma (fun _ : Unit * Unit => X))^-1 1 1 (fun x0 : X => 1) (fun x0 : X => 1)) North South (merid x))H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) X
x: Xspglue (unit_name (unit_name X)) x = equiv_ap' (equiv_pushout (equiv_contr_sigma (fun _ : Unit * Unit => X))^-1 1 1 (fun x : X => 1) (fun x : X => 1)) North South (merid x)exact ((concat_p1 _ @ concat_1p _)^). Defined. Definition freudenthal@{u v | u < v} := Eval unfold freudenthal' in @freudenthal'@{u u u u u v u u u u u}. Global Existing Instance freudenthal.H: Univalence
n: trunc_index
X: Type
H0: IsConnected (Tr n.+1) X
x: Xspglue (unit_name (unit_name X)) x = (ap pushl 1 @ pglue (((equiv_contr_sigma (fun _ : Unit * Unit => X))^-1)%equiv x)) @ ap pushr 1^