"Source: Text/Ring/FldFunG.text";
"Line: 7043";
"Date: Thu Jun 16 15:04:46 2022";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/Ring/FldFunG.text, line: 7043
// Example: H45E39 ()
print "Example: H45E39";
ei := GetEchoInput();
SetEchoInput(true);
PF<x> := PolynomialRing(GF(13, 2));
P<y> := PolynomialRing(PF);
FF1<b> := ext<FieldOfFractions(PF) | y^2 - x>;
P<y> := PolynomialRing(FF1);
FF2<d> := ext<FF1 | y^3 - b>;
CanonicalDivisor(FF2);
IsCanonical($1);
assert $1;
D := Divisor(b) + Divisor(d);
E := Divisor(Random(FF2, 2)*MaximalOrderFinite(FF2), 
Random(FF2, 2)*MaximalOrderInfinite(FF2));
d := D + E;
d;
p, e := Support(d);
d;
g := GCD(D, E);
l := LCM(D, E);
g + l eq d;
assert $1;
g le D;
assert $1;
l ge E;
assert $1;
SetEchoInput(ei);
