@@ -187,6 +187,68 @@ AddDerivationToCAP( WeakCokernelObject,
187187
188188end );
189189
190+ # #
191+ AddDerivationToCAP( WeakKernelEmbedding,
192+ " WeakKernelEmbedding in additive closures of categories with finite number of objects and homomorphism structure" ,
193+ [ [ ObjectConstructor, 2 ] ,
194+ [ BasisOfSolutionsOfHomogeneousLinearSystemInLinearCategory, 2 ] ,
195+ [ IdentityMorphism, 2 ] ,
196+ [ SetOfObjectsOfCategory, 1 , UnderlyingCategory ] ,
197+ [ DirectSum, 1 ] ,
198+ [ UniversalMorphismFromDirectSumWithGivenDirectSum, 1 ]
199+ ] ,
200+
201+ function ( cat, phi )
202+ local underlying_cat, objs, tau, diagram, S;
203+
204+ underlying_cat := UnderlyingCategory( cat );
205+
206+ objs := List( SetOfObjectsOfCategory( underlying_cat ), o -> ObjectConstructor( cat, [ o ] ) );
207+
208+ tau := Concatenation( List( objs, o ->
209+ Concatenation(BasisOfSolutionsOfHomogeneousLinearSystemInLinearCategory( cat, [ [ IdentityMorphism( cat, o ) ] ] , [ [ phi ] ] ) ) ) );
210+
211+ diagram := List( tau, m -> Source( m ) );
212+
213+ S := DirectSum( cat, diagram );
214+
215+ return UniversalMorphismFromDirectSumWithGivenDirectSum( cat, diagram, Source( phi ), tau, S );
216+
217+ end : CategoryGetters := rec ( underlying_cat := UnderlyingCategory ),
218+ CategoryFilter := cat -> HasUnderlyingCategory( cat ) and HasIsObjectFiniteCategory( UnderlyingCategory( cat ) ) and IsObjectFiniteCategory( UnderlyingCategory( cat ) )
219+ );
220+
221+ # #
222+ AddDerivationToCAP( WeakCokernelProjection,
223+ " WeakCokernelProjection in additive closures of categories with finite number of objects and homomorphism structure" ,
224+ [ [ ObjectConstructor, 2 ] ,
225+ [ BasisOfSolutionsOfHomogeneousLinearSystemInLinearCategory, 2 ] ,
226+ [ IdentityMorphism, 2 ] ,
227+ [ SetOfObjectsOfCategory, 1 , UnderlyingCategory ] ,
228+ [ DirectSum, 1 ] ,
229+ [ UniversalMorphismIntoDirectSumWithGivenDirectSum, 1 ]
230+ ] ,
231+
232+ function ( cat, phi )
233+ local underlying_cat, objs, tau, diagram, S;
234+
235+ underlying_cat := UnderlyingCategory( cat );
236+
237+ objs := List( SetOfObjectsOfCategory( underlying_cat ), o -> ObjectConstructor( cat, [ o ] ) );
238+
239+ tau := Concatenation( List( objs, o ->
240+ Concatenation( BasisOfSolutionsOfHomogeneousLinearSystemInLinearCategory( cat, [ [ phi ] ] , [ [ IdentityMorphism( cat, o ) ] ] ) ) ) );
241+
242+ diagram := List( tau, m -> Target( m ) );
243+
244+ S := DirectSum( cat, diagram );
245+
246+ return UniversalMorphismIntoDirectSumWithGivenDirectSum( cat, diagram, Target( phi ), tau, S );
247+
248+ end : CategoryGetters := rec ( underlying_cat := UnderlyingCategory ),
249+ CategoryFilter := cat -> HasUnderlyingCategory( cat ) and HasIsObjectFiniteCategory( UnderlyingCategory( cat ) ) and IsObjectFiniteCategory( UnderlyingCategory( cat ) )
250+ );
251+
190252# #
191253AddDerivationToCAP( WeakBiFiberProduct,
192254 " WeakBiFiberProduct as the source of ProjectionInFirstFactorOfWeakBiFiberProduct" ,
0 commit comments