Safe Haskell | None |
---|---|
Language | Haskell98 |
This module implements "Proof by Logical Evaluation" where we unfold function definitions if they *must* be unfolded, to strengthen the environments with function-definition-equalities. The algorithm is discussed at length in:
- "Refinement Reflection", POPL 2018, https://arxiv.org/pdf/1711.03842
- "Reasoning about Functions", VMCAI 2018, https://ranjitjhala.github.io/static/reasoning-about-functions.pdf