Re: [Haskell-cafe] Hashing over equivalence classes

2009-03-16 Thread Roman Cheplyaka
* 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

Re: [Haskell-cafe] Hashing over equivalence classes

2009-03-14 Thread Ryan Ingram
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

[Haskell-cafe] Hashing over equivalence classes

2009-03-14 Thread Roman Cheplyaka
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