p = 3 m = 2 F = GF(p) Rx. = PolynomialRing(F) f = x^3 - x C = superelliptic(f, m) Rxy. = PolynomialRing(F, 2) omega = (((2*C.x^18 + 2*C.x^16 + 2*C.x^14 + 2*C.x^10 + 2*C.x^8 + 2*C.x^4 + 2*C.x^2 + 2*C.one)/(C.x^13 + C.x^11 + C.x^9))*C.y) * C.dx print(decomposition_omega0_omega8(omega)[0] - decomposition_omega0_omega8(omega)[1] == omega and decomposition_omega0_omega8(omega)[0].is_regular_on_U0() and decomposition_omega0_omega8(omega)[1].is_regular_on_Uinfty()) h = ((C.x^10 + C.x^8 + C.x^6 + 2*C.x^4 + 2*C.x^2 + 2*C.one)/C.x^6)*C.y print(decomposition_g0_g8(h)) print(decomposition_g0_g8(h)[0] - decomposition_g0_g8(h)[1] + decomposition_g0_g8(h)[2] == h and decomposition_g0_g8(h)[0].function in Rxy and decomposition_g0_g8(h)[1].expansion_at_infty().valuation() >= 0)