kat12:=[x1 + 2*x2 + 2*x3 + 2*x4 + 2*x5 + 2*x6 + 2*x7 + 2*x8 + 2*x9 + 2*x10 + 2*x11 + 2*x12 - 1, x1^2 + 2*x2^2 + 2*x3^2 + 2*x4^2 + 2*x5^2 + 2*x6^2 + 2*x7^2 + 2*x8^2 + 2*x9^2 + 2*x10^2 + 2*x11^2 + 2*x12^2 - x1, 2*x1*x2 + 2*x2*x3 + 2*x3*x4 + 2*x4*x5 + 2*x5*x6 + 2*x6*x7 + 2*x7*x8 + 2*x8*x9 + 2*x9*x10 + 2*x10*x11 + 2*x11*x12 - x2, x2^2 + 2*x1*x3 + 2*x2*x4 + 2*x3*x5 + 2*x4*x6 + 2*x5*x7 + 2*x6*x8 + 2*x7*x9 + 2*x8*x10 + 2*x9*x11 + 2*x10*x12 - x3, 2*x2*x3 + 2*x1*x4 + 2*x2*x5 + 2*x3*x6 + 2*x4*x7 + 2*x5*x8 + 2*x6*x9 + 2*x7*x10 + 2*x8*x11 + 2*x9*x12 - x4, x3^2 + 2*x2*x4 + 2*x1*x5 + 2*x2*x6 + 2*x3*x7 + 2*x4*x8 + 2*x5*x9 + 2*x6*x10 + 2*x7*x11 + 2*x8*x12 - x5, 2*x3*x4 + 2*x2*x5 + 2*x1*x6 + 2*x2*x7 + 2*x3*x8 + 2*x4*x9 + 2*x5*x10 + 2*x6*x11 + 2*x7*x12 - x6, x4^2 + 2*x3*x5 + 2*x2*x6 + 2*x1*x7 + 2*x2*x8 + 2*x3*x9 + 2*x4*x10 + 2*x5*x11 + 2*x6*x12 - x7, 2*x4*x5 + 2*x3*x6 + 2*x2*x7 + 2*x1*x8 + 2*x2*x9 + 2*x3*x10 + 2*x4*x11 + 2*x5*x12 - x8, x5^2 + 2*x4*x6 + 2*x3*x7 + 2*x2*x8 + 2*x1*x9 + 2*x2*x10 + 2*x3*x11 + 2*x4*x12 - x9, 2*x5*x6 + 2*x4*x7 + 2*x3*x8 + 2*x2*x9 + 2*x1*x10 + 2*x2*x11 + 2*x3*x12 - x10, x6^2 + 2*x5*x7 + 2*x4*x8 + 2*x3*x9 + 2*x2*x10 + 2*x1*x11 + 2*x2*x12 - x11];
p:=prevprime(2^24);
time(H:=gbasis(kat12 % p,lname(kat12),revlex));
size(H);
p:=nextprime(2^30);
time(H:=gbasis(kat12 % p,lname(kat12),revlex));
size(H);
write("kat12mod",H)
