def __hash__(self): return syntax.hash_tuplify(self.kind, self.args, self.subproofs)
def __hash__ (self): return syntax.hash_tuplify (self.kind, self.args, self.subproofs)
def problem_hash(p): return syntax.hash_tuplify([p.name, p.entries, sorted(p.outputs.iteritems()), sorted(p.nodes.iteritems())])
def problem_hash(p): return syntax.hash_tuplify([ p.name, p.entries, sorted(p.outputs.iteritems()), sorted(p.nodes.iteritems()) ])