cyclic' `{Funext} (n : nat) `{IsEmbedding (Z1_mul_nat n)} : AbGroup := ab_cokernel_embedding (Z1_mul_nat n). Local isexact_ext_cyclic_ab_iii@{u v w | u < v, v < w} `{Univalence} (n : nat) `{IsEmbedding (Z1_mul_nat n)} {A : AbGroup@{u}} : IsExact (Tr (-1)) (fmap10 (A:=Group^op) ab_hom (Z1_mul_nat n) A) (abses_pushout_ext (abses_from_inclusion (Z1_mul_nat n))) := isexact_ext_contra_sixterm_iii (abses_from_inclusion (Z1_mul_nat n)). Local ext_cyclic_exact@{u v w} `{Univalence} (n : nat) `{IsEmbedding (Z1_mul_nat n)} {A : AbGroup@{u}} : IsExact@{v v v v v} (Tr (-1)) (ab_mul (A:=A) n) (abses_pushout_ext@{u w v} (abses_from_inclusion (Z1_mul_nat n)) o* (pequiv_groupisomorphism (equiv_Z1_hom A))^-1*). Proof. apply moveL_isexact_equiv. snrapply (isexact_homotopic_i (Tr (-1))). 1: exact (fmap10 (A:=Group^op) ab_hom (Z1_mul_nat n) A o* (pequiv_inverse (pequiv_groupisomorphism (equiv_Z1_hom A)))). - apply phomotopy_homotopy_hset. rapply (equiv_ind (equiv_Z1_hom A)); intro f. refine (_ @ ap _ (eissect _ _)^). apply moveR_equiv_V; symmetry. refine (ap f _ @ _). 1: apply Z1_rec_beta. exact (ab_mul_natural f n Z1_gen). - apply isexact_equiv_fiber. apply isexact_ext_cyclic_ab_iii. Defined.
Require Import Basics Types WildCat HSet Pointed.Core Pointed.pTrunc Pointed.pEquiv