cryptol-2.5.0: Cryptol: The Language of Cryptography

Copyright(c) 2015-2016 Galois Inc.
LicenseBSD3
Maintainercryptol@galois.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

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.

Synopsis

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.

data Sign Source #

Constructors

Pos 
Neg 

Instances

crySimpExprStep1 :: Expr -> Maybe Expr Source #

Make a simplification step, assuming the expression is well-formed.