code: def test_is_groebner():
      R, x, y = ring("x,y", QQ, grlex)
      valid_groebner = [x**2, x * y, -QQ(1, 2) * x + y**2]
      invalid_groebner = [x**3, x * y, -QQ(1, 2) * x + y**2]
      assert is_groebner(valid_groebner, R) is True
      assert is_groebner(invalid_groebner, R) is False
  
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 29 for calling a global function with example usage: test_is_groebner() without return types