"Source: Text/Commut/Ideal.text";
"Line: 2559";
"Date: Thu Sep 25 14:47:46 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Commut/Ideal.text, line: 2559
// Example: H116E18 ()
print "Example: H116E18";
ei := GetEchoInput();
SetEchoInput(true);
P<a, b, c, d> := PolynomialRing(RationalField(), 4, "grevlex");
f :=
a^2*b^2*c*d + a^2*b*c^2*d + a*b^2*c^2*d + a^2*b*c*d^2 + a*b^2*c*d^2 + 
    a*b*c^2*d^2 - a^2*b^2*c - a^2*b*c^2 - a*b^2*c^2 - a^2*b^2*d -
    3*a^2*b*c*d - 3*a*b^2*c*d - a^2*c^2*d - 3*a*b*c^2*d - b^2*c^2*d -
    a^2*b*d^2 - a*b^2*d^2 - a^2*c*d^2 - 3*a*b*c*d^2 - b^2*c*d^2 -
    a*c^2*d^2 - b*c^2*d^2 + a + b + c + d;
// Check orbit under Sym(4) has size one:
#(f^Sym(4));
assert $1 eq 1;
Q<e1, e2, e3, e4> := PolynomialRing(RationalField(), 4);
l, E := IsSymmetric(f, Q); 
l;
assert $1;
E;
F<a,b> := FunctionField(RationalField(), 2);
P<x1,x2,x3,x4,x5> := PolynomialRing(F, 5, "grevlex");
y1 := x1^4 + x1^2*a + x1*b;
y2 := x2^4 + x2^2*a + x2*b;
y3 := x3^4 + x3^2*a + x3*b;
y4 := x4^4 + x4^2*a + x4*b;
y5 := x5^4 + x5^2*a + x5*b;
f := y1*y2 + y1*y3 + y1*y4 + y1*y5 + y2*y3 + y2*y4 + 
     y2*y5 + y3*y4 + y3*y5 + y4*y5;
Q<e1,e2,e3,e4,e5> := PolynomialRing(F,  5);
l,E := IsSymmetric(f, Q);
l, E;
SetEchoInput(ei);
