Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
This module is a preliminary part of the implementation of "Proof by Logical Evaluation" where we unfold function definitions if they *must* be unfolded, to strengthen the environments with function-definition-equalities.
In this module, we attempt to verify as many of the PLE constaints as possible without invoking the SMT solver or performing any I/O at all. To this end, we use an interpreter in Haskell to attempt to evaluate down expressions and generate equalities.
Documentation
instInterpreter :: Loc a => Config -> SInfo a -> Maybe [SubcId] -> IO (SInfo a) Source #
Strengthen Constraint Environments via PLE
ICtx
is the local information -- at each trie node -- obtained by incremental PLE
Knowledge (SMT Interaction)
KN | |
|
class Simplifiable a where Source #