def _assert(self, submodel, interpretation): node = interpretation(self.x) action = submodel.action atomic_action = AtomicAction.add_action(node) has_add_action = z3.Select(action, atomic_action) graph = submodel.pregraph has_function = Graph.has(graph) pregraph_has_node = z3.Select(has_function, node) return z3.And(has_add_action, z3.Not(pregraph_has_node))