This module contains the implementation of bv_normalize
which is effectively a custom bv_normalize
simp set that is called like this: simp only [seval, bv_normalize]
. The rules in bv_normalize
fulfill two goals:
- Turn all hypothesis involving
Bool
andBitVec
into the formx = true
wherex
only consists of a operations onBool
andBitVec
. In particular noProp
should be contained. This makes the reflection procedure further down the pipeline much easier to implement. - Apply simplification rules from the Bitwuzla SMT solver.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A pass in the normalization pipeline. Takes the current goal and produces a refined one or closes
the goal fully, indicated by returning none
.
Equations
Instances For
Repeatedly run a list of Pass
until they either close the goal or an iteration doesn't change
the goal anymore.
Responsible for applying the Bitwuzla style rewrite rules.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Substitute embedded constraints. That is look for hypotheses of the form h : x = true
and use
them to substitute occurences of x
within other hypotheses
Equations
- One or more equations did not get rendered due to their size.
Instances For
Normalize with respect to Associativity and Commutativity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The normalization passes used by bv_normalize
and thus bv_decide
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.