2 Generalized Morphism Category by Cospans 2.1 GAP Categories 2.1-1 IsGeneralizedMorphismCategoryByCospansObject IsGeneralizedMorphismCategoryByCospansObject( object )  filter Returns: true or false The GAP category of objects in the generalized morphism category by cospans. 2.1-2 IsGeneralizedMorphismByCospan IsGeneralizedMorphismByCospan( object )  filter Returns: true or false The GAP category of morphisms in the generalized morphism category by cospans. 2.2 Properties 2.2-1 HasIdentityAsReversedArrow HasIdentityAsReversedArrow( alpha )  property Returns: true or false The argument is a generalized morphism \alpha by a cospan a \rightarrow b \leftarrow c. The output is true if b \leftarrow c is congruent to an identity morphism, false otherwise. 2.3 Attributes 2.3-1 UnderlyingHonestObject UnderlyingHonestObject( a )  attribute Returns: an object in \mathbf{A} The argument is an object a in the generalized morphism category by cospans. The output is its underlying honest object. 2.3-2 Arrow Arrow( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(a,c) The argument is a generalized morphism \alpha by a cospan a \rightarrow b \leftarrow c. The output is its arrow a \rightarrow b. 2.3-3 ReversedArrow ReversedArrow( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(c,b) The argument is a generalized morphism \alpha by a cospan a \rightarrow b \leftarrow c. The output is its reversed arrow b \leftarrow c. 2.3-4 NormalizedCospanTuple NormalizedCospanTuple( alpha )  attribute Returns: a pair of morphisms in \mathbf{A}. 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). 2.3-5 PseudoInverse PseudoInverse( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(b,a) The argument is a generalized morphism \alpha: a \rightarrow b by a cospan. The output is its pseudo inverse b \rightarrow a. 2.3-6 GeneralizedInverseByCospan GeneralizedInverseByCospan( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(b,a) The argument is a morphism \alpha: a \rightarrow b \in \mathbf{A}. The output is its generalized inverse b \rightarrow a by cospan. 2.3-7 IdempotentDefinedBySubobjectByCospan IdempotentDefinedBySubobjectByCospan( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(b,b) 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. 2.3-8 IdempotentDefinedByFactorobjectByCospan IdempotentDefinedByFactorobjectByCospan( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(b,b) 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. 2.3-9 NormalizedCospan NormalizedCospan( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,b) The argument is a generalized morphism \alpha: a \rightarrow b by a cospan. The output is its normalization by cospan. 2.4 Operations 2.4-1 GeneralizedMorphismFromFactorToSubobjectByCospan GeneralizedMorphismFromFactorToSubobjectByCospan( beta, alpha )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(c,a) 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. 2.5 Constructors 2.5-1 GeneralizedMorphismByCospan GeneralizedMorphismByCospan( alpha, beta )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,c) 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. 2.5-2 GeneralizedMorphismByCospan GeneralizedMorphismByCospan( alpha, beta, gamma )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,d) 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. 2.5-3 GeneralizedMorphismByCospanWithSourceAid GeneralizedMorphismByCospanWithSourceAid( alpha, beta )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,c) 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. 2.5-4 AsGeneralizedMorphismByCospan AsGeneralizedMorphismByCospan( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,b) The argument is a morphism \alpha: a \rightarrow b in \mathbf{A}. The output is the honest generalized morphism by cospan defined by \alpha. 2.5-5 GeneralizedMorphismCategoryByCospans GeneralizedMorphismCategoryByCospans( A )  attribute Returns: a category The argument is an abelian category \mathbf{A}. The output is its generalized morphism category \mathbf{G(A)} by cospans. 2.5-6 GeneralizedMorphismByCospansObject GeneralizedMorphismByCospansObject( a )  attribute Returns: an object in \mathbf{G(A)} 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. 2.6 Constructors of lifts of exact functors and natrual (iso)morphisms 2.6-1 AsGeneralizedMorphismByCospan AsGeneralizedMorphismByCospan( F, name )  operation Lift the exact functor F to a functor A -> B, where A := GeneralizedMorphismCategoryByCospans( AsCapCategory( Source( F ) ) ) and B := GeneralizedMorphismCategoryByCospans( AsCapCategory( Range( F ) ) ).