| Copyright | (c) 2015-2016 Galois, Inc. |
|---|---|
| License | BSD3 |
| Maintainer | cryptol@galois.com |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell98 |
Cryptol.TypeCheck.Solver.Numeric.SimplifyExpr
Description
Simplification of expressions.
The result of simplifying an expression e, is a new expression e',
which satisfies the property:
if e is well-defined then e and e' will evaluate to the same type.
Documentation
crySimpExpr :: Expr -> Expr Source
Simplify an expression, if possible.
crySimpExprMaybe :: Expr -> Maybe Expr Source
Perform simplification from the leaves up.
Returns Nothing if there were no changes.
crySimpExprStep :: Expr -> Maybe Expr Source
crySimpExprStep1 :: Expr -> Maybe Expr Source
Make a simplification step, assuming the expression is well-formed.