def test_nested_genpvars_twice_normalized(self): data = ( '(f (l (v type GEN%PVAR%123) (l (v type GEN%PVAR%333) (f (v type ' 'GEN%PVAR%333) (v type GEN%PVAR%123)))) (l (v type GEN%PVAR%999) (v' ' type GEN%PVAR%999)))') expected = ( '(f (l (v type GEN%PVAR%0) (l (v type GEN%PVAR%1) (f (v type ' 'GEN%PVAR%1) (v type GEN%PVAR%0)))) (l (v type GEN%PVAR%0) (v ' 'type GEN%PVAR%0)))') self.assertEqual( normalization_lib.normalize_genpvars( normalization_lib.normalize_genpvars(data)), expected)
def test_two_genpvars(self): data = ( '(f (l (v type GEN%PVAR%123) (v type GEN%PVAR%123)) (l (v type ' 'GEN%PVAR%123) (v type GEN%PVAR%123)))') expected = ( '(f (l (v type GEN%PVAR%0) (v type GEN%PVAR%0)) (l (v type ' 'GEN%PVAR%0) (v type GEN%PVAR%0)))') self.assertEqual(normalization_lib.normalize_genpvars(data), expected)
def test_single_genpvar(self): theorem = proof_assistant_pb2.Theorem( conclusion='(l (v type GEN%PVAR%123) (v type GEN%PVAR%123))') expected = proof_assistant_pb2.Theorem( conclusion='(l (v type GEN%PVAR%0) (v type GEN%PVAR%0))') self.assertEqual( normalization_lib.normalize_genpvars(theorem.conclusion), expected.conclusion) self.assertEqual(normalization_lib.normalize(theorem), expected)
def test_free_genpvars(self): data = '(f (l (v type GEN%PVAR%123) otherexpr) (v type GEN%PVAR%9))' expected = '(f (l (v type GEN%PVAR%0) otherexpr) (v type GEN%PVAR%9))' self.assertEqual(normalization_lib.normalize_genpvars(data), expected)