Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/monoidalcategories/gap/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 25.7.2025 mit Größe 3 kB image not shown  

Quelle  MonoidalCategoriesTest.gd   Sprache: unbekannt

 
# SPDX-License-Identifier: GPL-2.0-or-later
# MonoidalCategories: Monoidal and monoidal (co)closed categories
#
# Declarations
#

#! @Chapter Examples and Tests

#! @Section Test functions

#! @Description
#! This is a debug operation.
#! The arguments are two objects $obj$ in a monoidal category $cat$.
#! The output is true if the left and right unitors are invertible for $obj$.
#! @Returns a boolean
#! @Arguments cat, obj
DeclareOperation( "TestMonoidalUnitorsForInvertibility",
              [ IsCapCategory, IsCapCategoryObject ] );

#! @Description
#! This is a debug operation.
#! The arguments are two objects $obj_1, obj_2, obj_3$ in a monoidal category $cat$.
#! The output is true if the associator are invertible
#! for these 3 objects, false otherwise.
#! @Returns a boolean
#! @Arguments cat, obj_1, obj_2, obj_3
DeclareOperation( "TestAssociatorForInvertibility",
              [ IsCapCategory, IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryObject ] );

#! @Description
#! This is a debug operation.
#! The arguments are two objects $obj_1, obj_2$ in a monoidal category $cat$.
#! The output is true if the triangle identity holds
#! for these 2 objects, false otherwise.
#! @Returns a boolean
#! @Arguments cat, obj_1, obj_2
DeclareOperation( "TestMonoidalTriangleIdentity",
              [ IsCapCategory, IsCapCategoryObject, IsCapCategoryObject ] );

#! @Description
#! This is a debug operation.
#! The argument is a list $L$ of objects in a monoidal category $cat$.
#! The output is true if the triangle identity holds
#! for all pairs of objects in $L$, otherwise false.
#! @Returns a boolean
#! @Arguments cat, L
DeclareOperation( "TestMonoidalTriangleIdentityForAllPairsInList", [ IsCapCategory, IsList ] );

#! @Description
#! This is a debug operation.
#! The arguments are 4 objects $obj_1, obj_2, obj_3, obj_4$ in a monoidal category $cat$.
#! The output is true if the pentagon identity holds
#! for these 4 objects, false otherwise.
#! @Returns a boolean
#! @Arguments cat, obj_1, obj_2, obj_3, obj_4
DeclareOperation( "TestMonoidalPentagonIdentity",
              [ IsCapCategory, IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryObject ] );

#! @Description
#! This is a debug operation.
#! The arguments are 4 objects $obj_1, obj_2, obj_3, obj_4$ in a monoidal category $cat$.
#! The output is true if the pentagon identity holds
#! for these 4 objects, false otherwise.
#! This test uses the WithGiven-operations.
#! @Returns a boolean
#! @Arguments cat, obj_1, obj_2, obj_3, obj_4
DeclareOperation( "TestMonoidalPentagonIdentityUsingWithGivenOperations",
              [ IsCapCategory, IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryObject ] );

#! @Description
#! This is a debug operation.
#! The argument is a list $L$ of objects in a monoidal category $cat$.
#! The output is true if the pentagon identity holds
#! for all quadruples of objects in $L$, otherwise false.
#! @Returns a boolean
#! @Arguments cat, L
DeclareOperation( "TestMonoidalPentagonIdentityForAllQuadruplesInList", [ IsCapCategory, IsList ] );

#! @Description
#! The arguments are
#! * a CAP category $cat$
#! * objects $a, b, c$
#! * a morphism $\alpha: a \rightarrow b$
#! * a morphism $\beta: c \rightarrow d$
#! This function checks for every operation
#! declared in MonoidalCategories.gd
#! if it is computable in the CAP category $cat$.
#! If yes, then the operation is executed
#! with the parameters given above and
#! compared to the equivalent computation in
#! the opposite category of $cat$.
#! Pass the options
#! * `verbose := true` to output more information.
#! * `only_primitive_operations := true`,
#!    which is passed on to Opposite(),
#!    to only primitively install
#!    dual operations for primitively
#!    installed operations in $cat$.
#!    The advantage is, that more derivations might be tested.
#!    On the downside, this might test fewer dual_pre/postprocessor_funcs.
#! @Arguments cat, a, b, c, alpha, beta
DeclareGlobalFunction( "MonoidalCategoriesTest" );

[ Dauer der Verarbeitung: 0.21 Sekunden  (vorverarbeitet)  ]