4 Generalized Morphism Category by Three Arrows 4.1 GAP Categories 4.1-1 IsGeneralizedMorphismCategoryByThreeArrowsObject IsGeneralizedMorphismCategoryByThreeArrowsObject( object )  filter Returns: true or false The GAP category of objects in the generalized morphism category by three arrows. 4.1-2 IsGeneralizedMorphismByThreeArrows IsGeneralizedMorphismByThreeArrows( object )  filter Returns: true or false The GAP category of morphisms in the generalized morphism category by three arrows. 4.2 Properties 4.2-1 HasIdentitiesAsReversedArrows HasIdentitiesAsReversedArrows( alpha )  property Returns: true or false The argument is a generalized morphism \alpha by three arrows a \leftarrow b \rightarrow c \leftarrow d. The output is true if a \leftarrow b and c \leftarrow d are congruent to identity morphisms, false otherwise. 4.2-2 HasIdentityAsSourceAid HasIdentityAsSourceAid( alpha )  property Returns: true or false The argument is a generalized morphism \alpha by three arrows a \leftarrow b \rightarrow c \leftarrow d. The output is true if a \leftarrow b is congruent to an identity morphism, false otherwise. 4.2-3 HasIdentityAsRangeAid HasIdentityAsRangeAid( alpha )  property Returns: true or false The argument is a generalized morphism \alpha by three arrows a \leftarrow b \rightarrow c \leftarrow d. The output is true if c \leftarrow d is congruent to an identity morphism, false otherwise. 4.3 Attributes 4.3-1 UnderlyingHonestObject UnderlyingHonestObject( a )  attribute Returns: an object in \mathbf{A} The argument is an object a in the generalized morphism category by three arrows. The output is its underlying honest object. 4.3-2 SourceAid SourceAid( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(b,a) The argument is a generalized morphism \alpha by three arrows a \leftarrow b \rightarrow c \leftarrow d. The output is its source aid a \leftarrow b. 4.3-3 RangeAid RangeAid( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(d,c) The argument is a generalized morphism \alpha by three arrows a \leftarrow b \rightarrow c \leftarrow d. The output is its range aid c \leftarrow d. 4.3-4 Arrow Arrow( alpha )  attribute Returns: a morphism in \mathrm{Hom}_{\mathbf{A}}(b,c) The argument is a generalized morphism \alpha by three arrows a \leftarrow b \rightarrow c \leftarrow d. The output is its range aid b \rightarrow c. 4.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 three arrows. The output is its pseudo inverse b \rightarrow a. 4.3-6 GeneralizedInverseByThreeArrows GeneralizedInverseByThreeArrows( 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 three arrows. 4.3-7 IdempotentDefinedBySubobjectByThreeArrows IdempotentDefinedBySubobjectByThreeArrows( 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 three arrows defined by \alpha. 4.3-8 IdempotentDefinedByFactorobjectByThreeArrows IdempotentDefinedByFactorobjectByThreeArrows( 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 three arrows defined by \alpha. 4.4 Operations 4.4-1 GeneralizedMorphismFromFactorToSubobjectByThreeArrows GeneralizedMorphismFromFactorToSubobjectByThreeArrows( 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 three arrows from the factorobject to the subobject. 4.4-2 CommonCoastriction CommonCoastriction( L )  operation Returns: a list of generalized morphisms The argument is a list L of generalized morphisms by three arrows having the same range. The output is a list of generalized morphisms by three arrows which is the comman coastriction of L. 4.5 Constructors 4.5-1 GeneralizedMorphismByThreeArrows GeneralizedMorphismByThreeArrows( 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 three arrows with source aid \alpha, arrow \beta, and range aid \gamma. 4.5-2 GeneralizedMorphismByThreeArrowsWithSourceAid GeneralizedMorphismByThreeArrowsWithSourceAid( 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 three arrows defined by the composition the given two arrows regarded as generalized morphisms. 4.5-3 GeneralizedMorphismByThreeArrowsWithRangeAid GeneralizedMorphismByThreeArrowsWithRangeAid( beta, gamma )  operation Returns: a morphism in \mathrm{Hom}_{\mathbf{G(A)}}(b,d) The arguments are morphisms \beta: b \rightarrow c, and \gamma: c \leftarrow d in \mathbf{A}. The output is a generalized morphism by three arrows defined by the composition the given two arrows regarded as generalized morphisms. 4.5-4 AsGeneralizedMorphismByThreeArrows AsGeneralizedMorphismByThreeArrows( 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 three arrows defined by \alpha. 4.5-5 GeneralizedMorphismCategoryByThreeArrows GeneralizedMorphismCategoryByThreeArrows( A )  attribute Returns: a category The argument is an abelian category \mathbf{A}. The output is its generalized morphism category \mathbf{G(A)} by three arrows. 4.5-6 GeneralizedMorphismByThreeArrowsObject GeneralizedMorphismByThreeArrowsObject( 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 three arrows whose underlying honest object is a.