`{Funext} (A B : pType) : (psusp A ->* B) <~> (A ->* loops B). Proof. refine (_ oE (issig_pmap (psusp A) B)^-1). refine (_ oE (equiv_functor_sigma_pb (Q := fun NSm => fst NSm.1 = point B) (equiv_Susp_rec A B))). transitivity {bp : {b:B & b = point B} & {b:B & A -> bp.1 = b} }. 1:make_equiv. refine (_ oE equiv_contr_sigma _); simpl. refine (_ oE (equiv_sigma_contr (A := {p : B & A -> point B = p}) (fun pm => { q : point B = pm.1 & pm.2 (point A) = q }))^-1). make_equiv_contr_basedpaths. Defined.
Require Import Basics. Require Import Types. Require Import Pointed.Core. Require Import Pointed.Loops. Require Import Pointed.pTrunc. Require Import Pointed.pEquiv. Require Import Homotopy.Suspension. Require Import Homotopy.Freudenthal. Require Import Truncations. Require Import WildCat.