Get the latest tech news
Hashing Modulo Theories
Hashing https://en.wikipedia.org/wiki/Hash_function is a scrambly function that turns a datastructure into an integer.
One way to create a canonical alpha equivalent term is to label the variables by a traversal order (pre-order, post-order). Another example which really inspired this post is the question of how to hash a tree that has a notion of alpha equivalence (where names of variables don’t really matter). Handbook of automated reasoning Vector fingerprint eprover paper Hash cons modulo alpha, criticism by paul.
Or read this on Hacker News