+++ title = "Similarity of hashing for SAT and for performance" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["2e1c6a"] forwardlinks = ["3c3c3"] zettelid = "2e1c6b" +++ In the case of SAT solving, the expressions actually do need to be hashed just so that they are evaluatable by the SAT solver. This is different to doing hash-consing for performance reasons, which is what Six et al. \[1\] are doing ([\#3c3c3]). In the Six et al. case, you care a lot about performance, so you want to do the hash-consing in OCaml, however, in our case you don't care too much about the hash-consing, but more about the hashing algorithm being unique and "easy" to work with.
\[1\] C. Six, L. Gourdin, S. Boulmé, and D. Monniaux, “Verified Superblock Scheduling with Related Optimizations,” Apr. 2021. Available:
[\#3c3c3]: /zettel/3c3c3