def test_dmp_ground_p(): assert dmp_ground_p([], 0, 0) == True assert dmp_ground_p([[]], 0, 1) == True assert dmp_ground_p([[]], 1, 1) == False assert dmp_ground_p([[ZZ(1)]], 1, 1) == True assert dmp_ground_p([[[ZZ(2)]]], 2, 2) == True assert dmp_ground_p([[[ZZ(2)]]], 3, 2) == False assert dmp_ground_p([[[ZZ(3)], []]], 3, 2) == False assert dmp_ground_p([], None, 0) == True assert dmp_ground_p([[]], None, 1) == True assert dmp_ground_p([ZZ(1)], None, 0) == True assert dmp_ground_p([[[ZZ(1)]]], None, 2) == True assert dmp_ground_p([[[ZZ(3)], []]], None, 2) == False
def is_ground(f): """Returns `True` if `f` is an element of the ground domain. """ return dmp_ground_p(f.rep, None, f.lev)