An elementary topos is a finite complete, cartesian closed category with a subobject classifier. It follows that an elementary topos is also a finitely cocomplete Heyting category.
The doctrines of (co)cartesian (co)closed categories and their variations are implemented in the CAP-based package CartesianCategories.
‣ ExactCoverWithGlobalElements( a ) | ( attribute ) |
Returns: a list of morphisms in \(\mathrm{Hom}( t, a )\)
The argument is an object a of a category \(\mathbf{C}\) which is enriched over itself, i.e., \(\mathbf{C}\) = RangeCategoryOfHomomorphismStructure( \(\mathbf{C}\) ). The output is a list \(D\) of global elements of a (i.e., morphisms from the distinguished object \(t :=\)DistinguishedObjectOfHomomorphismStructure( \(\mathbf{C}\) ) to a), such that UniversalMorphismFromCoproduct(a, \(D\)) is an isomorphism.
‣ IndexOfNonliftableMorphismFromDistinguishedObject( iota ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( t, \mathrm{Target}( \iota ) )\)
The argument is a nonepimorphic monomorphism iota of a category \(\mathbf{C}\) which is enriched over itself, i.e., \(\mathbf{C}\) = RangeCategoryOfHomomorphismStructure( \(\mathbf{C}\) ). The output is a positive integer, namely the position of a morphism \(\tau\) in the list ExactCoverWithGlobalElements( Range( iota ) ) of morphisms from the distinguished object \(t :=\)DistinguishedObjectOfHomomorphismStructure( \(\mathbf{C}\) ) to Range( iota ), such that IsLiftableAlongMonomorphism( iota, \(\tau\) ) = false.
‣ NonliftableMorphismFromDistinguishedObject( iota ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( t, \mathrm{Target}( \iota ) )\)
The argument is a nonepimorphic monomorphism iota of a category \(\mathbf{C}\) which is enriched over itself, i.e., \(\mathbf{C}\) = RangeCategoryOfHomomorphismStructure( \(\mathbf{C}\) ). The output is a morphism \(\tau\) from the distinguished object \(t :=\)DistinguishedObjectOfHomomorphismStructure( \(\mathbf{C}\) ) to Range( iota ), such that IsLiftableAlongMonomorphism( iota, \(\tau\) ) = false.
‣ IsElementaryTopos( C ) | ( property ) |
Returns: true or false
The property of the category C being an elementary topos.
A subobject classifier consists of three parts:
an object \(\Omega\),
a function \(\mathrm{true}\) providing a morphism \(\mathrm{true}: 1 \rightarrow \Omega\),
a function \(\chi\) mapping each monomorphism \(i : A \rightarrow S\) to a morphism \(\chi_i : S \to \Omega\).
The triple \((\Omega,\mathrm{true},\chi)\) is called a subobject classifier if for each monomorphism \(i : A \to S\), the morphism \(\chi_i : S \to \Omega\) is the unique morphism such that \(\chi_i \circ i = \mathrm{true} \circ \ast\) determine a pullback diagram.
‣ SubobjectClassifier( C ) | ( attribute ) |
Returns: an object
The argument is a category \(C\). The output is the subobject classifier object \(\Omega\) of \(C\).
‣ CartesianSquareOfSubobjectClassifier( C ) | ( attribute ) |
Returns: an object
The argument is a category \(C\). The output is the cartesian square of the subobject classifier object \Omega of \(C\).
‣ ClassifyingMorphismOfSubobject( m ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{Target}(m), \mathrm{SubobjectClassifier} )\)
The argument is a monomorphism \(m : A \rightarrow S\). The output is its classifying morphism \(\chi_m : S \rightarrow \mathrm{SubobjectClassifier}\).
‣ ClassifyingMorphismOfSubobjectWithGivenSubobjectClassifier( m, omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{Target}(m), \mathrm{SubobjectClassifier} )\)
The arguments are a monomorphism \(m : A \rightarrow S\) and the subobject classifier \(\Omega\). The output is the classifying morphism of the monomorphism \(\chi_m : S \rightarrow \mathrm{SubobjectClassifier}\).
‣ SubobjectOfClassifyingMorphism( chi ) | ( attribute ) |
Returns: a monomorphism in \(\mathrm{Hom}( A, S )\)
The argument is a classifying morphism \(\chi : S \rightarrow \Omega\). The output is the subobject monomorphism of the classifying morphism, \(m : A \rightarrow S\).
‣ ListOfSubobjects( A ) | ( attribute ) |
Returns: a list of monomorphisms into \(A\).
The argument is an object A. The output is a list of all subobjects of A.
‣ TruthMorphismOfTrue( C ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{TerminalObject}, \mathrm{SubobjectClassifier} )\)
The argument is a category \(C\). The output is the truth morphism \(\mathrm{true}: \mathrm{TerminalObject} \rightarrow \mathrm{SubobjectClassifier}\).
‣ TruthMorphismOfTrueWithGivenObjects( T, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( T, \Omega )\)
The arguments are the terminal object of the category and the subobject classifier. The output is the truth morphism \(\mathrm{true}: T \rightarrow \Omega\).
‣ TruthMorphismOfFalse( C ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{TerminalObject}, \mathrm{SubobjectClassifier} )\)
The argument is a category \(C\). The output is the truth morphism \(\mathrm{false}: \mathrm{TerminalObject} \rightarrow \mathrm{SubobjectClassifier}\).
‣ TruthMorphismOfFalseWithGivenObjects( T, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( T, \Omega )\)
The arguments are the terminal object T of the category and the subobject classifier Omega. The output is the truth morphism \(\mathrm{false}: T \rightarrow \Omega\).
‣ TruthMorphismOfNot( C ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{SubobjectClassifier}, \mathrm{SubobjectClassifier} )\)
The argument is a category \(C\). The output is the truth endomorphism \(\mathrm{not}: \mathrm{SubobjectClassifier} \rightarrow \mathrm{SubobjectClassifier}\).
‣ TruthMorphismOfNotWithGivenObjects( Omega, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( \Omega, \Omega )\)
The arguments are a subobject classifier Omega as first and as second argument. The output is the truth endomorphism \(\mathrm{not}: \Omega \rightarrow \Omega\).
‣ TruthMorphismOfAnd( C ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{CartesianSquareOfSubobjectClassifier}, \mathrm{SubobjectClassifier} )\)
The argument is a category \(C\). The output is the truth morphism \(\mathrm{and}: \mathrm{CartesianSquareOfSubobjectClassifier} \rightarrow \mathrm{SubobjectClassifier}\).
‣ TruthMorphismOfAndWithGivenObjects( Omega2, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( \Omega^{\times 2}, \Omega )\)
The arguments are the cartesian square Omega^{\times 2} of a subobject classifier Omega of the category and the subobject classifier. The output is the truth morphism \(\mathrm{and}: \Omega^{\times 2} \rightarrow \Omega\).
‣ TruthMorphismOfOr( C ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{CartesianSquareOfSubobjectClassifier}, \mathrm{SubobjectClassifier} )\)
The argument is a category \(C\). The output is the truth morphism \(\mathrm{or}: \mathrm{CartesianSquareOfSubobjectClassifier} \rightarrow \mathrm{SubobjectClassifier}\).
‣ TruthMorphismOfOrWithGivenObjects( Omega2, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( \Omega^{\times 2}, \Omega )\)
The arguments are the cartesian square Omega^{\times 2} of a subobject classifier Omega of the category and the subobject classifier. The output is the truth morphism \(\mathrm{or}: \Omega^{\times 2} \rightarrow \Omega\).
‣ TruthMorphismOfImplies( C ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{CartesianSquareOfSubobjectClassifier}, \mathrm{SubobjectClassifier} )\)
The argument is a category \(C\). The output is the truth morphism \(\mathrm{implies}: \mathrm{CartesianSquareOfSubobjectClassifier} \rightarrow \mathrm{SubobjectClassifier}\).
‣ TruthMorphismOfImpliesWithGivenObjects( Omega2, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( \Omega^{\times 2}, \Omega )\)
The arguments are the cartesian square Omega^{\times 2} of a subobject classifier Omega of the category and the subobject classifier. The output is the truth morphism \(\mathrm{implies}: \Omega^{\times 2} \rightarrow \Omega\).
‣ PowerObject( a ) | ( attribute ) |
Returns: an object
The argument is an object a. The output is the power object \(P(a)\) of a.
‣ PowerObjectFunctorial( f ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{PowerObject}(b), \mathrm{PowerObject}(a) )\)
The argument is a morphism f\(:a \to b\). The output is the power morphism of \(P(f): P(b) \to P(a)\).
gap> LoadPackage( "FinSetsForCAP" ); true gap> a := FinSet( 3 ); |3| gap> b := FinSet( 4 ); |4| gap> f := MapOfFinSets( a, [ 0, 1, 1 ], b ); |3| → |4| gap> Pf := PowerObjectFunctorial( f ); |16| → |8| gap> Display( Pf ); { 0,..., 15 } ⱶ[ 0, 1, 6, 7, 0, 1, 6, 7, 0, 1, 6, 7, 0, 1, 6, 7 ]→ { 0,..., 7 }
‣ PowerObjectFunctorialWithGivenPowerObjects( Pb, f, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( Pb, Pa )\)
The arguments are an object Pb, a morphism \(f:a \to b\), and object Pa, such that Pa\(= P(a)\) and Pb\(= P(b)\). The output is the power morphism of \(P(f): Pb \to Pa\).
‣ PowerObjectRightEvaluationMorphism( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( a \times \mathrm{PowerObject}(a), \Omega )\)
The argument is an object a. The output is the power object right evaluation morphism of \(\epsilon_a: a \times P(a) \to \Omega\), where \(\Omega\) is the subobject classifier of CapCategory(a).
‣ PowerObjectRightEvaluationMorphismWithGivenObjects( axPa, a, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( axPa, Omega )\)
The arguments are three objects Pa_xa, a, and Omega, such that axPa\(= a \times P(a)\) and Omega the subobject classifier of CapCategory(a). The output is the power object right evaluation morphism of \(\epsilon_a:\) axPa \(\to\) Omega.
‣ PowerObjectLeftEvaluationMorphism( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{PowerObject}(a) \times a, \Omega )\)
The argument is an object a. The output is the power object left evaluation morphism of \(\epsilon_a: P(a) \times a \to \Omega\), where \(\Omega\) is the subobject classifier of CapCategory(a).
‣ PowerObjectLeftEvaluationMorphismWithGivenObjects( Pa_xa, a, Omega ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( Pa_xa, Omega )\)
The arguments are three objects Pa_xa, a, and Omega, such that Pa_xa\(= P(a) \times a\) and Omega the subobject classifier of CapCategory(a). The output is the power object left evaluation morphism of \(\epsilon_a:\) Pa_xa \(\to\) Omega.
‣ PRightTransposeMorphism( a, b, f ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( b, P(a) )\)
The arguments are two objects a, b, a morphism f: a \(\times\) b \(\to \Omega\), where \(\Omega\) is the subobject classifier of CapCategory(f). The output is the \(P\)-right-transpose morphism b \(\to P(a)\), where \(P(a) =\) PowerObject( a ).
‣ PRightTransposeMorphismWithGivenRange( a, b, f, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( b, Pa )\)
The arguments are two objects a, b, a morphism f: a \(\times\) b \(\to \Omega\), and an object Pa, where \(\Omega\) is the subobject classifier of CapCategory(f) and Pa = PowerObject( a ). The output is the \(P\)-right-transpose morphism b \(\to\) Pa.
‣ PLeftTransposeMorphism( a, b, f ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( a, P(b) )\)
The arguments are two objects a, b, a morphism f: a \(\times\) b \(\to \Omega\), where \(\Omega\) is the subobject classifier of CapCategory(f). The output is the \(P\)-left-transpose morphism a \(\to P(b)\), where \(P(b) =\) PowerObject( b ).
‣ PLeftTransposeMorphismWithGivenRange( a, b, f, Pb ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( a, Pb )\)
The arguments are two objects a, b, a morphism f: a \(\times\) b \(\to \Omega\), and an object Pb, where \(\Omega\) is the subobject classifier of CapCategory(f) and Pb = PowerObject( b ). The output is the \(P\)-left-transpose morphism a \(\to\) Pb.
‣ UpperSegmentOfRelation( a, b, mu ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( a, \mathrm{PowerObject}( b ) )\)
The arguments are two objects a, b in a category \(C\) and a monomorphism mu\(: r \hookrightarrow a \times b\) defining a relation on \(a \times b\). The output is the upper segment of the relation which is a morphism \(a \to Pb\) given by the adjunction, where \(Pb\) := PowerObject( b ) is the the power object of b.
‣ UpperSegmentOfRelationWithGivenRange( a, b, mu, Pb ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( a, Pb )\)
The arguments are two objects a, b in a category \(C\), a monomorphism mu\(: r \hookrightarrow a \times b\) defining a relation on \(a \times b\), and the power object Pb := PowerObject( b ) of b. The output is the upper segment of the relation which is a morphism \(a \to Pb\) given by the adjunction.
‣ LowerSegmentOfRelation( a, b, mu ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( b, \mathrm{PowerObject}( a ) )\)
The arguments are two objects a, b in a category \(C\) and a monomorphism mu\(:r \hookrightarrow a \times b\) defining a relation on \(a \times b\). The output is the lower segment of the relation which is a morphism \(b \to Pa\) given by the adjunction, where \(Pa\) := PowerObject( a ) is the the power object of a.
‣ LowerSegmentOfRelationWithGivenRange( a, b, mu, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( b, Pa )\)
The arguments are two objects a, b in a category \(C\), a monomorphism mu\(:r \hookrightarrow a \times b\) defining a relation on \(a \times b\), and the power object Pa := PowerObject( a ) of a. The output is the lower segment of the relation which is a morphism \(b \to Pa\) given by the adjunction.
‣ SingletonMorphism( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( a, \mathrm{PowerObject}(a) )\)
The argument is an object a. The output is the singleton morphism from a to the power object \(\mathrm{PowerObject}(a)\).
gap> LoadPackage( "FinSetsForCAP" ); true gap> sFinSets := SkeletalCategoryOfFiniteSets( : no_precompiled_code := true ); SkeletalFinSets gap> a := BigInt( 3 ) / sFinSets; |3| gap> sa := SingletonMorphism( a ); |3| ↪ |8| gap> Display( sa ); { 0, 1, 2 } ⱶ[ 1, 2, 4 ]→ { 0,..., 7 } gap> sa = UpperSegmentOfRelation( a, a, CartesianDiagonal( a, 2 ) ); true gap> sa = LowerSegmentOfRelation( a, a, CartesianDiagonal( a, 2 ) ); true
‣ SingletonMorphismWithGivenPowerObject( a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( a, Pa )\)
The arguments are an object a and an object Pa which is equal to the power object \(\mathrm{PowerObject}(a)\). The output is the singleton morphism from a to Pa.
‣ IsomorphismOntoCartesianSquareOfPowerObject( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{Exponential}( a, \mathrm{CartesianSquareOfSubobjectClassifier}( C ) ), \mathrm{DirectProduct}( \mathrm{PowerObject}(a), \mathrm{PowerObject}(a) ) )\)
The argument is an object a in a category \(C\). The output is the isomorphism \(\mathrm{Exponential}( a, \mathrm{CartesianSquareOfSubobjectClassifier}( C ) ) \rightarrow \mathrm{DirectProduct}( \mathrm{PowerObject}(a), \mathrm{PowerObject}(a) )\).
gap> LoadPackage( "FinSetsForCAP" ); true gap> a := FinSet( 2 ); |2| gap> ia := IsomorphismOntoCartesianSquareOfPowerObject( a ); |16| ⭇ |16| gap> Display( ia ); { 0,..., 15 }\ ⱶ[ 0, 1, 4, 5, 2, 3, 6, 7, 8, 9, 12, 13, 10, 11, 14, 15 ]→ { 0,..., 15 }
‣ IsomorphismOntoCartesianSquareOfPowerObjectWithGivenObjects( Exp_a_Omega2, a, PaxPa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( Exp\_a\_Omega2, PaxPa )\)
The arguments are an object the exponential Exp_a_Omega2 = Exponential( a, CartesianSquareOfSubobjectClassifier ), an object a in a category \(C\), and the cartesian squre PaxPa of the power object PowerObject( a ). The output is the isomorphism \(Exp\_a\_Omega2 \stackrel{\sim}{\rightarrow} PaxPa\)
‣ IntersectWithPreimagesWithGivenObjects( PAxB, f, PA ) | ( operation ) |
Returns: a morphism \(\mathrm{Hom}( PAxB, PA )\)
The input is the direct product PAxB = PA \(\times B\), a morphism f: \(A \to B\), and the power object PA = PowerObject(\(A\)). The output is the morphism PAxB \(\rightarrow\) PA, \((T, b) \mapsto T \cap f^{-1}(b)\).
‣ EmbeddingOfRelativePowerObject( f ) | ( attribute ) |
Returns: a monomorphism \(\mathrm{Hom}( P_fa, Pa \times b )\)
The input is a morphism f: \(a \to b\). The output is the embedding of the relative power object \(P_fa \hookrightarrow Pa \times b\), where \(Pa\) = PowerObject(\(a\)).
‣ RelativePowerObjectFibrationMorphism( f ) | ( attribute ) |
Returns: a monomorphism \(\mathrm{Hom}( P_fa, b )\)
The input is a morphism f: \(a \to b\). The output is the fibration morphism \(P_f: P_fa \rightarrow \times b\), where is \(P_fa\) the relative power object of f.
‣ RelativePowerObjectLeftEvaluationMorphism( f ) | ( attribute ) |
Returns: a monomorphism \(\mathrm{Hom}( P_fa \times a, \Omega \times b )\)
The input is a morphism f: \(a \to b\). The output is the evaluation morphism \(P_fa \times a \rightarrow \Omega \times b\), where \(P_fa\) is the relative power object of f.
‣ RightFiberMorphism( b, c ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( c \times P(b \times c), P(b) )\)
The arguments are two objects b, c. The output is the morphism c \(\times\) PowerObject(b \times c) \(\to\) PowerObject( b ) that for a given relation \(R \subseteq\) b \(\times\) c and an element \(y\) in the base c computes the fiber over \(y\) as subset of b.
gap> LoadPackage( "FinSetsForCAP", false ); true gap> a := FinSet( 3 ); |3| gap> b := FinSet( 2 ); |2| gap> right := RightFiberMorphism( a, b ); |128| → |8| gap> LoadPackage( "LazyCategories", false ); true gap> L := LazyCategory( SkeletalFinSets : primitive_operations := true ); LazyCategory( SkeletalFinSets ) gap> lazy_right := RightFiberMorphism( a / L, b / L ); <A morphism in LazyCategory( SkeletalFinSets )>
‣ RightFiberMorphismWithGivenObjects( cxPbxc, b, c, Pb ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( cxPbxc, Pb )\)
The arguments are four objects cxPbxc, b, c, Pb, where cxPbxc = \(c \times P(b \times c)\) and Pb = PowerObject( b ). The output is the morphism that for a given relation \(R \subseteq\) b \(\times\) c and an element \(y\) in the base c computes the fiber over \(y\) as subset of b.
‣ LeftFiberMorphism( b, c ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( P(b \times c) \times b, P(c) )\)
The arguments are two objects b, c. The output is the morphism PowerObject(b \times c) \(\times\) b \(\to\) PowerObject( c ) that for a given relation \(R \subseteq\) b \(\times\) c and an element \(x\) in the base b computes the fiber over \(x\) as subset of c.
gap> LoadPackage( "FinSetsForCAP", false ); true gap> a := FinSet( 2 ); |2| gap> b := FinSet( 3 ); |3| gap> left := LeftFiberMorphism( a, b ); |128| → |8| gap> LoadPackage( "LazyCategories", false ); true gap> L := LazyCategory( SkeletalFinSets : primitive_operations := true ); LazyCategory( SkeletalFinSets ) gap> lazy_left := LeftFiberMorphism( a / L, b / L ); <A morphism in LazyCategory( SkeletalFinSets )>
‣ LeftFiberMorphismWithGivenObjects( Pbxc_xb, b, c, Pc ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( Pbxc_xb, Pc )\)
The arguments are four objects Pbxc_xb, b, c, Pc, where Pbxc_xb = \(P(b \times c) \times b\) and Pc = PowerObject( c ). The output is the morphism that for a given relation \(R \subseteq\) b \(\times\) c and an element \(x\) in the base b computes the fiber over \(x\) as subset of c.
‣ SingletonSupportOfRelationsWithGivenObjects( Pbxc, b, c, Pb ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( Pbxc, Pb )\)
Return the morphism that for a given relation \(R \subseteq\) b \(\times\) c computes the subset of b over which \(R\) is a singleton.
‣ RelativeTruthMorphismOfTrue( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{TerminalObject}, \mathrm{PowerObect}( a ) )\)
The argument is an object a in a category \(C\). The output is the relative truth morphism \(\mathrm{true}: \mathrm{TerminalObject} \rightarrow \mathrm{PowerObject}( a )\).
‣ RelativeTruthMorphismOfTrueWithGivenObjects( T, a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( T, Pa )\)
The arguments are the terminal object of the category \(C\), an object a, and the power object Pa of a. The output is the relative truth morphism \(\mathrm{true}: T \rightarrow Pa\).
‣ RelativeTruthMorphismOfFalse( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{TerminalObject}, \mathrm{PowerObect}( a ) )\)
The argument is an object a in a category \(C\). The output is the relative truth morphism \(\mathrm{false}: \mathrm{TerminalObject} \rightarrow \mathrm{PowerObject}( a )\).
‣ RelativeTruthMorphismOfFalseWithGivenObjects( T, a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( T, Pa )\)
The arguments are the terminal object of the category \(C\), an object a, and the power object Pa of a. The output is the relative truth morphism \(\mathrm{false}: T \rightarrow Pa\).
‣ RelativeTruthMorphismOfNot( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{PowerObject}( a ), \mathrm{PowerObect}( a ) )\)
The argument is an object a in a category \(C\). The output is the relative truth endomorphism \(\mathrm{not}: \mathrm{PowerObject}( a ) \rightarrow \mathrm{PowerObject}( a )\).
‣ RelativeTruthMorphismOfNotWithGivenObjects( Pa, a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( Pa, Pa )\)
The arguments are the power object Pa of a, the object a, and Pa. The output is the relative truth endomorphism \(\mathrm{not}: Pa \rightarrow Pa\).
‣ RelativeTruthMorphismOfAnd( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{PowerObject}( a ) \times \mathrm{PowerObject}( a ), \mathrm{PowerObject}( a ) )\)
The argument is an object a in a category \(C\). The output is the relative truth morphism \(\mathrm{and}: \mathrm{PowerObject}( a ) \times \mathrm{PowerObject}( a ) \rightarrow \mathrm{PowerObject}( a )\).
‣ RelativeTruthMorphismOfAndWithGivenObjects( PaxPa, a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( PaxPa, Pa )\)
The arguments are the cartesian square PaxPa of the power object Pa of a, the object a, and Pa. The output is the relative truth morphism \(\mathrm{and}: PaxPa \rightarrow Pa\).
‣ RelativeTruthMorphismOfOr( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{PowerObject}( a ) \times \mathrm{PowerObject}( a ), \mathrm{PowerObject}( a ) )\)
The argument is an object a in a category \(C\). The output is the relative truth morphism \(\mathrm{or}: \mathrm{PowerObject}( a ) \times \mathrm{PowerObject}( a ) \rightarrow \mathrm{PowerObject}( a )\).
‣ RelativeTruthMorphismOfOrWithGivenObjects( PaxPa, a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( PaxPa, Pa )\)
The arguments are the cartesian square PaxPa of the power object Pa of a, the object a, and Pa. The output is the relative truth morphism \(\mathrm{or}: PaxPa \rightarrow Pa\).
‣ RelativeTruthMorphismOfImplies( a ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( \mathrm{PowerObject}( a ) \times \mathrm{PowerObject}( a ), \mathrm{PowerObject}( a ) )\)
The argument is an object a in a category \(C\). The output is the relative truth morphism \(\mathrm{implies}: \mathrm{PowerObject}( a ) \times \mathrm{PowerObject}( a ) \rightarrow \mathrm{PowerObject}( a )\).
‣ RelativeTruthMorphismOfImpliesWithGivenObjects( PaxPa, a, Pa ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( PaxPa, Pa )\)
The arguments are the cartesian square PaxPa of the power object Pa of a, the object a, and Pa. The output is the relative truth morphism \(\mathrm{implies}: PaxPa \rightarrow Pa\).
gap> LoadPackage( "FinSetsForCAP" ); true gap> sFinSets := SkeletalFinSets; SkeletalFinSets gap> t := TerminalObject( sFinSets ); |1| gap> TruthMorphismOfFalse( sFinSets ) = RelativeTruthMorphismOfFalse( t ); true gap> TruthMorphismOfTrue( sFinSets ) = RelativeTruthMorphismOfTrue( t ); true gap> TruthMorphismOfNot( sFinSets ) = RelativeTruthMorphismOfNot( t ); true gap> TruthMorphismOfAnd( sFinSets ) = RelativeTruthMorphismOfAnd( t ); true gap> TruthMorphismOfOr( sFinSets ) = RelativeTruthMorphismOfOr( t ); true gap> TruthMorphismOfImplies( sFinSets ) = RelativeTruthMorphismOfImplies( t ); true gap> a := FinSet( 2 ); |2| gap> fPa := RelativeTruthMorphismOfFalse( a ); |1| → |4| gap> Display( fPa ); { 0 } ⱶ[ 0 ]→ { 0,..., 3 } gap> tPa := RelativeTruthMorphismOfTrue( a ); |1| → |4| gap> Display( tPa ); { 0 } ⱶ[ 3 ]→ { 0,..., 3 } gap> nPa := RelativeTruthMorphismOfNot( a ); |4| → |4| gap> Display( nPa ); { 0,..., 3 } ⱶ[ 3, 2, 1, 0 ]→ { 0,..., 3 } gap> aPa := RelativeTruthMorphismOfAnd( a ); |16| → |4| gap> Display( aPa ); { 0,..., 15 } ⱶ[ 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 2, 0, 1, 2, 3 ]→ { 0,..., 3 } gap> oPa := RelativeTruthMorphismOfOr( a ); |16| → |4| gap> Display( oPa ); { 0,..., 15 } ⱶ[ 0, 1, 2, 3, 1, 1, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3 ]→ { 0,..., 3 } gap> iPa := RelativeTruthMorphismOfImplies( a ); |16| → |4| gap> Display( iPa ); { 0,..., 15 } ⱶ[ 3, 2, 1, 0, 3, 3, 1, 1, 3, 2, 3, 2, 3, 3, 3, 3 ]→ { 0,..., 3 }
‣ PseudoComplementSubobject( iota ) | ( operation ) |
Returns: an object
The argument is a monomorphism \(\iota: S \hookrightarrow A\). The output is the pseudo-complement of \(S\) in \(A\)
, i.e., the pseudo-complement object of \(\iota\).
‣ EmbeddingOfPseudoComplementSubobject( iota ) | ( operation ) |
Returns: an object
The argument is a monomorphism \(\iota: S \hookrightarrow A\). The output is the embedding PseudoComplementSubobject(\(\iota\)) \(\hookrightarrow A\) of pseudo-complement object of \(\iota\).
‣ EmbeddingOfPseudoComplementSubobjectWithGivenPseudoComplement( iota ) | ( operation ) |
Returns: an object
The argument is a monomorphism \(\iota: S \hookrightarrow A\) and an object T with IsEqualForObjects(T, PseudoComplementSubobject(\(\iota\))). The output is the embedding of \(\iota:T \hookrightarrow A\) of pseudo-complement object T of \(\iota\).
‣ IntersectionSubobject( iota1, iota2 ) | ( operation ) |
Returns: an object
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\). The output is the intersection of \(S_1\) and \(S_2\)
, which is naturally isomorphic to the pullback of \(\iota_1\) and \(\iota_2\).
‣ EmbeddingOfIntersectionSubobject( iota1, iota2 ) | ( operation ) |
Returns: a monomorphism into \(A\)
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\). The output is the embedding IntersectionSubobject(\(\iota\)) \(\hookrightarrow A\) of their intersection subobject.
‣ EmbeddingOfIntersectionSubobjectWithGivenIntersection( iota1, iota2, T ) | ( operation ) |
Returns: a monomorphism in \(\mathrm{Hom}( T, A )\)
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\) and an object T with IsEqualForObjects(T, IntersectionSubobject(iota1, iota2)). The output is the embedding \(T \hookrightarrow A\) of their intersection subobject T.
‣ UnionSubobject( iota1, iota2 ) | ( operation ) |
Returns: an object
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\). The output is the union of \(S_1\) and \(S_2\)
, which is naturally isomorphic to the image object of the coproduct morphism of \(\iota_1\) and \(\iota_2\).
‣ EmbeddingOfUnionSubobject( iota1, iota2 ) | ( operation ) |
Returns: a monomorphism into \(A\)
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\). The output is the embedding UnionSubobject(iota1, iota2) \(\hookrightarrow A\) of their union subobject.
‣ EmbeddingOfUnionSubobjectWithGivenUnion( iota1, iota2, U ) | ( operation ) |
Returns: a monomorphism in \(\mathrm{Hom}( U, A )\)
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\) and an object U with IsEqualForObjects(U, UnionSubobject(iota1, iota2)). The output is the embedding \(U \hookrightarrow A\) of their union subobject U.
‣ RelativePseudoComplementSubobject( iota1, iota2 ) | ( operation ) |
Returns: an object
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\). The output is the relative pseudo-complement of \(S_1\) relative to \(S_2\)
.
‣ EmbeddingOfRelativePseudoComplementSubobject( iota1, iota2 ) | ( operation ) |
Returns: a monomorphism into \(A\)
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\). The output is the embedding RelativePseudoComplementSubobject(iota1, iota2) \(\hookrightarrow A\) of their relative pseudo-complement into \(A\).
‣ EmbeddingOfRelativePseudoComplementSubobjectWithGivenImplication( iota1, iota2, I ) | ( operation ) |
Returns: a monomorphism in \(\mathrm{Hom}( I, A )\)
The arguments are two monomorphisms \(\iota_i: S_i \hookrightarrow A\) for \(i=1,2\) and an object I with IsEqualForObjects(I, RelativePseudoComplementSubobject(iota1, iota2)). The output is the embedding \(I \hookrightarrow A\) of their relative pseudo-complement I into \(A\).
Define two composable monos \(K \stackrel{l}{\hookrightarrow} L \stackrel{m}{\hookrightarrow} G\) in FinSets:
gap> LoadPackage( "FinSetsForCAP" ); true gap> K := FinSet( [ 2, 3, 5 ] );; gap> Display( K ); [ 2, 3, 5 ] gap> L := FinSet( [ 0, 1, 2, 3, 5, 6 ] );; gap> Display( L ); [ 0, 1, 2, 3, 5, 6 ] gap> l := EmbeddingOfFinSets( K, L ); <A monomorphism in FinSets> gap> G := FinSet( [ 0, 1, 2, 3, 4, 5, 6, 10 ] );; gap> Display( G ); [ 0, 1, 2, 3, 4, 5, 6, 10 ] gap> m := EmbeddingOfFinSets( L, G ); <A monomorphism in FinSets>
Now we compute the pushout complement \(D \stackrel{c}{\hookrightarrow} G\) of \(K \stackrel{l}{\hookrightarrow} L \stackrel{m}{\hookrightarrow} G\):
gap> HasPushoutComplement( l, m ); true gap> c := PushoutComplement( l, m ); <A monomorphism in FinSets> gap> D := Source( c );; gap> Display( D ); [ 2, 3, 4, 5, 10 ]
Define two composable monos \(K \stackrel{l}{\hookrightarrow} L \stackrel{m}{\hookrightarrow} G\) in SkeletalFinSets:
gap> LoadPackage( "FinSetsForCAP" ); true gap> K := FinSet( 3 ); |3| gap> L := FinSet( 6 ); |6| gap> l := MapOfFinSets( K, [ 2, 3, 4 ], L );; IsMonomorphism( l );; l; |3| ↪ |6| gap> Display( l ); { 0, 1, 2 } ⱶ[ 2, 3, 4 ]→ { 0,..., 5 } gap> G := FinSet( 8 ); |8| gap> Display( G ); { 0,..., 7 } gap> m := MapOfFinSets( L, [ 0, 1, 2, 3, 5, 6 ], G ); |6| → |8| gap> Display( m ); { 0,..., 5 } ⱶ[ 0, 1, 2, 3, 5, 6 ]→ { 0,..., 7 }
Now we compute the pushout complement \(D \stackrel{c}{\hookrightarrow} G\) of \(K \stackrel{l}{\hookrightarrow} L \stackrel{m}{\hookrightarrow} G\):
gap> HasPushoutComplement( l, m ); true gap> c := PushoutComplement( l, m ); |5| → |8| gap> Display( c ); { 0,..., 4 } ⱶ[ 2, 3, 4, 5, 7 ]→ { 0,..., 7 }
‣ HasPushoutComplement( l, m ) | ( operation ) |
Returns: a boolean
The arguments are two composable morphisms \(l: K \rightarrow L\), \(m: L \rightarrow G\). The output is true if there exists a morphism \(d: K \rightarrow D\) and a morphism \(g: D \rightarrow G\) such that the four morphisms \(l,d,m,g\) form a pushout diagram, i.e., such that \(m\)=InjectionOfCofactorOfPushoutWithGivenPushout([\(l,d\)], 1) and \(g\)=InjectionOfCofactorOfPushoutWithGivenPushout([\(l,d\)], 2). Otherwise the output is false.
‣ PushoutComplement( l, m ) | ( operation ) |
Returns: a morphism
The arguments are two composable morphisms \(l: K \rightarrow L\), \(m: L \rightarrow G\). The output is a morphism \(d: K \rightarrow D\) such that there exists a morphism \(g: D \rightarrow G\) turing the four morphisms \(l,d,m,g\) into a pushout diagram, i.e., such that \(m\)=InjectionOfCofactorOfPushoutWithGivenPushout([\(l,d\)], 1) and \(g\)=InjectionOfCofactorOfPushoutWithGivenPushout([\(l,d\)], 2).
‣ DPO( m, l, r ) | ( operation ) |
Returns: a pair of morhpisms
Compute the double-pushout of m along the rule given by [ l, r ].
We start by defining a linear rewriting rule as a span of two monos \(L \stackrel{l}{\hookleftarrow} K \stackrel{r}{\hookrightarrow} R\) in FinSets:
gap> LoadPackage( "FinSetsForCAP" ); true gap> K := FinSet( [ 2, 3, 5 ] );; gap> Length( K ); 3 gap> Display( K ); [ 2, 3, 5 ] gap> L := FinSet( [ 0, 1, 2, 3, 5, 6 ] );; gap> Length( L ); 6 gap> Display( L ); [ 0, 1, 2, 3, 5, 6 ] gap> R := FinSet( [ 2, 3, 4, 5, 7 ] );; gap> Length( R ); 5 gap> Display( R ); [ 2, 3, 4, 5, 7 ] gap> l := EmbeddingOfFinSets( K, L ); <A monomorphism in FinSets> gap> r := EmbeddingOfFinSets( K, R ); <A monomorphism in FinSets>
Then we define an object within the context of the rule and a matching \(L \stackrel{m}{\hookrightarrow} G\):
gap> G := FinSet( [ 0, 1, 2, 3, 4, 5, 6, 10 ] );; gap> Length( G ); 8 gap> Display( G ); [ 0, 1, 2, 3, 4, 5, 6, 10 ] gap> m := EmbeddingOfFinSets( L, G ); <A monomorphism in FinSets>
The double-pushout rewriting now applies the linear rule \((l,r)\) to the matriching \(m\):
gap> p := DPO( m, l, r );; gap> h := p[1]; <A monomorphism in FinSets> gap> p := p[2]; <A monomorphism in FinSets> gap> H := Target( p );; gap> Length( H ); 7 gap> Display( H ); [ [ [ 1, 2 ], [ 2, 2 ] ],\ [ [ 1, 3 ], [ 2, 3 ] ],\ [ [ 1, 4 ] ],\ [ [ 1, 5 ], [ 2, 5 ] ],\ [ [ 1, 10 ] ],\ [ [ 2, 4 ] ],\ [ [ 2, 7 ] ] ]
This means
\(2, 3, 5\) are in \(K\) and hence in both \(G\) and \(R\);
\(10\) is only in \(G\);
\(7\) are only in \(R\);
\(4\) is in \(G\) but it must be duplicated since it is also in \(R\) but not in \(K\).
Compute the Lawvere-Tierney topologies of SkeletalFinSets:
gap> LoadPackage( "FinSetsForCAP" ); true gap> LTI := LawvereTierneyLocalModalityOperators( SkeletalFinSets );; gap> Perform( LTI, Display ); { 0, 1 } ⱶ[ 0, 1 ]→ { 0, 1 } { 0, 1 } ⱶ[ 1, 1 ]→ { 0, 1 } gap> LTS := LawvereTierneySubobjects( SkeletalFinSets );; gap> Perform( LTS, Display ); { 0 } ⱶ[ 1 ]→ { 0, 1 } { 0, 1 } ⱶ[ 0, 1 ]→ { 0, 1 } gap> LTC := LawvereTierneyEmbeddingsOfSubobjectClassifiers( SkeletalFinSets );; gap> Perform( LTC, Display ); { 0, 1 } ⱶ[ 0, 1 ]→ { 0, 1 } { 0 } ⱶ[ 1 ]→ { 0, 1 }
‣ LawvereTierneyLocalModalityOperators( T ) | ( attribute ) |
Returns: a list of endomorphisms in \(\mathrm{Hom}( \mathrm{SubobjectClassifier}( T ), \mathrm{SubobjectClassifier}( T ) )\)
The input is an elementary topos T. The output is the list of Lawvere-Tierney idempotents of the subobject classifier of the topos T.
‣ LawvereTierneySubobjects( T ) | ( attribute ) |
Returns: a list of monomorphisms into \(\mathrm{SubobjectClassifier}( T )\)
The input is an elementary topos T. The output is the list of Lawvere-Tierney subobjects of the subobject classifier of the topos T.
‣ LawvereTierneyEmbeddingsOfSubobjectClassifiers( T ) | ( attribute ) |
Returns: a list of monomorphisms \(\mathrm{SubobjectClassifier}( T )\)
The input is an elementary topos T. The output is the list of embeddings of the subobject classifiers of full sheaf subtoposes (with respect to the Lawvere-Tierney topologies of the topos T) into the subobject classifier of T.
‣ AddCartesianSquareOfSubobjectClassifier( C, F ) | ( operation ) |
‣ AddCartesianSquareOfSubobjectClassifier( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation CartesianSquareOfSubobjectClassifier. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{CartesianSquareOfSubobjectClassifier}()\).
‣ AddClassifyingMorphismOfSubobject( C, F ) | ( operation ) |
‣ AddClassifyingMorphismOfSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation ClassifyingMorphismOfSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( alpha ) \mapsto \mathtt{ClassifyingMorphismOfSubobject}(alpha)\).
‣ AddClassifyingMorphismOfSubobjectWithGivenSubobjectClassifier( C, F ) | ( operation ) |
‣ AddClassifyingMorphismOfSubobjectWithGivenSubobjectClassifier( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation ClassifyingMorphismOfSubobjectWithGivenSubobjectClassifier. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( alpha, Omega ) \mapsto \mathtt{ClassifyingMorphismOfSubobjectWithGivenSubobjectClassifier}(alpha, Omega)\).
‣ AddCoproductComplement( C, F ) | ( operation ) |
‣ AddCoproductComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation CoproductComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota ) \mapsto \mathtt{CoproductComplement}(iota)\).
‣ AddDirectProductComplement( C, F ) | ( operation ) |
‣ AddDirectProductComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation DirectProductComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( pi ) \mapsto \mathtt{DirectProductComplement}(pi)\).
‣ AddEmbeddingOfIntersectionSubobject( C, F ) | ( operation ) |
‣ AddEmbeddingOfIntersectionSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfIntersectionSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota1, iota2 ) \mapsto \mathtt{EmbeddingOfIntersectionSubobject}(iota1, iota2)\).
‣ AddEmbeddingOfIntersectionSubobjectWithGivenIntersection( C, F ) | ( operation ) |
‣ AddEmbeddingOfIntersectionSubobjectWithGivenIntersection( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfIntersectionSubobjectWithGivenIntersection. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota1, iota2, intersection ) \mapsto \mathtt{EmbeddingOfIntersectionSubobjectWithGivenIntersection}(iota1, iota2, intersection)\).
‣ AddEmbeddingOfPseudoComplementSubobject( C, F ) | ( operation ) |
‣ AddEmbeddingOfPseudoComplementSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfPseudoComplementSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota ) \mapsto \mathtt{EmbeddingOfPseudoComplementSubobject}(iota)\).
‣ AddEmbeddingOfPseudoComplementSubobjectWithGivenPseudoComplement( C, F ) | ( operation ) |
‣ AddEmbeddingOfPseudoComplementSubobjectWithGivenPseudoComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfPseudoComplementSubobjectWithGivenPseudoComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota, complement ) \mapsto \mathtt{EmbeddingOfPseudoComplementSubobjectWithGivenPseudoComplement}(iota, complement)\).
‣ AddEmbeddingOfRelativePseudoComplementSubobject( C, F ) | ( operation ) |
‣ AddEmbeddingOfRelativePseudoComplementSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfRelativePseudoComplementSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota1, iota2 ) \mapsto \mathtt{EmbeddingOfRelativePseudoComplementSubobject}(iota1, iota2)\).
‣ AddEmbeddingOfRelativePseudoComplementSubobjectWithGivenImplication( C, F ) | ( operation ) |
‣ AddEmbeddingOfRelativePseudoComplementSubobjectWithGivenImplication( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfRelativePseudoComplementSubobjectWithGivenImplication. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota1, iota2, implication ) \mapsto \mathtt{EmbeddingOfRelativePseudoComplementSubobjectWithGivenImplication}(iota1, iota2, implication)\).
‣ AddEmbeddingOfUnionSubobject( C, F ) | ( operation ) |
‣ AddEmbeddingOfUnionSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfUnionSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota1, iota2 ) \mapsto \mathtt{EmbeddingOfUnionSubobject}(iota1, iota2)\).
‣ AddEmbeddingOfUnionSubobjectWithGivenUnion( C, F ) | ( operation ) |
‣ AddEmbeddingOfUnionSubobjectWithGivenUnion( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EmbeddingOfUnionSubobjectWithGivenUnion. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota1, iota2, union ) \mapsto \mathtt{EmbeddingOfUnionSubobjectWithGivenUnion}(iota1, iota2, union)\).
‣ AddExactCoverWithGlobalElements( C, F ) | ( operation ) |
‣ AddExactCoverWithGlobalElements( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation ExactCoverWithGlobalElements. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2 ) \mapsto \mathtt{ExactCoverWithGlobalElements}(arg2)\).
‣ AddHasPushoutComplement( C, F ) | ( operation ) |
‣ AddHasPushoutComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation HasPushoutComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2, arg3 ) \mapsto \mathtt{HasPushoutComplement}(arg2, arg3)\).
‣ AddIndexOfNonliftableMorphismFromDistinguishedObject( C, F ) | ( operation ) |
‣ AddIndexOfNonliftableMorphismFromDistinguishedObject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation IndexOfNonliftableMorphismFromDistinguishedObject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota ) \mapsto \mathtt{IndexOfNonliftableMorphismFromDistinguishedObject}(iota)\).
‣ AddInjectionOfCoproductComplement( C, F ) | ( operation ) |
‣ AddInjectionOfCoproductComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation InjectionOfCoproductComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota ) \mapsto \mathtt{InjectionOfCoproductComplement}(iota)\).
‣ AddInjectionOfCoproductComplementWithGivenCoproductComplement( C, F ) | ( operation ) |
‣ AddInjectionOfCoproductComplementWithGivenCoproductComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation InjectionOfCoproductComplementWithGivenCoproductComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota, complement ) \mapsto \mathtt{InjectionOfCoproductComplementWithGivenCoproductComplement}(iota, complement)\).
‣ AddIntersectionSubobject( C, F ) | ( operation ) |
‣ AddIntersectionSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation IntersectionSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2, arg3 ) \mapsto \mathtt{IntersectionSubobject}(arg2, arg3)\).
‣ AddIsomorphismOntoCartesianSquareOfPowerObject( C, F ) | ( operation ) |
‣ AddIsomorphismOntoCartesianSquareOfPowerObject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation IsomorphismOntoCartesianSquareOfPowerObject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{IsomorphismOntoCartesianSquareOfPowerObject}(a)\).
‣ AddIsomorphismOntoCartesianSquareOfPowerObjectWithGivenObjects( C, F ) | ( operation ) |
‣ AddIsomorphismOntoCartesianSquareOfPowerObjectWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation IsomorphismOntoCartesianSquareOfPowerObjectWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ExpaOmega2, a, PaxPa ) \mapsto \mathtt{IsomorphismOntoCartesianSquareOfPowerObjectWithGivenObjects}(ExpaOmega2, a, PaxPa)\).
‣ AddLawvereTierneyEmbeddingsOfSubobjectClassifiers( C, F ) | ( operation ) |
‣ AddLawvereTierneyEmbeddingsOfSubobjectClassifiers( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LawvereTierneyEmbeddingsOfSubobjectClassifiers. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{LawvereTierneyEmbeddingsOfSubobjectClassifiers}()\).
‣ AddLawvereTierneyLocalModalityOperators( C, F ) | ( operation ) |
‣ AddLawvereTierneyLocalModalityOperators( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LawvereTierneyLocalModalityOperators. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{LawvereTierneyLocalModalityOperators}()\).
‣ AddLawvereTierneySubobjects( C, F ) | ( operation ) |
‣ AddLawvereTierneySubobjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LawvereTierneySubobjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{LawvereTierneySubobjects}()\).
‣ AddLeftFiberMorphism( C, F ) | ( operation ) |
‣ AddLeftFiberMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LeftFiberMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( b, c ) \mapsto \mathtt{LeftFiberMorphism}(b, c)\).
‣ AddLeftFiberMorphismWithGivenObjects( C, F ) | ( operation ) |
‣ AddLeftFiberMorphismWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LeftFiberMorphismWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Pbxc_b, b, c, Pc ) \mapsto \mathtt{LeftFiberMorphismWithGivenObjects}(Pbxc_b, b, c, Pc)\).
‣ AddListOfSubobjects( C, F ) | ( operation ) |
‣ AddListOfSubobjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation ListOfSubobjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2 ) \mapsto \mathtt{ListOfSubobjects}(arg2)\).
‣ AddLowerSegmentOfRelation( C, F ) | ( operation ) |
‣ AddLowerSegmentOfRelation( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LowerSegmentOfRelation. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, mu ) \mapsto \mathtt{LowerSegmentOfRelation}(a, b, mu)\).
‣ AddLowerSegmentOfRelationWithGivenRange( C, F ) | ( operation ) |
‣ AddLowerSegmentOfRelationWithGivenRange( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation LowerSegmentOfRelationWithGivenRange. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, mu, Pa ) \mapsto \mathtt{LowerSegmentOfRelationWithGivenRange}(a, b, mu, Pa)\).
‣ AddNonliftableMorphismFromDistinguishedObject( C, F ) | ( operation ) |
‣ AddNonliftableMorphismFromDistinguishedObject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation NonliftableMorphismFromDistinguishedObject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( iota ) \mapsto \mathtt{NonliftableMorphismFromDistinguishedObject}(iota)\).
‣ AddPLeftTransposeMorphism( C, F ) | ( operation ) |
‣ AddPLeftTransposeMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PLeftTransposeMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, f ) \mapsto \mathtt{PLeftTransposeMorphism}(a, b, f)\).
‣ AddPLeftTransposeMorphismWithGivenRange( C, F ) | ( operation ) |
‣ AddPLeftTransposeMorphismWithGivenRange( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PLeftTransposeMorphismWithGivenRange. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, f, Pb ) \mapsto \mathtt{PLeftTransposeMorphismWithGivenRange}(a, b, f, Pb)\).
‣ AddPRightTransposeMorphism( C, F ) | ( operation ) |
‣ AddPRightTransposeMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PRightTransposeMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, f ) \mapsto \mathtt{PRightTransposeMorphism}(a, b, f)\).
‣ AddPRightTransposeMorphismWithGivenRange( C, F ) | ( operation ) |
‣ AddPRightTransposeMorphismWithGivenRange( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PRightTransposeMorphismWithGivenRange. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, f, Pa ) \mapsto \mathtt{PRightTransposeMorphismWithGivenRange}(a, b, f, Pa)\).
‣ AddPowerObject( C, F ) | ( operation ) |
‣ AddPowerObject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2 ) \mapsto \mathtt{PowerObject}(arg2)\).
‣ AddPowerObjectFunctorial( C, F ) | ( operation ) |
‣ AddPowerObjectFunctorial( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObjectFunctorial. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( f ) \mapsto \mathtt{PowerObjectFunctorial}(f)\).
‣ AddPowerObjectFunctorialWithGivenPowerObjects( C, F ) | ( operation ) |
‣ AddPowerObjectFunctorialWithGivenPowerObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObjectFunctorialWithGivenPowerObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Pb, f, Pa ) \mapsto \mathtt{PowerObjectFunctorialWithGivenPowerObjects}(Pb, f, Pa)\).
‣ AddPowerObjectLeftEvaluationMorphism( C, F ) | ( operation ) |
‣ AddPowerObjectLeftEvaluationMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObjectLeftEvaluationMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{PowerObjectLeftEvaluationMorphism}(a)\).
‣ AddPowerObjectLeftEvaluationMorphismWithGivenObjects( C, F ) | ( operation ) |
‣ AddPowerObjectLeftEvaluationMorphismWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObjectLeftEvaluationMorphismWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Pa_xa, a, Omega ) \mapsto \mathtt{PowerObjectLeftEvaluationMorphismWithGivenObjects}(Pa_xa, a, Omega)\).
‣ AddPowerObjectRightEvaluationMorphism( C, F ) | ( operation ) |
‣ AddPowerObjectRightEvaluationMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObjectRightEvaluationMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{PowerObjectRightEvaluationMorphism}(a)\).
‣ AddPowerObjectRightEvaluationMorphismWithGivenObjects( C, F ) | ( operation ) |
‣ AddPowerObjectRightEvaluationMorphismWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PowerObjectRightEvaluationMorphismWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( axPa, a, Omega ) \mapsto \mathtt{PowerObjectRightEvaluationMorphismWithGivenObjects}(axPa, a, Omega)\).
‣ AddProjectionInDirectProductComplement( C, F ) | ( operation ) |
‣ AddProjectionInDirectProductComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation ProjectionInDirectProductComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( pi ) \mapsto \mathtt{ProjectionInDirectProductComplement}(pi)\).
‣ AddProjectionInDirectProductComplementWithGivenDirectProductComplement( C, F ) | ( operation ) |
‣ AddProjectionInDirectProductComplementWithGivenDirectProductComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation ProjectionInDirectProductComplementWithGivenDirectProductComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( pi, complement ) \mapsto \mathtt{ProjectionInDirectProductComplementWithGivenDirectProductComplement}(pi, complement)\).
‣ AddPseudoComplementSubobject( C, F ) | ( operation ) |
‣ AddPseudoComplementSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PseudoComplementSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2 ) \mapsto \mathtt{PseudoComplementSubobject}(arg2)\).
‣ AddPushoutComplement( C, F ) | ( operation ) |
‣ AddPushoutComplement( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation PushoutComplement. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( l, m ) \mapsto \mathtt{PushoutComplement}(l, m)\).
‣ AddRelativePseudoComplementSubobject( C, F ) | ( operation ) |
‣ AddRelativePseudoComplementSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativePseudoComplementSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2, arg3 ) \mapsto \mathtt{RelativePseudoComplementSubobject}(arg2, arg3)\).
‣ AddRelativeTruthMorphismOfAnd( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfAnd( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfAnd. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{RelativeTruthMorphismOfAnd}(a)\).
‣ AddRelativeTruthMorphismOfAndWithGivenObjects( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfAndWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfAndWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( PaxPa, a, Pa ) \mapsto \mathtt{RelativeTruthMorphismOfAndWithGivenObjects}(PaxPa, a, Pa)\).
‣ AddRelativeTruthMorphismOfFalse( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfFalse( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfFalse. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{RelativeTruthMorphismOfFalse}(a)\).
‣ AddRelativeTruthMorphismOfFalseWithGivenObjects( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfFalseWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfFalseWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( T, a, Pa ) \mapsto \mathtt{RelativeTruthMorphismOfFalseWithGivenObjects}(T, a, Pa)\).
‣ AddRelativeTruthMorphismOfImplies( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfImplies( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfImplies. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{RelativeTruthMorphismOfImplies}(a)\).
‣ AddRelativeTruthMorphismOfImpliesWithGivenObjects( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfImpliesWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfImpliesWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( PaxPa, a, Pa ) \mapsto \mathtt{RelativeTruthMorphismOfImpliesWithGivenObjects}(PaxPa, a, Pa)\).
‣ AddRelativeTruthMorphismOfNot( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfNot( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfNot. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{RelativeTruthMorphismOfNot}(a)\).
‣ AddRelativeTruthMorphismOfNotWithGivenObjects( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfNotWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfNotWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Pa, a, Pa1 ) \mapsto \mathtt{RelativeTruthMorphismOfNotWithGivenObjects}(Pa, a, Pa1)\).
‣ AddRelativeTruthMorphismOfOr( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfOr( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfOr. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{RelativeTruthMorphismOfOr}(a)\).
‣ AddRelativeTruthMorphismOfOrWithGivenObjects( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfOrWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfOrWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( PaxPa, a, Pa ) \mapsto \mathtt{RelativeTruthMorphismOfOrWithGivenObjects}(PaxPa, a, Pa)\).
‣ AddRelativeTruthMorphismOfTrue( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfTrue( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfTrue. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{RelativeTruthMorphismOfTrue}(a)\).
‣ AddRelativeTruthMorphismOfTrueWithGivenObjects( C, F ) | ( operation ) |
‣ AddRelativeTruthMorphismOfTrueWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RelativeTruthMorphismOfTrueWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( T, a, Pa ) \mapsto \mathtt{RelativeTruthMorphismOfTrueWithGivenObjects}(T, a, Pa)\).
‣ AddRightFiberMorphism( C, F ) | ( operation ) |
‣ AddRightFiberMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RightFiberMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( b, c ) \mapsto \mathtt{RightFiberMorphism}(b, c)\).
‣ AddRightFiberMorphismWithGivenObjects( C, F ) | ( operation ) |
‣ AddRightFiberMorphismWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation RightFiberMorphismWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( cxPbxc, b, c, Pb ) \mapsto \mathtt{RightFiberMorphismWithGivenObjects}(cxPbxc, b, c, Pb)\).
‣ AddSingletonMorphism( C, F ) | ( operation ) |
‣ AddSingletonMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation SingletonMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a ) \mapsto \mathtt{SingletonMorphism}(a)\).
‣ AddSingletonMorphismWithGivenPowerObject( C, F ) | ( operation ) |
‣ AddSingletonMorphismWithGivenPowerObject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation SingletonMorphismWithGivenPowerObject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, Pa ) \mapsto \mathtt{SingletonMorphismWithGivenPowerObject}(a, Pa)\).
‣ AddSubobjectClassifier( C, F ) | ( operation ) |
‣ AddSubobjectClassifier( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation SubobjectClassifier. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{SubobjectClassifier}()\).
‣ AddSubobjectOfClassifyingMorphism( C, F ) | ( operation ) |
‣ AddSubobjectOfClassifyingMorphism( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation SubobjectOfClassifyingMorphism. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( alpha ) \mapsto \mathtt{SubobjectOfClassifyingMorphism}(alpha)\).
‣ AddTruthMorphismOfAnd( C, F ) | ( operation ) |
‣ AddTruthMorphismOfAnd( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfAnd. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{TruthMorphismOfAnd}()\).
‣ AddTruthMorphismOfAndWithGivenObjects( C, F ) | ( operation ) |
‣ AddTruthMorphismOfAndWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfAndWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Omega2, Omega ) \mapsto \mathtt{TruthMorphismOfAndWithGivenObjects}(Omega2, Omega)\).
‣ AddTruthMorphismOfFalse( C, F ) | ( operation ) |
‣ AddTruthMorphismOfFalse( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfFalse. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{TruthMorphismOfFalse}()\).
‣ AddTruthMorphismOfFalseWithGivenObjects( C, F ) | ( operation ) |
‣ AddTruthMorphismOfFalseWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfFalseWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( T, Omega ) \mapsto \mathtt{TruthMorphismOfFalseWithGivenObjects}(T, Omega)\).
‣ AddTruthMorphismOfImplies( C, F ) | ( operation ) |
‣ AddTruthMorphismOfImplies( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfImplies. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{TruthMorphismOfImplies}()\).
‣ AddTruthMorphismOfImpliesWithGivenObjects( C, F ) | ( operation ) |
‣ AddTruthMorphismOfImpliesWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfImpliesWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Omega2, Omega ) \mapsto \mathtt{TruthMorphismOfImpliesWithGivenObjects}(Omega2, Omega)\).
‣ AddTruthMorphismOfNot( C, F ) | ( operation ) |
‣ AddTruthMorphismOfNot( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfNot. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{TruthMorphismOfNot}()\).
‣ AddTruthMorphismOfNotWithGivenObjects( C, F ) | ( operation ) |
‣ AddTruthMorphismOfNotWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfNotWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Omega, Omega1 ) \mapsto \mathtt{TruthMorphismOfNotWithGivenObjects}(Omega, Omega1)\).
‣ AddTruthMorphismOfOr( C, F ) | ( operation ) |
‣ AddTruthMorphismOfOr( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfOr. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{TruthMorphismOfOr}()\).
‣ AddTruthMorphismOfOrWithGivenObjects( C, F ) | ( operation ) |
‣ AddTruthMorphismOfOrWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfOrWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( Omega2, Omega ) \mapsto \mathtt{TruthMorphismOfOrWithGivenObjects}(Omega2, Omega)\).
‣ AddTruthMorphismOfTrue( C, F ) | ( operation ) |
‣ AddTruthMorphismOfTrue( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfTrue. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( ) \mapsto \mathtt{TruthMorphismOfTrue}()\).
‣ AddTruthMorphismOfTrueWithGivenObjects( C, F ) | ( operation ) |
‣ AddTruthMorphismOfTrueWithGivenObjects( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation TruthMorphismOfTrueWithGivenObjects. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( T, Omega ) \mapsto \mathtt{TruthMorphismOfTrueWithGivenObjects}(T, Omega)\).
‣ AddUnionSubobject( C, F ) | ( operation ) |
‣ AddUnionSubobject( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation UnionSubobject. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( arg2, arg3 ) \mapsto \mathtt{UnionSubobject}(arg2, arg3)\).
‣ AddUpperSegmentOfRelation( C, F ) | ( operation ) |
‣ AddUpperSegmentOfRelation( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation UpperSegmentOfRelation. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, mu ) \mapsto \mathtt{UpperSegmentOfRelation}(a, b, mu)\).
‣ AddUpperSegmentOfRelationWithGivenRange( C, F ) | ( operation ) |
‣ AddUpperSegmentOfRelationWithGivenRange( C, F, weight ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation UpperSegmentOfRelationWithGivenRange. Optionally, a weight (default: 100) can be specified which should roughly correspond to the computational complexity of the function (lower weight = less complex = faster execution). \(F: ( a, b, mu, Pb ) \mapsto \mathtt{UpperSegmentOfRelationWithGivenRange}(a, b, mu, Pb)\).
‣ CoproductComplement( iota ) | ( attribute ) |
Returns: an object
The argument is a morphism iota\(: S \to T\) which is a coproduct injection of some binary coproduct. The output is an object \(C\) such that \(S \sqcup C \cong T\).
‣ InjectionOfCoproductComplement( iota ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( C, \mathrm{Target}( \iota ) )\)
The argument is a morphism iota\(: S \to T\) which is a coproduct injection of some binary coproduct. The output is a coproduct injection \(\iota_2: C \to T\) such that UniversalMorphismFromCoproduct( iota, \(\iota_2\) )\(: S \sqcup C \to T\) is an isomorphism.
‣ InjectionOfCoproductComplementWithGivenCoproductComplement( iota, C ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( C, \mathrm{Target}( \iota ) )\)
The argument is a morphism iota\(: S \to T\) which is a coproduct injection of some binary coproduct and a coproduct complement C. The output is a coproduct injection \(\iota_2:\) C \(\to T\) such that UniversalMorphismFromCoproduct( iota, \(\iota_2\) )\(: S \sqcup C \to T\) is an isomorphism.
‣ DirectProductComplement( pi ) | ( attribute ) |
Returns: an object
The argument is a morphism pi\(: S \to T\) which is a product projection of some binary direct product. The output is an object \(C\) such that \(S \times C \cong T\).
‣ ProjectionInDirectProductComplement( pi ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}( C, \mathrm{Target}( \pi ) )\)
The argument is a morphism pi\(: S \to T\) which is a direct product projection of some binary direct product. The output is a direct product projection \(\pi_2: C \to T\) such that UniversalMorphismIntoDirectProduct( pi, \(\pi_2\) )\(: T \to S \times C\) is an isomorphism.
‣ ProjectionInDirectProductComplementWithGivenDirectProductComplement( pi, C ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}( C, \mathrm{Target}( \pi ) )\)
The argument is a morphism pi\(: S \to T\) which is a direct product projection of some binary direct product and a coproduct complement C. The output is a direct product projection \(\pi_2:\) C \(\to T\) such that UniversalMorphismIntoDirectProduct( pi, \(\pi_2\) )\(: T \to S \times C\) is an isomorphism.
generated by GAPDoc2HTML