本文整理汇总了Python中pysmt.shortcuts.And.get_atoms方法的典型用法代码示例。如果您正苦于以下问题:Python And.get_atoms方法的具体用法?Python And.get_atoms怎么用?Python And.get_atoms使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pysmt.shortcuts.And
的用法示例。
在下文中一共展示了And.get_atoms方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_ackermannization_dictionaries
# 需要导入模块: from pysmt.shortcuts import And [as 别名]
# 或者: from pysmt.shortcuts.And import get_atoms [as 别名]
def test_ackermannization_dictionaries(self):
self.env.enable_infix_notation = True
a,b = (Symbol(x, INT) for x in "ab")
f,g = (Symbol(x, FunctionType(INT, [INT, INT])) for x in "fg")
h = Symbol("h", FunctionType(INT, [INT]))
formula1 = Not(Equals(f(a, g(a, h(a))),
f(b, g(b, h(b)))))
formula2 = Equals(a, b)
formula = And(formula1, formula2)
ackermannization = Ackermannizer()
_ = ackermannization.do_ackermannization(formula)
terms_to_consts = ackermannization.get_term_to_const_dict()
consts_to_terms = ackermannization.get_const_to_term_dict()
# The maps have the same length
self.assertEqual(len(terms_to_consts), len(consts_to_terms))
# The maps are the inverse of each other
for t in terms_to_consts:
self.assertEqual(t, consts_to_terms[terms_to_consts[t]])
# Check that the the functions are there
for atom in formula.get_atoms():
if atom.is_function_application():
self.assertIsNotNone(terms_to_consts[atom])