proposition: Lemma is_omega_cocont_Arity_to_Signature (TC : Terminal C) (CLC : Colims_of_shape nat_graph C) (H : ∏ (F : [C,C]), is_omega_cocont (constprod_functor1 F)) (xs : list nat) : is_omega_cocont (Arity_to_Signature TC xs).
proof: Proof. destruct xs as [[|n] xs]. - destruct xs; apply is_omega_cocont_constant_functor. - induction n as [|n IHn]. + destruct xs as [m []]; simpl. unfold Arity_to_Signature. apply is_omega_cocont_precomp_option_iter, CLC. + destruct xs as [m [k xs]]. apply is_omega_cocont_BinProduct_of_Signatures. * apply is_omega_cocont_precomp_option_iter, CLC. * apply (IHn (k,,xs)). * assumption. * intro x; apply (H x). Defined.
imports: UniMath.Foundations.PartD UniMath.Combinatorics.Lists UniMath.MoreFoundations.Tactics UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Coproducts UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.Initial UniMath.CategoryTheory.FunctorAlgebras UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.exponentials UniMath.CategoryTheory.Chains.All UniMath.CategoryTheory.Monads.Monads UniMath.CategoryTheory.Categories.HSET.Core UniMath.CategoryTheory.Categories.HSET.Limits UniMath.CategoryTheory.Categories.HSET.Colimits UniMath.CategoryTheory.Categories.HSET.Structures UniMath.SubstitutionSystems.Signatures UniMath.SubstitutionSystems.SignatureExamples UniMath.SubstitutionSystems.SumOfSignatures UniMath.SubstitutionSystems.BinProductOfSignatures UniMath.SubstitutionSystems.SubstitutionSystems UniMath.SubstitutionSystems.LiftingInitial_alt UniMath.SubstitutionSystems.MonadsFromSubstitutionSystems UniMath.SubstitutionSystems.Notation