* Ryan Ingram [2009-03-14 11:36:33-0700]
> For the second case you might be able to come up with a commutative
> hash-combiner function for && and ||.
What a beautiful idea! I wish I thought of it myself.
> For the lambda-term situation, I can think of a couple ways to hash
> that give what you
For the second case you might be able to come up with a commutative
hash-combiner function for && and ||.
For the lambda-term situation, I can think of a couple ways to hash
that give what you want.
(1) Ignore variable names altogether while hashing; this gives you
what you want but has the disad
Are there some known ways to define hashing (or any other) functions over
equivalence classes? I.e.
a ~ b => hash(a) == hash(b)
where (~) is some equivalence relation. For example, you might want to
hash lambda terms modulo alpha-equivalence or hash logical terms with
respect to commutativity