summaryrefslogtreecommitdiff
path: root/src/preprocessing/passes/bv_to_int.h
diff options
context:
space:
mode:
authoryoni206 <yoni206@users.noreply.github.com>2020-09-18 10:12:04 -0700
committerGitHub <noreply@github.com>2020-09-18 12:12:04 -0500
commitf92c4476e335322c1eeaa9e15ff5e1fda06181fe (patch)
tree9d5d1bd2fe539314fe5ff030533f7f5b2b517781 /src/preprocessing/passes/bv_to_int.h
parent39e395e08646efb2fc0e352bfc110563afbd9043 (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.h10
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
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback