code: def _do_test_benchmark_katsura_4():
      R, x0, x1, x2, x3 = ring("x:4", ZZ, lex)
      I = [
          x0 + 2 * x1 + 2 * x2 + 2 * x3 - 1,
          x0**2 + 2 * x1**2 + 2 * x2**2 + 2 * x3**2 - x0,
          2 * x0 * x1 + 2 * x1 * x2 + 2 * x2 * x3 - x1,
          x1**2 + 2 * x0 * x2 + 2 * x1 * x3 - x2,
      ]
  
      assert groebner(I, R) == [
          5913075 * x0
          - 159690237696 * x3**7
          + 31246269696 * x3**6
          + 27439610544 * x3**5
          - 6475723368 * x3**4
          - 838935856 * x3**3
          + 275119624 * x3**2
          + 4884038 * x3
          - 5913075,
          1971025 * x1
          - 97197721632 * x3**7
          + 73975630752 * x3**6
          - 12121915032 * x3**5
          - 2760941496 * x3**4
          + 814792828 * x3**3
          - 1678512 * x3**2
          - 9158924 * x3,
          5913075 * x2
          + 371438283744 * x3**7
          - 237550027104 * x3**6
          + 22645939824 * x3**5
          + 11520686172 * x3**4
          - 2024910556 * x3**3
          - 132524276 * x3**2
          + 30947828 * x3,
          128304 * x3**8
          - 93312 * x3**7
          + 15552 * x3**6
          + 3144 * x3**5
          - 1120 * x3**4
          + 36 * x3**3
          + 15 * x3**2
          - x3,
      ]
  
      R, x0, x1, x2, x3 = ring("x:4", ZZ, grlex)
      I = [i.set_ring(R) for i in I]
  
      assert groebner(I, R) == [
          393 * x1
          - 4662 * x2**2
          + 4462 * x2 * x3
          - 59 * x2
          + 224532 * x3**4
          - 91224 * x3**3
          - 678 * x3**2
          + 2046 * x3,
          -x1
          + 196 * x2**3
          - 21 * x2**2
          + 60 * x2 * x3
          - 18 * x2
          - 168 * x3**3
          + 83 * x3**2
          - 9 * x3,
          -6 * x1
          + 1134 * x2**2 * x3
          - 189 * x2**2
          - 466 * x2 * x3
          + 32 * x2
          - 630 * x3**3
          + 57 * x3**2
          + 51 * x3,
          33 * x1
          + 63 * x2**2
          + 2268 * x2 * x3**2
          - 188 * x2 * x3
          + 34 * x2
          + 2520 * x3**3
          - 849 * x3**2
          + 3 * x3,
          7 * x1**2
          - x1
          - 7 * x2**2
          - 24 * x2 * x3
          + 3 * x2
          - 15 * x3**2
          + 5 * x3,
          14 * x1 * x2
          - x1
          + 14 * x2**2
          + 18 * x2 * x3
          - 4 * x2
          + 6 * x3**2
          - 2 * x3,
          14 * x1 * x3
          - x1
          + 7 * x2**2
          + 32 * x2 * x3
          - 4 * x2
          + 27 * x3**2
          - 9 * x3,
          x0 + 2 * x1 + 2 * x2 + 2 * x3 - 1,
      ]
  
imports: from sympy.polys.groebnertools import groebner, sig, sig_key, lbp, lbp_key, critical_pair, cp_key, is_rewritable_or_comparable, Sign, Polyn, Num, s_poly, f5_reduce, groebner_lcm, groebner_gcd, is_groebner, is_reduced
  from sympy.polys.fglmtools import _representing_matrices
  from sympy.polys.orderings import lex, grlex
  from sympy.polys.rings import ring, xring
  from sympy.polys.domains import ZZ, QQ
  from sympy.testing.pytest import slow
  from sympy.polys import polyconfig
label_desc: Use image node_id 11 for calling a global function with example usage: _do_test_benchmark_katsura_4() without return types