3 Generalized Morphism Category by Spans 3.1 GAP Categories 3.1-1 IsGeneralizedMorphismCategoryBySpansObject IsGeneralizedMorphismCategoryBySpansObject( object )  filter Returns: true or false The GAP category of objects in the generalized morphism category by spans. 3.1-2 IsGeneralizedMorphismBySpan IsGeneralizedMorphismBySpan( object )  filter Returns: true or false The GAP category of morphisms in the generalized morphism category by spans. 3.2 Properties 3.2-1 HasIdentityAsReversedArrow HasIdentityAsReversedArrow( alpha )  property Returns: true or false The argument is a generalized morphism \alpha by a span a \leftarrow b \rightarrow c. The output is true if a \leftarrow b is congruent to an identity morphism, false otherwise. 3.3 Attributes 3.3-1 UnderlyingHonestObject UnderlyingHonestObject( a )  attribute Returns: an object in \mathbf{A} The argument is an object a in the generalized morphism category by spans. The output is its underlying honest object. 3.3-2 Arrow Arrow( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(b,c) The argument is a generalized morphism \alpha by a span a \leftarrow b \rightarrow c. The output is its arrow b \rightarrow c. 3.3-3 ReversedArrow ReversedArrow( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(b,a) The argument is a generalized morphism \alpha by a span a \leftarrow b \rightarrow c. The output is its reversed arrow a \leftarrow b. 3.3-4 NormalizedSpanTuple NormalizedSpanTuple( alpha )  attribute Returns: a pair of morphisms in \mathbf{A}. The argument is a generalized morphism \alpha: a \rightarrow b by a span. The output is its normalized span pair (a \leftarrow d, d \rightarrow b). 3.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 span. The output is its pseudo inverse b \rightarrow a. 3.3-6 GeneralizedInverseBySpan GeneralizedInverseBySpan( 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 span. 3.3-7 IdempotentDefinedBySubobjectBySpan IdempotentDefinedBySubobjectBySpan( 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 span defined by \alpha. 3.3-8 IdempotentDefinedByFactorobjectBySpan IdempotentDefinedByFactorobjectBySpan( 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 span defined by \alpha. 3.3-9 NormalizedSpan NormalizedSpan( 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 span. The output is its normalization by span. 3.4 Operations 3.4-1 GeneralizedMorphismFromFactorToSubobjectBySpan GeneralizedMorphismFromFactorToSubobjectBySpan( 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 span from the factorobject to the subobject. 3.5 Constructors 3.5-1 GeneralizedMorphismBySpan GeneralizedMorphismBySpan( alpha, beta )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,b) The arguments are morphisms \alpha: a \leftarrow c and \beta: c \rightarrow b in \mathbf{A}. The output is a generalized morphism by span with arrow \beta and reversed arrow \alpha. 3.5-2 GeneralizedMorphismBySpan GeneralizedMorphismBySpan( 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 span defined by the composition the given three arrows regarded as generalized morphisms. 3.5-3 GeneralizedMorphismBySpanWithRangeAid GeneralizedMorphismBySpanWithRangeAid( alpha, beta )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(a,c) The arguments are morphisms \alpha: a \rightarrow b, and \beta: b \leftarrow c in \mathbf{A}. The output is a generalized morphism by span defined by the composition the given two arrows regarded as generalized morphisms. 3.5-4 AsGeneralizedMorphismBySpan AsGeneralizedMorphismBySpan( 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 span defined by \alpha. 3.5-5 GeneralizedMorphismCategoryBySpans GeneralizedMorphismCategoryBySpans( A )  attribute Returns: a category The argument is an abelian category \mathbf{A}. The output is its generalized morphism category \mathbf{G(A)} by spans. 3.5-6 GeneralizedMorphismBySpansObject GeneralizedMorphismBySpansObject( 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 spans whose underlying honest object is a.