Skip to content

Commit a87d0e3

Browse files
committed
Some small fixes and improvements
1 parent c1b69a8 commit a87d0e3

File tree

1 file changed

+56
-34
lines changed

1 file changed

+56
-34
lines changed

CAP/gap/DerivedMethods.gi

Lines changed: 56 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1933,51 +1933,63 @@ end : Description := "IsomorphismFromCoimageToCokernelOfKernel as the inverse of
19331933
AddDerivationToCAP( IsomorphismFromEqualizerToKernelOfJointPairwiseDifferencesOfMorphismsIntoDirectProduct,
19341934

19351935
function( cat, A, diagram )
1936-
local joint_pairwise_differences, equalizer_embedding;
1936+
local joint_pairwise_differences, equalizer, equalizer_embedding;
19371937

19381938
joint_pairwise_differences := JointPairwiseDifferencesOfMorphismsIntoDirectProduct( cat, A, diagram );
19391939

1940-
equalizer_embedding := EmbeddingOfEqualizer( cat, A, diagram );
1940+
equalizer := Equalizer( cat, A, diagram );
19411941

1942-
return KernelLift( cat, joint_pairwise_differences, Source( equalizer_embedding ), equalizer_embedding );
1942+
equalizer_embedding := EmbeddingOfEqualizerWithGivenEqualizer( cat, A, diagram, equalizer );
1943+
1944+
return KernelLift( cat, joint_pairwise_differences, equalizer, equalizer_embedding );
19431945

19441946
end : Description := "IsomorphismFromEqualizerToKernelOfJointPairwiseDifferencesOfMorphismsIntoDirectProduct using the universal property of the kernel" );
19451947

19461948
##
19471949
AddDerivationToCAP( IsomorphismFromKernelOfJointPairwiseDifferencesOfMorphismsIntoDirectProductToEqualizer,
19481950

19491951
function( cat, A, diagram )
1950-
local kernel_embedding;
1952+
local joint_pairwise_differences, kernel_object, kernel_embedding;
1953+
1954+
joint_pairwise_differences := JointPairwiseDifferencesOfMorphismsIntoDirectProduct( cat, A, diagram );
1955+
1956+
kernel_object := KernelObject( cat, joint_pairwise_differences );
19511957

1952-
kernel_embedding := KernelEmbedding( cat, JointPairwiseDifferencesOfMorphismsIntoDirectProduct( cat, A, diagram ) );
1958+
kernel_embedding := KernelEmbeddingWithGivenKernelObject( cat, joint_pairwise_differences, kernel_object );
19531959

1954-
return UniversalMorphismIntoEqualizer( cat, A, diagram, Source( kernel_embedding ), kernel_embedding );
1960+
return UniversalMorphismIntoEqualizer( cat, A, diagram, kernel_object, kernel_embedding );
19551961

19561962
end : Description := "IsomorphismFromKernelOfJointPairwiseDifferencesOfMorphismsIntoDirectProductToEqualizer using the universal property of the equalizer" );
19571963

19581964
##
19591965
AddDerivationToCAP( IsomorphismFromCoequalizerToCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproduct,
19601966

19611967
function( cat, A, diagram )
1962-
local cokernel_proj;
1968+
local joint_pairwise_differences, cokernel_object, cokernel_proj;
19631969

1964-
cokernel_proj := CokernelProjection( cat, JointPairwiseDifferencesOfMorphismsFromCoproduct( cat, A, diagram ) );
1970+
joint_pairwise_differences := JointPairwiseDifferencesOfMorphismsFromCoproduct( cat, A, diagram );
1971+
1972+
cokernel_object := CokernelObject( cat, joint_pairwise_differences );
19651973

1966-
return UniversalMorphismFromCoequalizer( cat, A, diagram, Range( cokernel_proj ), cokernel_proj );
1974+
cokernel_proj := CokernelProjectionWithGivenCokernelObject( cat, joint_pairwise_differences, cokernel_object );
1975+
1976+
return UniversalMorphismFromCoequalizer( cat, A, diagram, cokernel_object, cokernel_proj );
19671977

19681978
end : Description := "IsomorphismFromCoequalizerToCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproduct using the universal property of the coequalizer" );
19691979

19701980
##
19711981
AddDerivationToCAP( IsomorphismFromCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproductToCoequalizer,
19721982

19731983
function( cat, A, diagram )
1974-
local joint_pairwise_differences, coequalizer_projection;
1984+
local joint_pairwise_differences, coequalizer, coequalizer_projection;
19751985

19761986
joint_pairwise_differences := JointPairwiseDifferencesOfMorphismsFromCoproduct( cat, A, diagram );
19771987

1978-
coequalizer_projection := ProjectionOntoCoequalizer( cat, A, diagram );
1988+
coequalizer := Coequalizer( cat, A, diagram );
1989+
1990+
coequalizer_projection := ProjectionOntoCoequalizerWithGivenCoequalizer( cat, A, diagram, coequalizer );
19791991

1980-
return CokernelColift( cat, joint_pairwise_differences, Range( coequalizer_projection ), coequalizer_projection );
1992+
return CokernelColift( cat, joint_pairwise_differences, coequalizer, coequalizer_projection );
19811993

19821994
end : Description := "IsomorphismFromCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproductToCoequalizer using the universal property of the cokernel" );
19831995

@@ -1986,13 +1998,13 @@ AddDerivationToCAP( IsomorphismFromFiberProductToEqualizerOfDirectProductDiagram
19861998
[ [ DirectProduct, 1 ],
19871999
[ PreCompose, 2 ],
19882000
[ ProjectionInFactorOfDirectProductWithGivenDirectProduct, 2 ],
1989-
[ ProjectionInFactorOfFiberProduct, 2 ],
2001+
[ ProjectionInFactorOfFiberProductWithGivenFiberProduct, 2 ],
19902002
[ UniversalMorphismIntoDirectProductWithGivenDirectProduct, 1 ],
19912003
[ FiberProduct, 1 ],
19922004
[ UniversalMorphismIntoEqualizer, 1 ] ],
19932005

19942006
function( cat, diagram )
1995-
local sources_of_diagram, direct_product, direct_product_diagram, test_source, fiber_product_embedding;
2007+
local sources_of_diagram, direct_product, direct_product_diagram, fiber_product, test_source, fiber_product_embedding;
19962008

19972009
sources_of_diagram := List( diagram, Source );
19982010

@@ -2001,11 +2013,13 @@ AddDerivationToCAP( IsomorphismFromFiberProductToEqualizerOfDirectProductDiagram
20012013
direct_product_diagram := List( [ 1.. Length( sources_of_diagram ) ],
20022014
i -> PreCompose( cat, ProjectionInFactorOfDirectProductWithGivenDirectProduct( cat, sources_of_diagram, i, direct_product ), diagram[ i ] ) );
20032015

2004-
test_source := List( [ 1 .. Length( diagram ) ], i -> ProjectionInFactorOfFiberProduct( cat, diagram, i ) );
2016+
fiber_product := FiberProduct( cat, diagram );
20052017

2006-
fiber_product_embedding := UniversalMorphismIntoDirectProductWithGivenDirectProduct( cat, sources_of_diagram, FiberProduct( cat, diagram ), test_source, direct_product );
2018+
test_source := List( [ 1 .. Length( diagram ) ], i -> ProjectionInFactorOfFiberProductWithGivenFiberProduct( cat, diagram, i, fiber_product ) );
20072019

2008-
return UniversalMorphismIntoEqualizer( cat, direct_product, direct_product_diagram, Source( fiber_product_embedding ), fiber_product_embedding );
2020+
fiber_product_embedding := UniversalMorphismIntoDirectProductWithGivenDirectProduct( cat, sources_of_diagram, fiber_product, test_source, direct_product );
2021+
2022+
return UniversalMorphismIntoEqualizer( cat, direct_product, direct_product_diagram, fiber_product, fiber_product_embedding );
20092023

20102024
end : Description := "IsomorphismFromFiberProductToEqualizerOfDirectProductDiagram using the universal property of the equalizer" );
20112025

@@ -2025,11 +2039,12 @@ AddDerivationToCAP( IsomorphismFromEqualizerOfDirectProductDiagramToFiberProduct
20252039
[ [ PreCompose, 4 ],
20262040
[ ProjectionInFactorOfDirectProductWithGivenDirectProduct, 2 ],
20272041
[ DirectProduct, 1 ],
2028-
[ EmbeddingOfEqualizer, 1 ],
2042+
[ Equalizer, 1 ],
2043+
[ EmbeddingOfEqualizerWithGivenEqualizer, 1 ],
20292044
[ UniversalMorphismIntoFiberProduct, 1 ] ],
20302045

20312046
function( cat, diagram )
2032-
local sources_of_diagram, direct_product_diagram, direct_product, equalizer_embedding, equalizer_of_direct_product_diagram;
2047+
local sources_of_diagram, direct_product, direct_product_diagram, equalizer, equalizer_embedding, equalizer_of_direct_product_diagram;
20332048

20342049
sources_of_diagram := List( diagram, Source );
20352050

@@ -2038,11 +2053,13 @@ AddDerivationToCAP( IsomorphismFromEqualizerOfDirectProductDiagramToFiberProduct
20382053
direct_product_diagram := List( [ 1.. Length( sources_of_diagram ) ],
20392054
i -> PreCompose( cat, ProjectionInFactorOfDirectProductWithGivenDirectProduct( cat, sources_of_diagram, i, direct_product ), diagram[ i ] ) );
20402055

2041-
equalizer_embedding := EmbeddingOfEqualizer( cat, direct_product, direct_product_diagram );
2056+
equalizer := Equalizer( cat, direct_product, direct_product_diagram );
2057+
2058+
equalizer_embedding := EmbeddingOfEqualizerWithGivenEqualizer( cat, direct_product, direct_product_diagram, equalizer );
20422059

20432060
equalizer_of_direct_product_diagram := List( [ 1 .. Length( direct_product_diagram ) ], i -> PreCompose( cat, equalizer_embedding, direct_product_diagram[ i ] ) );
20442061

2045-
return UniversalMorphismIntoFiberProduct( cat, diagram, Source( equalizer_embedding ), equalizer_of_direct_product_diagram );
2062+
return UniversalMorphismIntoFiberProduct( cat, diagram, equalizer, equalizer_of_direct_product_diagram );
20462063

20472064
end : Description := "IsomorphismFromEqualizerOfDirectProductDiagramToFiberProduct using the universal property of the fiber product" );
20482065

@@ -2062,24 +2079,27 @@ AddDerivationToCAP( IsomorphismFromPushoutToCoequalizerOfCoproductDiagram,
20622079
[ [ Coproduct, 1 ],
20632080
[ PreCompose, 4 ],
20642081
[ InjectionOfCofactorOfCoproductWithGivenCoproduct, 2 ],
2065-
[ ProjectionOntoCoequalizer, 1 ],
2082+
[ Coequalizer, 1 ],
2083+
[ ProjectionOntoCoequalizerWithGivenCoequalizer, 1 ],
20662084
[ UniversalMorphismFromPushout, 1 ] ],
20672085

20682086
function( cat, diagram )
2069-
local ranges_of_diagram, coproduct, coproduct_diagram, coequalizer_projection, coequalizer_of_coproduct_diagram;
2087+
local ranges_of_diagram, coproduct, coproduct_diagram, coequalizer, coequalizer_projection, coequalizer_of_coproduct_diagram;
20702088

20712089
ranges_of_diagram := List( diagram, Range );
20722090

20732091
coproduct := Coproduct( cat, ranges_of_diagram );
20742092

2075-
coproduct_diagram := List( [ 1.. Length( ranges_of_diagram ) ],
2076-
i -> PreCompose( cat, diagram[ i ], InjectionOfCofactorOfCoproductWithGivenCoproduct( cat, ranges_of_diagram, i, coproduct ) ) );
2093+
coproduct_diagram := List( [ 1 .. Length( ranges_of_diagram ) ],
2094+
i -> PreCompose( cat, diagram[ i ], InjectionOfCofactorOfCoproductWithGivenCoproduct( cat, ranges_of_diagram, i, coproduct ) ) );
20772095

2078-
coequalizer_projection := ProjectionOntoCoequalizer( cat, coproduct, coproduct_diagram );
2096+
coequalizer := Coequalizer( cat, coproduct, coproduct_diagram );
2097+
2098+
coequalizer_projection := ProjectionOntoCoequalizerWithGivenCoequalizer( cat, coproduct, coproduct_diagram, coequalizer );
20792099

20802100
coequalizer_of_coproduct_diagram := List( [ 1 .. Length( coproduct_diagram ) ], i -> PreCompose( cat, coproduct_diagram[ i ], coequalizer_projection ) );
20812101

2082-
return UniversalMorphismFromPushout( cat, diagram, Range( coequalizer_projection ), coequalizer_of_coproduct_diagram );
2102+
return UniversalMorphismFromPushout( cat, diagram, coequalizer, coequalizer_of_coproduct_diagram );
20832103

20842104
end : Description := "IsomorphismFromPushoutToCoequalizerOfCoproductDiagram using the universal property of the pushout" );
20852105

@@ -2099,26 +2119,28 @@ AddDerivationToCAP( IsomorphismFromCoequalizerOfCoproductDiagramToPushout,
20992119
[ [ Coproduct, 1 ],
21002120
[ PreCompose, 2 ],
21012121
[ InjectionOfCofactorOfCoproductWithGivenCoproduct, 2 ],
2102-
[ InjectionOfCofactorOfPushout, 2 ],
2122+
[ InjectionOfCofactorOfPushoutWithGivenPushout, 2 ],
21032123
[ UniversalMorphismFromCoproductWithGivenCoproduct, 1 ],
21042124
[ Pushout, 1 ],
21052125
[ UniversalMorphismFromCoequalizer, 1 ] ],
21062126

21072127
function( cat, diagram )
2108-
local ranges_of_diagram, coproduct, coproduct_diagram, test_source, pushout_injection;
2128+
local ranges_of_diagram, coproduct, coproduct_diagram, pushout, test_sink, pushout_injection;
21092129

21102130
ranges_of_diagram := List( diagram, Range );
21112131

21122132
coproduct := Coproduct( cat, ranges_of_diagram );
21132133

2114-
coproduct_diagram := List( [ 1.. Length( ranges_of_diagram ) ],
2115-
i -> PreCompose( cat, diagram[ i ], InjectionOfCofactorOfCoproductWithGivenCoproduct( cat, ranges_of_diagram, i, coproduct ) ) );
2134+
coproduct_diagram := List( [ 1 .. Length( ranges_of_diagram ) ],
2135+
i -> PreCompose( cat, diagram[ i ], InjectionOfCofactorOfCoproductWithGivenCoproduct( cat, ranges_of_diagram, i, coproduct ) ) );
2136+
2137+
pushout := Pushout( cat, diagram );
21162138

2117-
test_source := List( [ 1 .. Length( diagram ) ], i -> InjectionOfCofactorOfPushout( cat, diagram, i ) );
2139+
test_sink := List( [ 1 .. Length( diagram ) ], i -> InjectionOfCofactorOfPushoutWithGivenPushout( cat, diagram, i, pushout ) );
21182140

2119-
pushout_injection := UniversalMorphismFromCoproductWithGivenCoproduct( cat, ranges_of_diagram, Pushout( cat, diagram ), test_source, coproduct );
2141+
pushout_injection := UniversalMorphismFromCoproductWithGivenCoproduct( cat, ranges_of_diagram, pushout, test_sink, coproduct );
21202142

2121-
return UniversalMorphismFromCoequalizer( cat, coproduct, coproduct_diagram, Source( pushout_injection ), pushout_injection );
2143+
return UniversalMorphismFromCoequalizer( cat, coproduct, coproduct_diagram, pushout, pushout_injection );
21222144

21232145
end : Description := "IsomorphismFromCoequalizerOfCoproductDiagramToPushout using the universal property of the coequalizer" );
21242146

0 commit comments

Comments
 (0)