"Source: Text/Geometry/ModAbVar.text";
"Line: 2863";
"Date: Fri Sep  9 15:10:23 2022";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/Geometry/ModAbVar.text, line: 2863
// Example: H145E54 ()
print "Example: H145E54";
ei := GetEchoInput();
SetEchoInput(true);
J := JZero(65);
A,B,C := Explode(Decomposition(J));
pi := NaturalMap(J,B+C);
IsSurjective(pi);
assert $1;
f := NaturalMap(J,B);
psi := UniversalPropertyOfCokernel(pi,f); psi;
Matrix(psi);
pi*psi eq f;    // apply pi then psi is the same as applying f.
assert $1;
Denominator(psi);   
assert $1 eq 2;
G := Kernel(pi); G;
H, K := Kernel(f);
H;
G subset K;
assert not $1;
SetEchoInput(ei);
