From 9335f9eb2ad47c4e397f4d0f689b993b6daf57b8 Mon Sep 17 00:00:00 2001 From: Mohamed Barakat Date: Tue, 15 Aug 2023 02:03:13 +0200 Subject: [PATCH] used given source/range when possible and got rid of obsolete local variables --- CartesianCategories/PackageInfo.g | 2 +- CartesianCategories/gap/AUTOGENERATED_FROM.md | 2 +- ...CartesianClosedCategoriesDerivedMethods.gi | 58 +-- ...rtesianCoclosedCategoriesDerivedMethods.gi | 58 +-- LinearAlgebraForCAP/PackageInfo.g | 4 +- .../MatrixCategoryPrecompiled.gi | 464 +++++++++--------- MonoidalCategories/PackageInfo.g | 2 +- ...cClosedMonoidalCategoriesDerivedMethods.gi | 58 +-- ...oclosedMonoidalCategoriesDerivedMethods.gi | 58 +-- 9 files changed, 333 insertions(+), 373 deletions(-) diff --git a/CartesianCategories/PackageInfo.g b/CartesianCategories/PackageInfo.g index fa2ca846d4..772e6eab12 100644 --- a/CartesianCategories/PackageInfo.g +++ b/CartesianCategories/PackageInfo.g @@ -10,7 +10,7 @@ SetPackageInfo( rec( PackageName := "CartesianCategories", Subtitle := "Cartesian and cocartesian categories and various subdoctrines", -Version := "2023.08-06", +Version := "2023.08-07", Date := ~.Version{[ 1 .. 10 ]}, Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ), License := "GPL-2.0-or-later", diff --git a/CartesianCategories/gap/AUTOGENERATED_FROM.md b/CartesianCategories/gap/AUTOGENERATED_FROM.md index 8c97bf247e..e361d4c72d 100644 --- a/CartesianCategories/gap/AUTOGENERATED_FROM.md +++ b/CartesianCategories/gap/AUTOGENERATED_FROM.md @@ -1,3 +1,3 @@ The files of this package which include the line `THIS FILE WAS AUTOMATICALLY GENERATED` in their header have been autogenerated -* from MonoidalCategories v2023.08-04 +* from MonoidalCategories v2023.08-05 diff --git a/CartesianCategories/gap/SymmetricCartesianClosedCategoriesDerivedMethods.gi b/CartesianCategories/gap/SymmetricCartesianClosedCategoriesDerivedMethods.gi index d8359afb16..39f7f444bd 100644 --- a/CartesianCategories/gap/SymmetricCartesianClosedCategoriesDerivedMethods.gi +++ b/CartesianCategories/gap/SymmetricCartesianClosedCategoriesDerivedMethods.gi @@ -335,7 +335,7 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject "DirectProductExponentialCompatibilityMorphismWithGivenObjects using associator, braiding and the evaluation morphism", [ [ ExponentialOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ DirectProduct, 2 ], + [ DirectProduct, 1 ], [ PreComposeList, 1 ], [ CartesianAssociatorRightToLeft, 2 ], [ DirectProductOnMorphisms, 7 ], @@ -345,7 +345,7 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject [ DirectProductToExponentialAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, b1, a2, b2, morphism, exp_a1_b1, exp_a2_b2, id_a2, direct_product_on_objects_exp_a1_b1_exp_a2_b2; + local a1, b1, a2, b2, a1a2, exp_a1_b1, exp_a2_b2, id_a2, morphism; # (Exp(a1,b1) × Exp(a2,b2)) × (a1 × a2) # | @@ -385,18 +385,17 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject a2 := list[3]; b2 := list[4]; + a1a2 := BinaryDirectProduct( cat, a1, a2 ); + exp_a1_b1 := ExponentialOnObjects( cat, a1, b1 ); exp_a2_b2 := ExponentialOnObjects( cat, a2, b2 ); id_a2 := IdentityMorphism( cat, a2 ); - direct_product_on_objects_exp_a1_b1_exp_a2_b2 := - BinaryDirectProduct( cat, exp_a1_b1, exp_a2_b2 ); - morphism := PreComposeList( cat, [ CartesianAssociatorRightToLeft( cat, - direct_product_on_objects_exp_a1_b1_exp_a2_b2, + source, a1, a2 ), DirectProductOnMorphisms( cat, @@ -426,8 +425,8 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject CartesianEvaluationMorphism( cat, a2, b2 ) ) ] ); return DirectProductToExponentialAdjunctionMap( cat, - direct_product_on_objects_exp_a1_b1_exp_a2_b2, - BinaryDirectProduct( cat, a1, a2 ), + source, + a1a2, morphism ); end : CategoryFilter := IsCartesianClosedCategory ); @@ -681,8 +680,7 @@ AddDerivationToCAP( CartesianPreComposeMorphismWithGivenObjects, [ CartesianBraiding, 2 ], [ CartesianAssociatorRightToLeft, 1 ], [ CartesianEvaluationMorphism, 2 ], - [ DirectProductToExponentialAdjunctionMap, 1 ], - [ DirectProduct, 1 ] ], + [ DirectProductToExponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local exp_a_b, exp_b_c, morphism; @@ -738,7 +736,7 @@ AddDerivationToCAP( CartesianPreComposeMorphismWithGivenObjects, CartesianEvaluationMorphism( cat, b, c ) ] ); return DirectProductToExponentialAdjunctionMap( cat, - BinaryDirectProduct( cat, exp_a_b, exp_b_c ), + source, a, morphism ); @@ -753,8 +751,7 @@ AddDerivationToCAP( CartesianPostComposeMorphismWithGivenObjects, [ DirectProductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], [ CartesianEvaluationMorphism, 2 ], - [ DirectProductToExponentialAdjunctionMap, 1 ], - [ DirectProduct, 1 ] ], + [ DirectProductToExponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local exp_a_b, exp_b_c, morphism; @@ -790,7 +787,7 @@ AddDerivationToCAP( CartesianPostComposeMorphismWithGivenObjects, CartesianEvaluationMorphism( cat, b, c ) ] ); return DirectProductToExponentialAdjunctionMap( cat, - BinaryDirectProduct( cat, exp_b_c, exp_a_b ), + source, a, morphism ); @@ -855,7 +852,7 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject "DirectProductExponentialCompatibilityMorphismWithGivenObjects using braiding and the evaluation morphism", [ [ ExponentialOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ DirectProduct, 2 ], + [ DirectProduct, 1 ], [ PreComposeList, 1 ], [ DirectProductOnMorphisms, 5 ], [ CartesianBraiding, 1 ], @@ -863,7 +860,7 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject [ DirectProductToExponentialAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, b1, a2, b2, morphism, exp_a1_b1, exp_a2_b2, id_a2, direct_product_on_objects_exp_a1_b1_exp_a2_b2; + local a1, b1, a2, b2, a1a2, exp_a1_b1, exp_a2_b2, id_a2, morphism; # Exp(a1,b1) × Exp(a2,b2) × a1 × a2 # | @@ -887,15 +884,14 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject a2 := list[3]; b2 := list[4]; + a1a2 := BinaryDirectProduct( cat, a1, a2 ); + exp_a1_b1 := ExponentialOnObjects( cat, a1, b1 ); exp_a2_b2 := ExponentialOnObjects( cat, a2, b2 ); id_a2 := IdentityMorphism( cat, a2 ); - direct_product_on_objects_exp_a1_b1_exp_a2_b2 := - BinaryDirectProduct( cat, exp_a1_b1, exp_a2_b2 ); - morphism := PreComposeList( cat, [ DirectProductOnMorphisms( cat, DirectProductOnMorphisms( cat, @@ -914,8 +910,8 @@ AddDerivationToCAP( DirectProductExponentialCompatibilityMorphismWithGivenObject CartesianEvaluationMorphism( cat, a2, b2 ) ) ] ); return DirectProductToExponentialAdjunctionMap( cat, - direct_product_on_objects_exp_a1_b1_exp_a2_b2, - BinaryDirectProduct( cat, a1, a2 ), + source, + a1a2, morphism ); end : CategoryFilter := cat -> HasIsCartesianClosedCategory( cat ) and IsCartesianClosedCategory( cat ) and HasIsStrictCartesianCategory( cat ) and IsStrictCartesianCategory( cat ) ); @@ -971,8 +967,7 @@ AddDerivationToCAP( CartesianPreComposeMorphismWithGivenObjects, [ IdentityMorphism, 2 ], [ CartesianBraiding, 2 ], [ CartesianEvaluationMorphism, 2 ], - [ DirectProductToExponentialAdjunctionMap, 1 ], - [ DirectProduct, 1 ] ], + [ DirectProductToExponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local exp_a_b, exp_b_c, morphism; @@ -1016,7 +1011,7 @@ AddDerivationToCAP( CartesianPreComposeMorphismWithGivenObjects, CartesianEvaluationMorphism( cat, b, c ) ] ); return DirectProductToExponentialAdjunctionMap( cat, - BinaryDirectProduct( cat, exp_a_b, exp_b_c ), + source, a, morphism ); @@ -1025,16 +1020,15 @@ end : CategoryFilter := cat -> HasIsCartesianClosedCategory( cat ) and IsCartesi ## AddDerivationToCAP( CartesianPostComposeMorphismWithGivenObjects, "CartesianPostComposeMorphismWithGivenObjects using evaluation, and direct product-exponential adjunction", - [ [ ExponentialOnObjects, 2 ], + [ [ ExponentialOnObjects, 1 ], [ PreComposeList, 1 ], [ DirectProductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], [ CartesianEvaluationMorphism, 2 ], - [ DirectProductToExponentialAdjunctionMap, 1 ], - [ DirectProduct, 1 ] ], + [ DirectProductToExponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) - local exp_a_b, exp_b_c, morphism; + local morphism; # Exp(b,c) × Exp(a,b) × a # | @@ -1049,19 +1043,15 @@ AddDerivationToCAP( CartesianPostComposeMorphismWithGivenObjects, # # Adjoint( Exp(b,c) × Exp(a,b) × a → c ) = ( Exp(b,c) × Exp(a,b) → Exp(a,c) ) - exp_a_b := ExponentialOnObjects( cat, a, b ); - - exp_b_c := ExponentialOnObjects( cat, b, c ); - morphism := PreComposeList( cat, [ DirectProductOnMorphisms( cat, - IdentityMorphism( cat, exp_b_c ), + IdentityMorphism( cat, ExponentialOnObjects( cat, b, c ) ), CartesianEvaluationMorphism( cat, a, b ) ), CartesianEvaluationMorphism( cat, b, c ) ] ); return DirectProductToExponentialAdjunctionMap( cat, - BinaryDirectProduct( cat, exp_b_c, exp_a_b ), + source, a, morphism ); diff --git a/CartesianCategories/gap/SymmetricCocartesianCoclosedCategoriesDerivedMethods.gi b/CartesianCategories/gap/SymmetricCocartesianCoclosedCategoriesDerivedMethods.gi index 97a0586c04..fde022b143 100644 --- a/CartesianCategories/gap/SymmetricCocartesianCoclosedCategoriesDerivedMethods.gi +++ b/CartesianCategories/gap/SymmetricCocartesianCoclosedCategoriesDerivedMethods.gi @@ -345,7 +345,7 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, "CoexponentialCoproductCompatibilityMorphismWithGivenObjects using associator, braiding and the cocartesian evaluation morphism", [ [ CoexponentialOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ Coproduct, 2 ], + [ Coproduct, 1 ], [ PreComposeList, 1 ], [ CoproductOnMorphisms, 7 ], [ CocartesianEvaluationMorphism, 2 ], @@ -355,7 +355,7 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, [ CoproductToCoexponentialAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, a2, b1, b2, morphism, coexp_a1_b1, coexp_a2_b2, id_b2, coproduct_on_objects_coexp_a1_b1_coexp_a2_b2; + local a1, a2, b1, b2, b1b2, coexp_a1_b1, coexp_a2_b2, id_b2, morphism; # a1 ⊔ a2 # | @@ -395,15 +395,14 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, b1 := list[3]; b2 := list[4]; + b1b2 := BinaryCoproduct( cat, b1, b2 ); + coexp_a1_b1 := CoexponentialOnObjects( cat, a1, b1 ); coexp_a2_b2 := CoexponentialOnObjects( cat, a2, b2 ); id_b2 := IdentityMorphism( cat, b2 ); - coproduct_on_objects_coexp_a1_b1_coexp_a2_b2 := - BinaryCoproduct( cat, coexp_a1_b1, coexp_a2_b2 ); - morphism := PreComposeList( cat, [ CoproductOnMorphisms( cat, IdentityMorphism( cat, a1 ), @@ -432,12 +431,12 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, id_b2 ), CocartesianAssociatorLeftToRight( cat, - coproduct_on_objects_coexp_a1_b1_coexp_a2_b2, + range, b1, b2 ) ] ); return CoproductToCoexponentialAdjunctionMap( cat, - coproduct_on_objects_coexp_a1_b1_coexp_a2_b2, - BinaryCoproduct( cat, b1, b2 ), + range, + b1b2, morphism ); end : CategoryFilter := IsCocartesianCoclosedCategory ); @@ -693,8 +692,7 @@ AddDerivationToCAP( CocartesianPreCoComposeMorphismWithGivenObjects, [ IdentityMorphism, 2 ], [ CocartesianAssociatorLeftToRight, 1 ], [ CocartesianAssociatorRightToLeft, 1 ], - [ CoproductToCoexponentialAdjunctionMap, 1 ], - [ Coproduct, 1 ] ], + [ CoproductToCoexponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local coexp_a_b, coexp_b_c, morphism; @@ -750,7 +748,7 @@ AddDerivationToCAP( CocartesianPreCoComposeMorphismWithGivenObjects, CocartesianAssociatorRightToLeft( cat, coexp_b_c, coexp_a_b, c ) ] ); return CoproductToCoexponentialAdjunctionMap( cat, - BinaryCoproduct( cat, coexp_b_c, coexp_a_b ), + range, c, morphism ); @@ -765,8 +763,7 @@ AddDerivationToCAP( CocartesianPostCoComposeMorphismWithGivenObjects, [ CoproductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], [ CocartesianAssociatorRightToLeft, 1 ], - [ CoproductToCoexponentialAdjunctionMap, 1 ], - [ Coproduct, 1 ] ], + [ CoproductToCoexponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local coexp_a_b, coexp_b_c, morphism; @@ -802,7 +799,7 @@ AddDerivationToCAP( CocartesianPostCoComposeMorphismWithGivenObjects, CocartesianAssociatorRightToLeft( cat, coexp_a_b, coexp_b_c, c ) ] ); return CoproductToCoexponentialAdjunctionMap( cat, - BinaryCoproduct( cat, coexp_a_b, coexp_b_c ), + range, c, morphism ); @@ -867,7 +864,7 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, "CoexponentialCoproductCompatibilityMorphismWithGivenObjects using braiding and the cocartesian evaluation morphism", [ [ CoexponentialOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ Coproduct, 2 ], + [ Coproduct, 1 ], [ PreComposeList, 1 ], [ CoproductOnMorphisms, 5 ], [ CocartesianEvaluationMorphism, 2 ], @@ -875,7 +872,7 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, [ CoproductToCoexponentialAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, a2, b1, b2, morphism, coexp_a1_b1, coexp_a2_b2, id_b2, coproduct_on_objects_coexp_a1_b1_coexp_a2_b2; + local a1, a2, b1, b2, b1b2, coexp_a1_b1, coexp_a2_b2, id_b2, morphism; # a1 ⊔ a2 # | @@ -899,15 +896,14 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, b1 := list[3]; b2 := list[4]; + b1b2 := BinaryCoproduct( cat, b1, b2 ); + coexp_a1_b1 := CoexponentialOnObjects( cat, a1, b1 ); coexp_a2_b2 := CoexponentialOnObjects( cat, a2, b2 ); id_b2 := IdentityMorphism( cat, b2 ); - coproduct_on_objects_coexp_a1_b1_coexp_a2_b2 := - BinaryCoproduct( cat, coexp_a1_b1, coexp_a2_b2 ); - morphism := PreComposeList( cat, [ CoproductOnMorphisms( cat, IdentityMorphism( cat, a1 ), @@ -926,8 +922,8 @@ AddDerivationToCAP( CoexponentialCoproductCompatibilityMorphismWithGivenObjects, id_b2 ) ] ); return CoproductToCoexponentialAdjunctionMap( cat, - coproduct_on_objects_coexp_a1_b1_coexp_a2_b2, - BinaryCoproduct( cat, b1, b2 ), + range, + b1b2, morphism ); end : CategoryFilter := cat -> HasIsCocartesianCoclosedCategory( cat ) and IsCocartesianCoclosedCategory( cat ) and HasIsStrictCocartesianCategory( cat ) and IsStrictCocartesianCategory( cat ) ); @@ -982,8 +978,7 @@ AddDerivationToCAP( CocartesianPreCoComposeMorphismWithGivenObjects, [ CocartesianBraiding, 2 ], [ CoproductOnMorphisms, 2 ], [ IdentityMorphism, 2 ], - [ CoproductToCoexponentialAdjunctionMap, 1 ], - [ Coproduct, 1 ] ], + [ CoproductToCoexponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local coexp_a_b, coexp_b_c, morphism; @@ -1027,7 +1022,7 @@ AddDerivationToCAP( CocartesianPreCoComposeMorphismWithGivenObjects, CocartesianBraiding( cat, c, coexp_a_b ) ) ] ); return CoproductToCoexponentialAdjunctionMap( cat, - BinaryCoproduct( cat, coexp_b_c, coexp_a_b ), + range, c, morphism ); @@ -1036,16 +1031,15 @@ end : CategoryFilter := cat -> HasIsCocartesianCoclosedCategory( cat ) and IsCoc ## AddDerivationToCAP( CocartesianPostCoComposeMorphismWithGivenObjects, "CocartesianPostCoComposeMorphismWithGivenObjects using cocartesian evaluation, and coexponential-coproduct adjunction", - [ [ CoexponentialOnObjects, 2 ], + [ [ CoexponentialOnObjects, 1 ], [ PreComposeList, 1 ], [ CocartesianEvaluationMorphism, 2 ], [ CoproductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], - [ CoproductToCoexponentialAdjunctionMap, 1 ], - [ Coproduct, 1 ] ], + [ CoproductToCoexponentialAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) - local coexp_a_b, coexp_b_c, morphism; + local morphism; # a # | @@ -1060,19 +1054,15 @@ AddDerivationToCAP( CocartesianPostCoComposeMorphismWithGivenObjects, # # Adjoint( a → (Coexp(a,b) ⊔ Coexp(b,c)) ⊔ c ) = ( Coexp(a,c) → Coexp(a,b) ⊔ Coexp(b,c) ) - coexp_a_b := CoexponentialOnObjects( cat, a, b ); - - coexp_b_c := CoexponentialOnObjects( cat, b, c ); - morphism := PreComposeList( cat, [ CocartesianEvaluationMorphism( cat, a, b ), CoproductOnMorphisms( cat, - IdentityMorphism( cat, coexp_a_b ), + IdentityMorphism( cat, CoexponentialOnObjects( cat, a, b ) ), CocartesianEvaluationMorphism( cat, b, c ) ) ] ); return CoproductToCoexponentialAdjunctionMap( cat, - BinaryCoproduct( cat, coexp_a_b, coexp_b_c ), + range, c, morphism ); diff --git a/LinearAlgebraForCAP/PackageInfo.g b/LinearAlgebraForCAP/PackageInfo.g index 7e43ca6315..3156c7f195 100644 --- a/LinearAlgebraForCAP/PackageInfo.g +++ b/LinearAlgebraForCAP/PackageInfo.g @@ -10,7 +10,7 @@ SetPackageInfo( rec( PackageName := "LinearAlgebraForCAP", Subtitle := "Category of Matrices over a Field for CAP", -Version := "2023.08-02", +Version := "2023.08-03", Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ), License := "GPL-2.0-or-later", @@ -90,7 +90,7 @@ Dependencies := rec( [ "MatricesForHomalg", ">= 2023.01-01" ], [ "GaussForHomalg", ">= 2021.04-02" ], [ "CAP", ">= 2023.08-07" ], - [ "MonoidalCategories", ">= 2023.02-04" ], + [ "MonoidalCategories", ">= 2023.08-05" ], ], SuggestedOtherPackages := [ [ "FreydCategoriesForCAP", ">= 2022.12-02" ], diff --git a/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi b/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi index 52963e1d74..a24fa65174 100644 --- a/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi +++ b/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi @@ -288,7 +288,7 @@ function ( cat_1, a_1, b_1 ) end ######## - , 16978 : IsPrecompiledDerivation := true ); + , 16878 : IsPrecompiledDerivation := true ); ## AddCoDualityTensorProductCompatibilityMorphismWithGivenObjects( cat, @@ -336,7 +336,7 @@ function ( cat_1, s_1, a_1, b_1, r_1 ) end ######## - , 16477 : IsPrecompiledDerivation := true ); + , 16377 : IsPrecompiledDerivation := true ); ## AddCoLambdaElimination( cat, @@ -1829,7 +1829,7 @@ function ( cat_1, list_1 ) end ######## - , 15165 : IsPrecompiledDerivation := true ); + , 15065 : IsPrecompiledDerivation := true ); ## AddInternalCoHomTensorProductCompatibilityMorphismInverse( cat, @@ -1881,7 +1881,7 @@ function ( cat_1, list_1 ) end ######## - , 15367 : IsPrecompiledDerivation := true ); + , 15267 : IsPrecompiledDerivation := true ); ## AddInternalCoHomTensorProductCompatibilityMorphismInverseWithGivenObjects( cat, @@ -1889,51 +1889,51 @@ end ######## function ( cat_1, source_1, list_1, range_1 ) local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1; - deduped_27_1 := UnderlyingRing( cat_1 ); - deduped_26_1 := List( list_1, Dimension ); - deduped_25_1 := deduped_26_1[2]; - deduped_24_1 := deduped_26_1[1]; - deduped_23_1 := deduped_26_1[4]; - deduped_22_1 := deduped_26_1[3]; - deduped_21_1 := HomalgIdentityMatrix( deduped_22_1, deduped_27_1 ); - deduped_20_1 := HomalgIdentityMatrix( deduped_23_1, deduped_27_1 ); - deduped_19_1 := HomalgIdentityMatrix( deduped_24_1, deduped_27_1 ); - deduped_18_1 := deduped_25_1 * deduped_23_1; - deduped_17_1 := deduped_24_1 * deduped_22_1; - deduped_16_1 := deduped_22_1 * deduped_23_1; - deduped_15_1 := deduped_22_1 * deduped_18_1; - deduped_14_1 := deduped_16_1 * deduped_16_1; - deduped_13_1 := deduped_17_1 * deduped_18_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_27_1 ); - deduped_11_1 := HomalgIdentityMatrix( deduped_13_1, deduped_27_1 ); - deduped_10_1 := deduped_13_1 * deduped_16_1; - deduped_9_1 := KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + deduped_27_1 := Dimension( source_1 ); + deduped_26_1 := UnderlyingRing( cat_1 ); + deduped_25_1 := List( list_1, Dimension ); + deduped_24_1 := deduped_25_1[2]; + deduped_23_1 := deduped_25_1[1]; + deduped_22_1 := HomalgIdentityMatrix( deduped_27_1, deduped_26_1 ); + deduped_21_1 := deduped_25_1[4]; + deduped_20_1 := deduped_25_1[3]; + deduped_19_1 := deduped_23_1 * deduped_20_1; + deduped_18_1 := HomalgIdentityMatrix( deduped_20_1, deduped_26_1 ); + deduped_17_1 := deduped_24_1 * deduped_21_1; + deduped_16_1 := HomalgIdentityMatrix( deduped_21_1, deduped_26_1 ); + deduped_15_1 := HomalgIdentityMatrix( deduped_23_1, deduped_26_1 ); + deduped_14_1 := deduped_20_1 * deduped_21_1; + deduped_13_1 := deduped_20_1 * deduped_17_1; + deduped_12_1 := deduped_14_1 * deduped_14_1; + deduped_11_1 := deduped_27_1 * deduped_14_1; + deduped_10_1 := HomalgIdentityMatrix( deduped_14_1, deduped_26_1 ); + deduped_9_1 := KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_27_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_27_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_26_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_27_1 ), deduped_11_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_12_1 ), deduped_11_1 ); - morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_27_1 ), KroneckerMat( TransposedMatrix( deduped_12_1 ), KroneckerMat( deduped_19_1, KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_27_1 ), ConvertMatrixToRow( deduped_20_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_26_1 ), deduped_22_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_10_1 ), deduped_22_1 ); + morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_26_1 ), KroneckerMat( TransposedMatrix( deduped_10_1 ), KroneckerMat( deduped_15_1, KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToRow( deduped_16_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_25_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_27_1 ), deduped_20_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_23_1 * deduped_25_1), deduped_27_1 ), deduped_20_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_19_1, ConvertMatrixToRow( deduped_21_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_26_1 ), deduped_16_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_21_1 * deduped_24_1), deduped_26_1 ), deduped_16_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_15_1, ConvertMatrixToRow( deduped_18_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_27_1 ), deduped_21_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_22_1 * deduped_24_1), deduped_27_1 ), deduped_21_1 )), HomalgIdentityMatrix( deduped_18_1, deduped_27_1 ) ), deduped_20_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_17_1, deduped_27_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_26_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * deduped_23_1), deduped_26_1 ), deduped_18_1 )), HomalgIdentityMatrix( deduped_17_1, deduped_26_1 ) ), deduped_16_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_19_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_27_1 ) ), deduped_20_1 ) ) * deduped_9_1 ); + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_26_1 ) ), deduped_16_1 ) ) * deduped_9_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 14160 : IsPrecompiledDerivation := true ); + , 14060 : IsPrecompiledDerivation := true ); ## AddInternalCoHomTensorProductCompatibilityMorphismWithGivenObjects( cat, @@ -1941,50 +1941,50 @@ end ######## function ( cat_1, source_1, list_1, range_1 ) local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1; - deduped_26_1 := UnderlyingRing( cat_1 ); - deduped_25_1 := List( list_1, Dimension ); - deduped_24_1 := deduped_25_1[2]; - deduped_23_1 := deduped_25_1[1]; - deduped_22_1 := deduped_25_1[4]; - deduped_21_1 := deduped_25_1[3]; - deduped_20_1 := deduped_23_1 * deduped_21_1; - deduped_19_1 := HomalgIdentityMatrix( deduped_21_1, deduped_26_1 ); - deduped_18_1 := deduped_24_1 * deduped_22_1; - deduped_17_1 := HomalgIdentityMatrix( deduped_22_1, deduped_26_1 ); - deduped_16_1 := HomalgIdentityMatrix( deduped_23_1, deduped_26_1 ); - deduped_15_1 := deduped_21_1 * deduped_22_1; - deduped_14_1 := deduped_15_1 * deduped_15_1; - deduped_13_1 := deduped_20_1 * deduped_18_1; - deduped_12_1 := deduped_21_1 * deduped_18_1; - deduped_11_1 := HomalgIdentityMatrix( deduped_15_1, deduped_26_1 ); - deduped_10_1 := HomalgIdentityMatrix( deduped_13_1, deduped_26_1 ); - deduped_9_1 := deduped_13_1 * deduped_15_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_11_1 ), KroneckerMat( deduped_16_1, KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + deduped_26_1 := Dimension( range_1 ); + deduped_25_1 := UnderlyingRing( cat_1 ); + deduped_24_1 := List( list_1, Dimension ); + deduped_23_1 := HomalgIdentityMatrix( deduped_26_1, deduped_25_1 ); + deduped_22_1 := deduped_24_1[2]; + deduped_21_1 := deduped_24_1[1]; + deduped_20_1 := deduped_24_1[4]; + deduped_19_1 := deduped_24_1[3]; + deduped_18_1 := deduped_21_1 * deduped_19_1; + deduped_17_1 := HomalgIdentityMatrix( deduped_19_1, deduped_25_1 ); + deduped_16_1 := deduped_22_1 * deduped_20_1; + deduped_15_1 := HomalgIdentityMatrix( deduped_20_1, deduped_25_1 ); + deduped_14_1 := HomalgIdentityMatrix( deduped_21_1, deduped_25_1 ); + deduped_13_1 := deduped_19_1 * deduped_20_1; + deduped_12_1 := deduped_13_1 * deduped_13_1; + deduped_11_1 := deduped_26_1 * deduped_13_1; + deduped_10_1 := deduped_19_1 * deduped_16_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_13_1, deduped_25_1 ); + morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( deduped_14_1, KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_25_1 ), ConvertMatrixToRow( deduped_15_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_26_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_22_1 * deduped_24_1), deduped_26_1 ), deduped_17_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_16_1, ConvertMatrixToRow( deduped_19_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_20_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_25_1 ), deduped_15_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * deduped_22_1), deduped_25_1 ), deduped_15_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_20_1 ), deduped_20_1, deduped_20_1, deduped_26_1 ), deduped_19_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_21_1 * deduped_23_1), deduped_26_1 ), deduped_19_1 )), HomalgIdentityMatrix( deduped_18_1, deduped_26_1 ) ), deduped_17_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_20_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_25_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_19_1 * deduped_21_1), deduped_25_1 ), deduped_17_1 )), HomalgIdentityMatrix( deduped_16_1, deduped_25_1 ) ), deduped_15_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_25_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_26_1 ) ), deduped_17_1 ) ) * (KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_25_1 ) ), deduped_15_1 ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); - end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_26_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_26_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_25_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_26_1 ), deduped_10_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_11_1 ), deduped_10_1 )); + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_25_1 ), deduped_23_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_23_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 13958 : IsPrecompiledDerivation := true ); + , 13858 : IsPrecompiledDerivation := true ); ## AddInternalCoHomToTensorProductAdjunctionMap( cat, @@ -3597,7 +3597,7 @@ function ( cat_1, a_1, b_1, c_1 ) end ######## - , 13160 : IsPrecompiledDerivation := true ); + , 12758 : IsPrecompiledDerivation := true ); ## AddMonoidalPostCoComposeMorphismWithGivenObjects( cat, @@ -3605,40 +3605,40 @@ end ######## function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) local morphism_attr_1_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1; - deduped_17_1 := Dimension( b_1 ); - deduped_16_1 := Dimension( a_1 ); - deduped_15_1 := UnderlyingRing( cat_1 ); - deduped_14_1 := Dimension( c_1 ); - deduped_13_1 := deduped_14_1 * deduped_14_1; - deduped_12_1 := deduped_17_1 * deduped_14_1; - deduped_11_1 := deduped_16_1 * deduped_17_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_17_1, deduped_15_1 ); - deduped_9_1 := HomalgIdentityMatrix( deduped_14_1, deduped_15_1 ); - deduped_8_1 := deduped_11_1 * deduped_12_1; - deduped_7_1 := HomalgIdentityMatrix( deduped_8_1, deduped_15_1 ); - deduped_6_1 := deduped_8_1 * deduped_14_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_16_1, deduped_15_1 ), ConvertMatrixToRow( deduped_10_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + deduped_17_1 := Dimension( r_1 ); + deduped_16_1 := Dimension( b_1 ); + deduped_15_1 := Dimension( a_1 ); + deduped_14_1 := UnderlyingRing( cat_1 ); + deduped_13_1 := Dimension( c_1 ); + deduped_12_1 := HomalgIdentityMatrix( deduped_17_1, deduped_14_1 ); + deduped_11_1 := deduped_13_1 * deduped_13_1; + deduped_10_1 := deduped_17_1 * deduped_13_1; + deduped_9_1 := deduped_16_1 * deduped_13_1; + deduped_8_1 := deduped_15_1 * deduped_16_1; + deduped_7_1 := HomalgIdentityMatrix( deduped_16_1, deduped_14_1 ); + deduped_6_1 := HomalgIdentityMatrix( deduped_13_1, deduped_14_1 ); + morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_6_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_14_1 ), ConvertMatrixToRow( deduped_7_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_15_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_17_1 * deduped_16_1), deduped_15_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_11_1, deduped_15_1 ), (KroneckerMat( deduped_10_1, ConvertMatrixToRow( deduped_9_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_16_1 * deduped_15_1), deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_14_1 ), (KroneckerMat( deduped_7_1, ConvertMatrixToRow( deduped_6_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_15_1 ), deduped_9_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_14_1 * deduped_17_1), deduped_15_1 ), deduped_9_1 )) ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_6_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_14_1 ), deduped_6_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_13_1 * deduped_16_1), deduped_14_1 ), deduped_6_1 )) ) ) * (KroneckerMat( deduped_6_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); - end ) ), deduped_6_1 ), deduped_6_1, deduped_6_1, deduped_15_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_14_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_15_1 ), deduped_7_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_7_1 )); + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_14_1 ), deduped_12_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_6_1 ), deduped_12_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 12153 : IsPrecompiledDerivation := true ); + , 11751 : IsPrecompiledDerivation := true ); ## AddMonoidalPostComposeMorphism( cat, @@ -3680,7 +3680,7 @@ function ( cat_1, a_1, b_1, c_1 ) end ######## - , 13160 : IsPrecompiledDerivation := true ); + , 12758 : IsPrecompiledDerivation := true ); ## AddMonoidalPostComposeMorphismWithGivenObjects( cat, @@ -3690,39 +3690,39 @@ function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) local morphism_attr_1_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1; deduped_18_1 := Dimension( c_1 ); deduped_17_1 := Dimension( b_1 ); - deduped_16_1 := UnderlyingRing( cat_1 ); - deduped_15_1 := Dimension( a_1 ); - deduped_14_1 := HomalgIdentityMatrix( deduped_17_1, deduped_16_1 ); - deduped_13_1 := deduped_15_1 * deduped_15_1; - deduped_12_1 := deduped_15_1 * deduped_17_1; + deduped_16_1 := Dimension( s_1 ); + deduped_15_1 := UnderlyingRing( cat_1 ); + deduped_14_1 := Dimension( a_1 ); + deduped_13_1 := HomalgIdentityMatrix( deduped_17_1, deduped_15_1 ); + deduped_12_1 := deduped_14_1 * deduped_17_1; deduped_11_1 := deduped_17_1 * deduped_18_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_15_1, deduped_16_1 ); - deduped_9_1 := HomalgIdentityMatrix( deduped_11_1, deduped_16_1 ); - deduped_8_1 := deduped_11_1 * deduped_12_1; - deduped_7_1 := deduped_15_1 * deduped_8_1; - deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_16_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_6_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + deduped_10_1 := deduped_14_1 * deduped_16_1; + deduped_9_1 := deduped_14_1 * deduped_14_1; + deduped_8_1 := HomalgIdentityMatrix( deduped_16_1, deduped_15_1 ); + deduped_7_1 := HomalgIdentityMatrix( deduped_14_1, deduped_15_1 ); + deduped_6_1 := HomalgIdentityMatrix( deduped_11_1, deduped_15_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_7_1 ), deduped_8_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_16_1 ), deduped_6_1 ) * KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_15_1 ), deduped_8_1 ) * KroneckerMat( deduped_7_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_16_1 ) ) * KroneckerMat( TransposedMatrix( deduped_10_1 ), (KroneckerMat( deduped_9_1, KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_16_1 ), deduped_10_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_15_1 ) ) * KroneckerMat( TransposedMatrix( deduped_7_1 ), (KroneckerMat( deduped_6_1, KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_15_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_16_1 ), deduped_10_1 ) * KroneckerMat( deduped_14_1, ConvertMatrixToColumn( deduped_10_1 ) ) ) * (KroneckerMat( deduped_9_1, deduped_14_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_15_1 ), deduped_7_1 ) * KroneckerMat( deduped_13_1, ConvertMatrixToColumn( deduped_7_1 ) ) ) * (KroneckerMat( deduped_6_1, deduped_13_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_16_1 ), deduped_14_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_16_1 ), ConvertMatrixToColumn( deduped_14_1 ) ))) ); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_15_1 ), deduped_13_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_15_1 ), ConvertMatrixToColumn( deduped_13_1 ) ))) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 12153 : IsPrecompiledDerivation := true ); + , 11751 : IsPrecompiledDerivation := true ); ## AddMonoidalPreCoComposeMorphism( cat, @@ -3773,7 +3773,7 @@ function ( cat_1, a_1, b_1, c_1 ) end ######## - , 13963 : IsPrecompiledDerivation := true ); + , 13863 : IsPrecompiledDerivation := true ); ## AddMonoidalPreCoComposeMorphismWithGivenObjects( cat, @@ -3781,50 +3781,50 @@ end ######## function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1; - deduped_20_1 := Dimension( b_1 ); - deduped_19_1 := Dimension( a_1 ); - deduped_18_1 := UnderlyingRing( cat_1 ); - deduped_17_1 := Dimension( c_1 ); - deduped_16_1 := deduped_17_1 * deduped_17_1; - deduped_15_1 := deduped_20_1 * deduped_17_1; - deduped_14_1 := deduped_19_1 * deduped_20_1; - deduped_13_1 := HomalgIdentityMatrix( deduped_20_1, deduped_18_1 ); - deduped_12_1 := HomalgIdentityMatrix( deduped_17_1, deduped_18_1 ); - deduped_11_1 := deduped_15_1 * deduped_14_1; - deduped_10_1 := deduped_17_1 * deduped_14_1; - deduped_9_1 := deduped_14_1 * deduped_20_1; - deduped_8_1 := HomalgIdentityMatrix( deduped_11_1, deduped_18_1 ); - deduped_7_1 := deduped_11_1 * deduped_17_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_12_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_19_1, deduped_18_1 ), ConvertMatrixToRow( deduped_13_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + deduped_20_1 := Dimension( r_1 ); + deduped_19_1 := Dimension( b_1 ); + deduped_18_1 := Dimension( a_1 ); + deduped_17_1 := UnderlyingRing( cat_1 ); + deduped_16_1 := Dimension( c_1 ); + deduped_15_1 := HomalgIdentityMatrix( deduped_20_1, deduped_17_1 ); + deduped_14_1 := deduped_16_1 * deduped_16_1; + deduped_13_1 := deduped_20_1 * deduped_16_1; + deduped_12_1 := deduped_19_1 * deduped_16_1; + deduped_11_1 := deduped_18_1 * deduped_19_1; + deduped_10_1 := HomalgIdentityMatrix( deduped_19_1, deduped_17_1 ); + deduped_9_1 := HomalgIdentityMatrix( deduped_16_1, deduped_17_1 ); + deduped_8_1 := deduped_16_1 * deduped_11_1; + deduped_7_1 := deduped_11_1 * deduped_19_1; + morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_17_1 ), ConvertMatrixToRow( deduped_10_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_18_1 ), deduped_13_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * deduped_19_1), deduped_18_1 ), deduped_13_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_17_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_19_1 * deduped_18_1), deduped_17_1 ), deduped_10_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_18_1 ) * KroneckerMat( (KroneckerMat( deduped_13_1, ConvertMatrixToRow( deduped_12_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_17_1 ) * KroneckerMat( (KroneckerMat( deduped_10_1, ConvertMatrixToRow( deduped_9_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_18_1 ), deduped_12_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_17_1 * deduped_20_1), deduped_18_1 ), deduped_12_1 )), HomalgIdentityMatrix( deduped_14_1, deduped_18_1 ) ) * KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_18_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_17_1 ), deduped_9_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_16_1 * deduped_19_1), deduped_17_1 ), deduped_9_1 )), HomalgIdentityMatrix( deduped_11_1, deduped_17_1 ) ) * KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_17_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_18_1 ) ) ) * (KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_11_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_11_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_17_1 ) ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_18_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_18_1 ), deduped_8_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_12_1 ), deduped_8_1 )); + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_17_1 ), deduped_15_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_15_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 12956 : IsPrecompiledDerivation := true ); + , 12856 : IsPrecompiledDerivation := true ); ## AddMonoidalPreComposeMorphism( cat, @@ -3877,7 +3877,7 @@ function ( cat_1, a_1, b_1, c_1 ) end ######## - , 13963 : IsPrecompiledDerivation := true ); + , 13863 : IsPrecompiledDerivation := true ); ## AddMonoidalPreComposeMorphismWithGivenObjects( cat, @@ -3887,50 +3887,50 @@ function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1; deduped_22_1 := Dimension( c_1 ); deduped_21_1 := Dimension( b_1 ); - deduped_20_1 := UnderlyingRing( cat_1 ); - deduped_19_1 := Dimension( a_1 ); - deduped_18_1 := HomalgIdentityMatrix( deduped_21_1, deduped_20_1 ); - deduped_17_1 := deduped_19_1 * deduped_19_1; + deduped_20_1 := Dimension( s_1 ); + deduped_19_1 := UnderlyingRing( cat_1 ); + deduped_18_1 := Dimension( a_1 ); + deduped_17_1 := HomalgIdentityMatrix( deduped_21_1, deduped_19_1 ); deduped_16_1 := deduped_21_1 * deduped_22_1; - deduped_15_1 := deduped_19_1 * deduped_21_1; - deduped_14_1 := HomalgIdentityMatrix( deduped_19_1, deduped_20_1 ); - deduped_13_1 := deduped_21_1 * deduped_16_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_20_1 ); - deduped_11_1 := deduped_16_1 * deduped_19_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_15_1, deduped_20_1 ); - deduped_9_1 := deduped_15_1 * deduped_16_1; - deduped_8_1 := deduped_19_1 * deduped_9_1; - deduped_7_1 := HomalgIdentityMatrix( deduped_9_1, deduped_20_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + deduped_15_1 := deduped_18_1 * deduped_21_1; + deduped_14_1 := deduped_18_1 * deduped_20_1; + deduped_13_1 := deduped_18_1 * deduped_18_1; + deduped_12_1 := HomalgIdentityMatrix( deduped_20_1, deduped_19_1 ); + deduped_11_1 := HomalgIdentityMatrix( deduped_18_1, deduped_19_1 ); + deduped_10_1 := deduped_21_1 * deduped_16_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_16_1, deduped_19_1 ); + deduped_8_1 := deduped_16_1 * deduped_18_1; + deduped_7_1 := HomalgIdentityMatrix( deduped_15_1, deduped_19_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_11_1 ), deduped_12_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_20_1 ), deduped_7_1 ) * KroneckerMat( deduped_14_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_19_1 ), deduped_12_1 ) * KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_9_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_9_1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_20_1 ) ) * KroneckerMat( TransposedMatrix( deduped_14_1 ), (KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_19_1 ) ) * KroneckerMat( TransposedMatrix( deduped_11_1 ), (KroneckerMat( deduped_7_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_20_1 ) ) * KroneckerMat( (KroneckerMat( deduped_10_1, deduped_14_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_19_1 ) ) * KroneckerMat( (KroneckerMat( deduped_7_1, deduped_11_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_20_1 ), deduped_14_1 ) * KroneckerMat( deduped_18_1, ConvertMatrixToColumn( deduped_14_1 ) )), deduped_12_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_19_1 ), deduped_11_1 ) * KroneckerMat( deduped_17_1, ConvertMatrixToColumn( deduped_11_1 ) )), deduped_9_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_20_1 ) * (KroneckerMat( deduped_12_1, deduped_18_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_19_1 ) * (KroneckerMat( deduped_9_1, deduped_17_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_20_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_20_1 ), ConvertMatrixToColumn( deduped_18_1 ) ))) ); + end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_19_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_19_1 ), ConvertMatrixToColumn( deduped_17_1 ) ))) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 12956 : IsPrecompiledDerivation := true ); + , 12856 : IsPrecompiledDerivation := true ); ## AddMonomorphismIntoSomeInjectiveObject( cat, @@ -5316,7 +5316,7 @@ function ( cat_1, a_1, b_1 ) end ######## - , 16978 : IsPrecompiledDerivation := true ); + , 16878 : IsPrecompiledDerivation := true ); ## AddTensorProductDualityCompatibilityMorphismWithGivenObjects( cat, @@ -5366,7 +5366,7 @@ function ( cat_1, s_1, a_1, b_1, r_1 ) end ######## - , 16477 : IsPrecompiledDerivation := true ); + , 16377 : IsPrecompiledDerivation := true ); ## AddTensorProductInternalHomCompatibilityMorphism( cat, @@ -5419,7 +5419,7 @@ function ( cat_1, list_1 ) end ######## - , 15165 : IsPrecompiledDerivation := true ); + , 15065 : IsPrecompiledDerivation := true ); ## AddTensorProductInternalHomCompatibilityMorphismInverse( cat, @@ -5473,7 +5473,7 @@ function ( cat_1, list_1 ) end ######## - , 15367 : IsPrecompiledDerivation := true ); + , 15267 : IsPrecompiledDerivation := true ); ## AddTensorProductInternalHomCompatibilityMorphismInverseWithGivenObjects( cat, @@ -5481,53 +5481,53 @@ end ######## function ( cat_1, source_1, list_1, range_1 ) local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1, deduped_28_1, deduped_29_1; - deduped_29_1 := UnderlyingRing( cat_1 ); - deduped_28_1 := List( list_1, Dimension ); - deduped_27_1 := deduped_28_1[4]; - deduped_26_1 := deduped_28_1[2]; - deduped_25_1 := deduped_28_1[3]; - deduped_24_1 := deduped_28_1[1]; - deduped_23_1 := HomalgIdentityMatrix( deduped_26_1, deduped_29_1 ); - deduped_22_1 := HomalgIdentityMatrix( deduped_24_1, deduped_29_1 ); - deduped_21_1 := HomalgIdentityMatrix( deduped_25_1, deduped_29_1 ); - deduped_20_1 := deduped_25_1 * deduped_27_1; - deduped_19_1 := deduped_24_1 * deduped_26_1; - deduped_18_1 := deduped_24_1 * deduped_25_1; - deduped_17_1 := deduped_18_1 * deduped_18_1; - deduped_16_1 := deduped_19_1 * deduped_20_1; - deduped_15_1 := HomalgIdentityMatrix( deduped_20_1, deduped_29_1 ); - deduped_14_1 := deduped_20_1 * deduped_24_1; - deduped_13_1 := HomalgIdentityMatrix( deduped_19_1, deduped_29_1 ); - deduped_12_1 := HomalgIdentityMatrix( deduped_18_1, deduped_29_1 ); - deduped_11_1 := deduped_18_1 * deduped_16_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_16_1, deduped_29_1 ); - deduped_9_1 := KroneckerMat( TransposedMatrix( deduped_12_1 ), KroneckerMat( KroneckerMat( deduped_13_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + deduped_29_1 := Dimension( range_1 ); + deduped_28_1 := UnderlyingRing( cat_1 ); + deduped_27_1 := List( list_1, Dimension ); + deduped_26_1 := HomalgIdentityMatrix( deduped_29_1, deduped_28_1 ); + deduped_25_1 := deduped_27_1[4]; + deduped_24_1 := deduped_27_1[2]; + deduped_23_1 := deduped_27_1[3]; + deduped_22_1 := deduped_27_1[1]; + deduped_21_1 := HomalgIdentityMatrix( deduped_24_1, deduped_28_1 ); + deduped_20_1 := HomalgIdentityMatrix( deduped_22_1, deduped_28_1 ); + deduped_19_1 := HomalgIdentityMatrix( deduped_23_1, deduped_28_1 ); + deduped_18_1 := deduped_23_1 * deduped_25_1; + deduped_17_1 := deduped_22_1 * deduped_24_1; + deduped_16_1 := deduped_22_1 * deduped_23_1; + deduped_15_1 := deduped_16_1 * deduped_29_1; + deduped_14_1 := deduped_16_1 * deduped_16_1; + deduped_13_1 := HomalgIdentityMatrix( deduped_18_1, deduped_28_1 ); + deduped_12_1 := deduped_18_1 * deduped_22_1; + deduped_11_1 := HomalgIdentityMatrix( deduped_17_1, deduped_28_1 ); + deduped_10_1 := HomalgIdentityMatrix( deduped_16_1, deduped_28_1 ); + deduped_9_1 := KroneckerMat( TransposedMatrix( deduped_10_1 ), KroneckerMat( KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_29_1 ) ), deduped_21_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_13_1, deduped_22_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_28_1 ) ), deduped_19_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_11_1, deduped_20_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_26_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_26_1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_29_1 ), deduped_22_1 ) * KroneckerMat( deduped_23_1, ConvertMatrixToColumn( deduped_22_1 ) )), deduped_15_1 ), deduped_21_1 ) * KroneckerMat( deduped_23_1, (KroneckerMat( deduped_15_1, deduped_21_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_20_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_28_1 ), deduped_20_1 ) * KroneckerMat( deduped_21_1, ConvertMatrixToColumn( deduped_20_1 ) )), deduped_13_1 ), deduped_19_1 ) * KroneckerMat( deduped_21_1, (KroneckerMat( deduped_13_1, deduped_19_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_27_1 ) * deduped_25_1 + QUO_INT( deduped_1_2, deduped_27_1 ) + 1); - end ) ), deduped_20_1 ), deduped_20_1, deduped_20_1, deduped_29_1 ), deduped_21_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_27_1, deduped_29_1 ), ConvertMatrixToColumn( deduped_21_1 ) )) ) ); - morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_29_1 ), KroneckerMat( ConvertMatrixToRow( deduped_12_1 ), deduped_10_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); + end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_28_1 ), deduped_19_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_28_1 ), ConvertMatrixToColumn( deduped_19_1 ) )) ) ); + morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_28_1 ), KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_26_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_29_1 ), deduped_10_1 ) * KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_28_1 ), deduped_26_1 ) * KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_29_1 ) ) * deduped_9_1 ); + return (REM_INT( deduped_1_2, deduped_29_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_29_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_28_1 ) ) * deduped_9_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 14160 : IsPrecompiledDerivation := true ); + , 14060 : IsPrecompiledDerivation := true ); ## AddTensorProductInternalHomCompatibilityMorphismWithGivenObjects( cat, @@ -5535,52 +5535,52 @@ end ######## function ( cat_1, source_1, list_1, range_1 ) local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1, deduped_28_1; - deduped_28_1 := UnderlyingRing( cat_1 ); - deduped_27_1 := List( list_1, Dimension ); - deduped_26_1 := deduped_27_1[4]; - deduped_25_1 := deduped_27_1[2]; - deduped_24_1 := deduped_27_1[3]; - deduped_23_1 := deduped_27_1[1]; - deduped_22_1 := HomalgIdentityMatrix( deduped_25_1, deduped_28_1 ); - deduped_21_1 := HomalgIdentityMatrix( deduped_23_1, deduped_28_1 ); - deduped_20_1 := HomalgIdentityMatrix( deduped_24_1, deduped_28_1 ); - deduped_19_1 := deduped_24_1 * deduped_26_1; - deduped_18_1 := deduped_23_1 * deduped_25_1; - deduped_17_1 := deduped_23_1 * deduped_24_1; - deduped_16_1 := HomalgIdentityMatrix( deduped_19_1, deduped_28_1 ); - deduped_15_1 := deduped_19_1 * deduped_23_1; - deduped_14_1 := HomalgIdentityMatrix( deduped_18_1, deduped_28_1 ); - deduped_13_1 := deduped_17_1 * deduped_17_1; - deduped_12_1 := deduped_18_1 * deduped_19_1; - deduped_11_1 := HomalgIdentityMatrix( deduped_17_1, deduped_28_1 ); - deduped_10_1 := deduped_17_1 * deduped_12_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_28_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_11_1 ), deduped_9_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + deduped_28_1 := Dimension( source_1 ); + deduped_27_1 := UnderlyingRing( cat_1 ); + deduped_26_1 := List( list_1, Dimension ); + deduped_25_1 := deduped_26_1[4]; + deduped_24_1 := deduped_26_1[2]; + deduped_23_1 := HomalgIdentityMatrix( deduped_28_1, deduped_27_1 ); + deduped_22_1 := deduped_26_1[3]; + deduped_21_1 := deduped_26_1[1]; + deduped_20_1 := HomalgIdentityMatrix( deduped_24_1, deduped_27_1 ); + deduped_19_1 := HomalgIdentityMatrix( deduped_21_1, deduped_27_1 ); + deduped_18_1 := HomalgIdentityMatrix( deduped_22_1, deduped_27_1 ); + deduped_17_1 := deduped_22_1 * deduped_25_1; + deduped_16_1 := deduped_21_1 * deduped_24_1; + deduped_15_1 := deduped_21_1 * deduped_22_1; + deduped_14_1 := HomalgIdentityMatrix( deduped_17_1, deduped_27_1 ); + deduped_13_1 := deduped_17_1 * deduped_21_1; + deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_27_1 ); + deduped_11_1 := deduped_15_1 * deduped_28_1; + deduped_10_1 := deduped_15_1 * deduped_15_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_15_1, deduped_27_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_23_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_28_1 ), deduped_9_1 ) * KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_27_1 ), deduped_23_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_28_1 ) ) * KroneckerMat( TransposedMatrix( deduped_11_1 ), (KroneckerMat( KroneckerMat( deduped_14_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_28_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_28_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_27_1 ) ) * KroneckerMat( TransposedMatrix( deduped_9_1 ), (KroneckerMat( KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_28_1 ) ), deduped_20_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, deduped_21_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_27_1 ) ), deduped_18_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_12_1, deduped_19_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_28_1 ), deduped_21_1 ) * KroneckerMat( deduped_22_1, ConvertMatrixToColumn( deduped_21_1 ) )), deduped_16_1 ), deduped_20_1 ) * KroneckerMat( deduped_22_1, (KroneckerMat( deduped_16_1, deduped_20_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); + end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_27_1 ), deduped_19_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_19_1 ) )), deduped_14_1 ), deduped_18_1 ) * KroneckerMat( deduped_20_1, (KroneckerMat( deduped_14_1, deduped_18_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_26_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_26_1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_28_1 ), deduped_20_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_26_1, deduped_28_1 ), ConvertMatrixToColumn( deduped_20_1 ) )) )) ); + return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_27_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_27_1 ), ConvertMatrixToColumn( deduped_18_1 ) )) )) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## - , 13958 : IsPrecompiledDerivation := true ); + , 13858 : IsPrecompiledDerivation := true ); ## AddTensorProductOnMorphisms( cat, diff --git a/MonoidalCategories/PackageInfo.g b/MonoidalCategories/PackageInfo.g index b2c66e80b3..8b947b621a 100644 --- a/MonoidalCategories/PackageInfo.g +++ b/MonoidalCategories/PackageInfo.g @@ -10,7 +10,7 @@ SetPackageInfo( rec( PackageName := "MonoidalCategories", Subtitle := "Monoidal and monoidal (co)closed categories", -Version := "2023.08-04", +Version := "2023.08-05", Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ), License := "GPL-2.0-or-later", diff --git a/MonoidalCategories/gap/SymmetricClosedMonoidalCategoriesDerivedMethods.gi b/MonoidalCategories/gap/SymmetricClosedMonoidalCategoriesDerivedMethods.gi index 1798a2b3ae..09e4aef0b3 100644 --- a/MonoidalCategories/gap/SymmetricClosedMonoidalCategoriesDerivedMethods.gi +++ b/MonoidalCategories/gap/SymmetricClosedMonoidalCategoriesDerivedMethods.gi @@ -332,7 +332,7 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject "TensorProductInternalHomCompatibilityMorphismWithGivenObjects using associator, braiding and the evaluation morphism", [ [ InternalHomOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ TensorProductOnObjects, 2 ], + [ TensorProductOnObjects, 1 ], [ PreComposeList, 1 ], [ AssociatorRightToLeft, 2 ], [ TensorProductOnMorphisms, 7 ], @@ -342,7 +342,7 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject [ TensorProductToInternalHomAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, b1, a2, b2, morphism, int_hom_a1_b1, int_hom_a2_b2, id_a2, tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2; + local a1, b1, a2, b2, a1a2, int_hom_a1_b1, int_hom_a2_b2, id_a2, morphism; # (Hom(a1,b1) ⊗ Hom(a2,b2)) ⊗ (a1 ⊗ a2) # | @@ -382,18 +382,17 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject a2 := list[3]; b2 := list[4]; + a1a2 := TensorProductOnObjects( cat, a1, a2 ); + int_hom_a1_b1 := InternalHomOnObjects( cat, a1, b1 ); int_hom_a2_b2 := InternalHomOnObjects( cat, a2, b2 ); id_a2 := IdentityMorphism( cat, a2 ); - tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2 := - TensorProductOnObjects( cat, int_hom_a1_b1, int_hom_a2_b2 ); - morphism := PreComposeList( cat, [ AssociatorRightToLeft( cat, - tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2, + source, a1, a2 ), TensorProductOnMorphisms( cat, @@ -423,8 +422,8 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject EvaluationMorphism( cat, a2, b2 ) ) ] ); return TensorProductToInternalHomAdjunctionMap( cat, - tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2, - TensorProductOnObjects( cat, a1, a2 ), + source, + a1a2, morphism ); end : CategoryFilter := IsSymmetricClosedMonoidalCategory ); @@ -678,8 +677,7 @@ AddDerivationToCAP( MonoidalPreComposeMorphismWithGivenObjects, [ Braiding, 2 ], [ AssociatorRightToLeft, 1 ], [ EvaluationMorphism, 2 ], - [ TensorProductToInternalHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local hom_a_b, hom_b_c, morphism; @@ -735,7 +733,7 @@ AddDerivationToCAP( MonoidalPreComposeMorphismWithGivenObjects, EvaluationMorphism( cat, b, c ) ] ); return TensorProductToInternalHomAdjunctionMap( cat, - TensorProductOnObjects( cat, hom_a_b, hom_b_c ), + source, a, morphism ); @@ -750,8 +748,7 @@ AddDerivationToCAP( MonoidalPostComposeMorphismWithGivenObjects, [ TensorProductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], [ EvaluationMorphism, 2 ], - [ TensorProductToInternalHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local hom_a_b, hom_b_c, morphism; @@ -787,7 +784,7 @@ AddDerivationToCAP( MonoidalPostComposeMorphismWithGivenObjects, EvaluationMorphism( cat, b, c ) ] ); return TensorProductToInternalHomAdjunctionMap( cat, - TensorProductOnObjects( cat, hom_b_c, hom_a_b ), + source, a, morphism ); @@ -852,7 +849,7 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject "TensorProductInternalHomCompatibilityMorphismWithGivenObjects using braiding and the evaluation morphism", [ [ InternalHomOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ TensorProductOnObjects, 2 ], + [ TensorProductOnObjects, 1 ], [ PreComposeList, 1 ], [ TensorProductOnMorphisms, 5 ], [ Braiding, 1 ], @@ -860,7 +857,7 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject [ TensorProductToInternalHomAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, b1, a2, b2, morphism, int_hom_a1_b1, int_hom_a2_b2, id_a2, tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2; + local a1, b1, a2, b2, a1a2, int_hom_a1_b1, int_hom_a2_b2, id_a2, morphism; # Hom(a1,b1) ⊗ Hom(a2,b2) ⊗ a1 ⊗ a2 # | @@ -884,15 +881,14 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject a2 := list[3]; b2 := list[4]; + a1a2 := TensorProductOnObjects( cat, a1, a2 ); + int_hom_a1_b1 := InternalHomOnObjects( cat, a1, b1 ); int_hom_a2_b2 := InternalHomOnObjects( cat, a2, b2 ); id_a2 := IdentityMorphism( cat, a2 ); - tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2 := - TensorProductOnObjects( cat, int_hom_a1_b1, int_hom_a2_b2 ); - morphism := PreComposeList( cat, [ TensorProductOnMorphisms( cat, TensorProductOnMorphisms( cat, @@ -911,8 +907,8 @@ AddDerivationToCAP( TensorProductInternalHomCompatibilityMorphismWithGivenObject EvaluationMorphism( cat, a2, b2 ) ) ] ); return TensorProductToInternalHomAdjunctionMap( cat, - tensor_product_on_objects_int_hom_a1_b1_int_hom_a2_b2, - TensorProductOnObjects( cat, a1, a2 ), + source, + a1a2, morphism ); end : CategoryFilter := cat -> HasIsSymmetricClosedMonoidalCategory( cat ) and IsSymmetricClosedMonoidalCategory( cat ) and HasIsStrictMonoidalCategory( cat ) and IsStrictMonoidalCategory( cat ) ); @@ -968,8 +964,7 @@ AddDerivationToCAP( MonoidalPreComposeMorphismWithGivenObjects, [ IdentityMorphism, 2 ], [ Braiding, 2 ], [ EvaluationMorphism, 2 ], - [ TensorProductToInternalHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local hom_a_b, hom_b_c, morphism; @@ -1013,7 +1008,7 @@ AddDerivationToCAP( MonoidalPreComposeMorphismWithGivenObjects, EvaluationMorphism( cat, b, c ) ] ); return TensorProductToInternalHomAdjunctionMap( cat, - TensorProductOnObjects( cat, hom_a_b, hom_b_c ), + source, a, morphism ); @@ -1022,16 +1017,15 @@ end : CategoryFilter := cat -> HasIsSymmetricClosedMonoidalCategory( cat ) and I ## AddDerivationToCAP( MonoidalPostComposeMorphismWithGivenObjects, "MonoidalPostComposeMorphismWithGivenObjects using evaluation, and tensor hom adjunction", - [ [ InternalHomOnObjects, 2 ], + [ [ InternalHomOnObjects, 1 ], [ PreComposeList, 1 ], [ TensorProductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], [ EvaluationMorphism, 2 ], - [ TensorProductToInternalHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) - local hom_a_b, hom_b_c, morphism; + local morphism; # Hom(b,c) ⊗ Hom(a,b) ⊗ a # | @@ -1046,19 +1040,15 @@ AddDerivationToCAP( MonoidalPostComposeMorphismWithGivenObjects, # # Adjoint( Hom(b,c) ⊗ Hom(a,b) ⊗ a → c ) = ( Hom(b,c) ⊗ Hom(a,b) → Hom(a,c) ) - hom_a_b := InternalHomOnObjects( cat, a, b ); - - hom_b_c := InternalHomOnObjects( cat, b, c ); - morphism := PreComposeList( cat, [ TensorProductOnMorphisms( cat, - IdentityMorphism( cat, hom_b_c ), + IdentityMorphism( cat, InternalHomOnObjects( cat, b, c ) ), EvaluationMorphism( cat, a, b ) ), EvaluationMorphism( cat, b, c ) ] ); return TensorProductToInternalHomAdjunctionMap( cat, - TensorProductOnObjects( cat, hom_b_c, hom_a_b ), + source, a, morphism ); diff --git a/MonoidalCategories/gap/SymmetricCoclosedMonoidalCategoriesDerivedMethods.gi b/MonoidalCategories/gap/SymmetricCoclosedMonoidalCategoriesDerivedMethods.gi index 276843e48e..9864ed0b52 100644 --- a/MonoidalCategories/gap/SymmetricCoclosedMonoidalCategoriesDerivedMethods.gi +++ b/MonoidalCategories/gap/SymmetricCoclosedMonoidalCategoriesDerivedMethods.gi @@ -342,7 +342,7 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje "InternalCoHomTensorProductCompatibilityMorphismWithGivenObjects using associator, braiding and the coclosed evaluation morphism", [ [ InternalCoHomOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ TensorProductOnObjects, 2 ], + [ TensorProductOnObjects, 1 ], [ PreComposeList, 1 ], [ TensorProductOnMorphisms, 7 ], [ CoclosedEvaluationMorphism, 2 ], @@ -352,7 +352,7 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje [ TensorProductToInternalCoHomAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, a2, b1, b2, morphism, int_cohom_a1_b1, int_cohom_a2_b2, id_b2, tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2; + local a1, a2, b1, b2, b1b2, int_cohom_a1_b1, int_cohom_a2_b2, id_b2, morphism; # a1 ⊗ a2 # | @@ -392,15 +392,14 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje b1 := list[3]; b2 := list[4]; + b1b2 := TensorProductOnObjects( cat, b1, b2 ); + int_cohom_a1_b1 := InternalCoHomOnObjects( cat, a1, b1 ); int_cohom_a2_b2 := InternalCoHomOnObjects( cat, a2, b2 ); id_b2 := IdentityMorphism( cat, b2 ); - tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2 := - TensorProductOnObjects( cat, int_cohom_a1_b1, int_cohom_a2_b2 ); - morphism := PreComposeList( cat, [ TensorProductOnMorphisms( cat, IdentityMorphism( cat, a1 ), @@ -429,12 +428,12 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje id_b2 ), AssociatorLeftToRight( cat, - tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2, + range, b1, b2 ) ] ); return TensorProductToInternalCoHomAdjunctionMap( cat, - tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2, - TensorProductOnObjects( cat, b1, b2 ), + range, + b1b2, morphism ); end : CategoryFilter := IsSymmetricCoclosedMonoidalCategory ); @@ -690,8 +689,7 @@ AddDerivationToCAP( MonoidalPreCoComposeMorphismWithGivenObjects, [ IdentityMorphism, 2 ], [ AssociatorLeftToRight, 1 ], [ AssociatorRightToLeft, 1 ], - [ TensorProductToInternalCoHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalCoHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local cohom_a_b, cohom_b_c, morphism; @@ -747,7 +745,7 @@ AddDerivationToCAP( MonoidalPreCoComposeMorphismWithGivenObjects, AssociatorRightToLeft( cat, cohom_b_c, cohom_a_b, c ) ] ); return TensorProductToInternalCoHomAdjunctionMap( cat, - TensorProductOnObjects( cat, cohom_b_c, cohom_a_b ), + range, c, morphism ); @@ -762,8 +760,7 @@ AddDerivationToCAP( MonoidalPostCoComposeMorphismWithGivenObjects, [ TensorProductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], [ AssociatorRightToLeft, 1 ], - [ TensorProductToInternalCoHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalCoHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local cohom_a_b, cohom_b_c, morphism; @@ -799,7 +796,7 @@ AddDerivationToCAP( MonoidalPostCoComposeMorphismWithGivenObjects, AssociatorRightToLeft( cat, cohom_a_b, cohom_b_c, c ) ] ); return TensorProductToInternalCoHomAdjunctionMap( cat, - TensorProductOnObjects( cat, cohom_a_b, cohom_b_c ), + range, c, morphism ); @@ -864,7 +861,7 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje "InternalCoHomTensorProductCompatibilityMorphismWithGivenObjects using braiding and the coclosed evaluation morphism", [ [ InternalCoHomOnObjects, 2 ], [ IdentityMorphism, 4 ], - [ TensorProductOnObjects, 2 ], + [ TensorProductOnObjects, 1 ], [ PreComposeList, 1 ], [ TensorProductOnMorphisms, 5 ], [ CoclosedEvaluationMorphism, 2 ], @@ -872,7 +869,7 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje [ TensorProductToInternalCoHomAdjunctionMap, 1 ] ], function( cat, source, list, range ) - local a1, a2, b1, b2, morphism, int_cohom_a1_b1, int_cohom_a2_b2, id_b2, tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2; + local a1, a2, b1, b2, b1b2, int_cohom_a1_b1, int_cohom_a2_b2, id_b2, morphism; # a1 ⊗ a2 # | @@ -896,15 +893,14 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje b1 := list[3]; b2 := list[4]; + b1b2 := TensorProductOnObjects( cat, b1, b2 ); + int_cohom_a1_b1 := InternalCoHomOnObjects( cat, a1, b1 ); int_cohom_a2_b2 := InternalCoHomOnObjects( cat, a2, b2 ); id_b2 := IdentityMorphism( cat, b2 ); - tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2 := - TensorProductOnObjects( cat, int_cohom_a1_b1, int_cohom_a2_b2 ); - morphism := PreComposeList( cat, [ TensorProductOnMorphisms( cat, IdentityMorphism( cat, a1 ), @@ -923,8 +919,8 @@ AddDerivationToCAP( InternalCoHomTensorProductCompatibilityMorphismWithGivenObje id_b2 ) ] ); return TensorProductToInternalCoHomAdjunctionMap( cat, - tensor_product_on_objects_int_cohom_a1_b1_int_cohom_a2_b2, - TensorProductOnObjects( cat, b1, b2 ), + range, + b1b2, morphism ); end : CategoryFilter := cat -> HasIsSymmetricCoclosedMonoidalCategory( cat ) and IsSymmetricCoclosedMonoidalCategory( cat ) and HasIsStrictMonoidalCategory( cat ) and IsStrictMonoidalCategory( cat ) ); @@ -979,8 +975,7 @@ AddDerivationToCAP( MonoidalPreCoComposeMorphismWithGivenObjects, [ Braiding, 2 ], [ TensorProductOnMorphisms, 2 ], [ IdentityMorphism, 2 ], - [ TensorProductToInternalCoHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalCoHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) local cohom_a_b, cohom_b_c, morphism; @@ -1024,7 +1019,7 @@ AddDerivationToCAP( MonoidalPreCoComposeMorphismWithGivenObjects, Braiding( cat, c, cohom_a_b ) ) ] ); return TensorProductToInternalCoHomAdjunctionMap( cat, - TensorProductOnObjects( cat, cohom_b_c, cohom_a_b ), + range, c, morphism ); @@ -1033,16 +1028,15 @@ end : CategoryFilter := cat -> HasIsSymmetricCoclosedMonoidalCategory( cat ) and ## AddDerivationToCAP( MonoidalPostCoComposeMorphismWithGivenObjects, "MonoidalPostCoComposeMorphismWithGivenObjects using coclosed evaluation, and cohom tensor adjunction", - [ [ InternalCoHomOnObjects, 2 ], + [ [ InternalCoHomOnObjects, 1 ], [ PreComposeList, 1 ], [ CoclosedEvaluationMorphism, 2 ], [ TensorProductOnMorphisms, 1 ], [ IdentityMorphism, 1 ], - [ TensorProductToInternalCoHomAdjunctionMap, 1 ], - [ TensorProductOnObjects, 1 ] ], + [ TensorProductToInternalCoHomAdjunctionMap, 1 ] ], function( cat, source, a, b, c, range ) - local cohom_a_b, cohom_b_c, morphism; + local morphism; # a # | @@ -1057,19 +1051,15 @@ AddDerivationToCAP( MonoidalPostCoComposeMorphismWithGivenObjects, # # Adjoint( a → (Cohom(a,b) ⊗ Cohom(b,c)) ⊗ c ) = ( Cohom(a,c) → Cohom(a,b) ⊗ Cohom(b,c) ) - cohom_a_b := InternalCoHomOnObjects( cat, a, b ); - - cohom_b_c := InternalCoHomOnObjects( cat, b, c ); - morphism := PreComposeList( cat, [ CoclosedEvaluationMorphism( cat, a, b ), TensorProductOnMorphisms( cat, - IdentityMorphism( cat, cohom_a_b ), + IdentityMorphism( cat, InternalCoHomOnObjects( cat, a, b ) ), CoclosedEvaluationMorphism( cat, b, c ) ) ] ); return TensorProductToInternalCoHomAdjunctionMap( cat, - TensorProductOnObjects( cat, cohom_a_b, cohom_b_c ), + range, c, morphism );