Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Path: gap4r8 / pkg / GeneralizedMorphismsForCAP-2017.09.09 / gap / GeneralizedMorphismCategoryByCospans.gd
Views: 418346############################################################################# ## ## GeneralizedMorphismsForCAP package ## ## Copyright 2015, Sebastian Gutsche, TU Kaiserslautern ## Sebastian Posur, RWTH Aachen ## #! @Chapter Generalized Morphism Category by Cospans ## ############################################################################# #################################### ## #! @Section GAP Categories ## #################################### #! @Description #! The GAP category of objects in the #! generalized morphism category by cospans. #! @Arguments object DeclareCategory( "IsGeneralizedMorphismCategoryByCospansObject", IsGeneralizedMorphismCategoryObject ); #! @Description #! The GAP category of morphisms in the #! generalized morphism category by cospans. #! @Arguments object DeclareCategory( "IsGeneralizedMorphismByCospan", IsGeneralizedMorphism ); #################################### ## ## Technical stuff ## #################################### DeclareGlobalFunction( "INSTALL_FUNCTIONS_FOR_GENERALIZED_MORPHISM_CATEGORY_BY_COSPANS" ); DeclareFilter( "WasCreatedAsGeneralizedMorphismCategoryByCospans" ); #################################### ## #! @Section Properties ## #################################### #! @Description #! The argument is a generalized morphism $\alpha$ by #! a cospan $a \rightarrow b \leftarrow c$. #! The output is <C>true</C> if $b \leftarrow c$ #! is congruent to an identity morphism, #! <C>false</C> otherwise. #! @Arguments alpha DeclareProperty( "HasIdentityAsReversedArrow", IsGeneralizedMorphismByCospan ); #################################### ## #! @Section Attributes ## #################################### #! @Description #! The argument is an object $a$ in the generalized morphism category by cospans. #! The output is its underlying honest object. #! @Returns an object in $\mathbf{A}$ #! @Arguments a DeclareAttribute( "UnderlyingHonestObject", IsGeneralizedMorphismCategoryByCospansObject ); #! @Description #! The argument is a generalized morphism $\alpha$ by #! a cospan $a \rightarrow b \leftarrow c$. #! The output is its arrow $a \rightarrow b$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{A}}(a,c)$ #! @Arguments alpha DeclareAttribute( "Arrow", IsGeneralizedMorphismByCospan ); #! @Description #! The argument is a generalized morphism $\alpha$ by #! a cospan $a \rightarrow b \leftarrow c$. #! The output is its reversed arrow $b \leftarrow c$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{A}}(c,b)$ #! @Arguments alpha DeclareAttribute( "ReversedArrow", IsGeneralizedMorphismByCospan ); #! @Description #! The argument is a generalized morphism $\alpha: a \rightarrow b$ by #! a cospan. #! The output is its normalized cospan pair $(a \rightarrow d, d \leftarrow b)$. #! @Returns a pair of morphisms in $\mathbf{A}$. #! @Arguments alpha DeclareAttribute( "NormalizedCospanTuple", IsGeneralizedMorphismByCospan ); #! @Description #! The argument is a generalized morphism $\alpha: a \rightarrow b$ by #! a cospan. #! The output is its pseudo inverse $b \rightarrow a$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(b,a)$ #! @Arguments alpha DeclareAttribute( "PseudoInverse", IsGeneralizedMorphismByCospan ); #! @Description #! The argument is a morphism $\alpha: a \rightarrow b \in \mathbf{A}$. #! The output is its generalized inverse $b \rightarrow a$ by cospan. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(b,a)$ #! @Arguments alpha DeclareAttribute( "GeneralizedInverseByCospan", IsCapCategoryMorphism ); #! @Description #! The argument is a subobject $\alpha: a \hookrightarrow b \in \mathbf{A}$. #! The output is the idempotent $b \rightarrow b \in \mathbf{G(A)}$ by cospan #! defined by $\alpha$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(b,b)$ #! @Arguments alpha DeclareAttribute( "IdempotentDefinedBySubobjectByCospan", IsCapCategoryMorphism ); #! @Description #! The argument is a factorobject $\alpha: b \twoheadrightarrow a \in \mathbf{A}$. #! The output is the idempotent $b \rightarrow b \in \mathbf{G(A)}$ by cospan #! defined by $\alpha$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(b,b)$ #! @Arguments alpha DeclareAttribute( "IdempotentDefinedByFactorobjectByCospan", IsCapCategoryMorphism ); #! @Description #! The argument is a generalized morphism $\alpha: a \rightarrow b$ by #! a cospan. The output is its normalization by cospan. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(a,b)$ #! @Arguments alpha DeclareAttribute( "NormalizedCospan", IsGeneralizedMorphismByCospan ); #################################### ## #! @Section Operations ## #################################### #! @Description #! The arguments are a a factorobject $\beta: b \twoheadrightarrow c$, #! and a subobject $\alpha: a \hookrightarrow b$. #! The output is the generalized morphism by cospan from the factorobject to the subobject. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(c,a)$ #! @Arguments beta, alpha DeclareOperation( "GeneralizedMorphismFromFactorToSubobjectByCospan", [ IsCapCategoryMorphism, IsCapCategoryMorphism ] ); #################################### ## #! @Section Constructors ## #################################### #! @Description #! The arguments are morphisms $\alpha: a \rightarrow b$ and $\beta: c \rightarrow b$ in $\mathbf{A}$. #! The output is a generalized morphism by cospan #! with arrow $\alpha$ and reversed arrow $\beta$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(a,c)$ #! @Arguments alpha, beta DeclareOperation( "GeneralizedMorphismByCospan", [ IsCapCategoryMorphism, IsCapCategoryMorphism ] ); #! @Description #! The arguments are morphisms $\alpha: a \leftarrow b$, #! $\beta: b \rightarrow c$, #! and $\gamma: c \leftarrow d$ in $\mathbf{A}$. #! The output is a generalized morphism by cospan #! defined by the composition the given three arrows #! regarded as generalized morphisms. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(a,d)$ #! @Arguments alpha, beta, gamma DeclareOperation( "GeneralizedMorphismByCospan", [ IsCapCategoryMorphism, IsCapCategoryMorphism, IsCapCategoryMorphism ] ); #! @Description #! The arguments are morphisms $\alpha: a \leftarrow b$, #! and $\beta: b \rightarrow c$ in $\mathbf{A}$. #! The output is a generalized morphism by cospan #! defined by the composition the given two arrows #! regarded as generalized morphisms. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(a,c)$ #! @Arguments alpha, beta DeclareOperation( "GeneralizedMorphismByCospanWithSourceAid", [ IsCapCategoryMorphism, IsCapCategoryMorphism ] ); #! @Description #! The argument is a morphism $\alpha: a \rightarrow b$ in $\mathbf{A}$. #! The output is the honest generalized morphism by cospan defined by $\alpha$. #! @Returns a morphism in $\mathrm{Hom}_{\mathbf{G(A)}}(a,b)$ #! @Arguments alpha DeclareAttribute( "AsGeneralizedMorphismByCospan", IsCapCategoryMorphism ); #! @Description #! The argument is an abelian category $\mathbf{A}$. #! The output is its generalized morphism category $\mathbf{G(A)}$ by cospans. #! @Returns a category #! @Arguments A DeclareAttribute( "GeneralizedMorphismCategoryByCospans", IsCapCategory ); #! @Description #! The argument is an object $a$ in an abelian category $\mathbf{A}$. #! The output is the object in the generalized morphism category by cospans #! whose underlying honest object is $a$. #! @Returns an object in $\mathbf{G(A)}$ #! @Arguments a DeclareAttribute( "GeneralizedMorphismByCospansObject", IsCapCategoryObject ); #################################### ## #! @Section Constructors of lifts of exact functors and natrual (iso)morphisms ## #################################### #! @Description #! Lift the <E>exact</E> functor <A>F</A> to a functor <M>A \to B</M>, #! where <M>A := </M> <C>GeneralizedMorphismCategoryByCospans( AsCapCategory( Source( </C><A>F</A><C> ) ) )</C> #! and <M>B := </M> <C>GeneralizedMorphismCategoryByCospans( AsCapCategory( Range( </C><A>F</A><C> ) ) )</C>. #! @Arguments F, name DeclareOperation( "AsGeneralizedMorphismByCospan", [ IsCapFunctor, IsString ] );