diff options
author | yoni206 <yoni206@users.noreply.github.com> | 2020-09-18 10:12:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-18 12:12:04 -0500 |
commit | f92c4476e335322c1eeaa9e15ff5e1fda06181fe (patch) | |
tree | 9d5d1bd2fe539314fe5ff030533f7f5b2b517781 /src/preprocessing/passes/bv_to_int.h | |
parent | 39e395e08646efb2fc0e352bfc110563afbd9043 (diff) |
bv2int: quantifiers support (#5080)
This PR adds quantifiers support for bv2int preprocessing pass, and adds regressions that use quantifiers.
Diffstat (limited to 'src/preprocessing/passes/bv_to_int.h')
-rw-r--r-- | src/preprocessing/passes/bv_to_int.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/preprocessing/passes/bv_to_int.h b/src/preprocessing/passes/bv_to_int.h index b84726878..41d8f4904 100644 --- a/src/preprocessing/passes/bv_to_int.h +++ b/src/preprocessing/passes/bv_to_int.h @@ -254,6 +254,16 @@ class BVToInt : public PreprocessingPass void addFinalizeRangeAssertions(AssertionPipeline* assertionsToPreprocess); /** + * @param quantifiedNode a node whose main operator is forall/exists. + * @return a node opbtained from quantifiedNode by: + * 1. Replacing all bound BV variables by new bound integer variables. + * 2. Add range constraints for the new variables, induced by the original + * bit-width. These range constraints are added with "AND" in case of exists + * and with "IMPLIES" in case of forall. + */ + Node translateQuantifiedFormula(Node quantifiedNode); + + /** * Reconstructs a node whose main operator cannot be * translated to integers. * Reconstruction is done by casting to integers/bit-vectors |