summaryrefslogtreecommitdiff
path: root/src/theory/inference_id.cpp
diff options
context:
space:
mode:
authorGereon Kremer <gkremer@stanford.edu>2021-02-19 09:34:36 +0100
committerGitHub <noreply@github.com>2021-02-19 09:34:36 +0100
commitce58453982ddd53a5fc08d9db4c6c3f49b852838 (patch)
treee77cb66ff4d5bca985524d3c2befd33d580916af /src/theory/inference_id.cpp
parent6ae21de6f85d9629018c1b6bf912ef39f3e169fb (diff)
Cleanup of inferences in arithmetic theory (#5927)
This PR cleans up several issues in the arithmetic theory mostly related to its usage of InferenceId and the TheoryInferenceManager: remove the ArithLemma class and uses SimpleTheoryLemma instead only use NlLemma if we actually need it use proper InferenceIds everywhere remove unused code in the nonlinear extension
Diffstat (limited to 'src/theory/inference_id.cpp')
-rw-r--r--src/theory/inference_id.cpp60
1 files changed, 36 insertions, 24 deletions
diff --git a/src/theory/inference_id.cpp b/src/theory/inference_id.cpp
index cb15b4326..0268fa31a 100644
--- a/src/theory/inference_id.cpp
+++ b/src/theory/inference_id.cpp
@@ -21,30 +21,42 @@ const char* toString(InferenceId i)
{
switch (i)
{
- case InferenceId::ARITH_NL_CONGRUENCE: return "CONGRUENCE";
- case InferenceId::ARITH_NL_SHARED_TERM_VALUE_SPLIT: return "SHARED_TERM_VALUE_SPLIT";
- case InferenceId::ARITH_NL_SPLIT_ZERO: return "SPLIT_ZERO";
- case InferenceId::ARITH_NL_SIGN: return "SIGN";
- case InferenceId::ARITH_NL_COMPARISON: return "COMPARISON";
- case InferenceId::ARITH_NL_INFER_BOUNDS: return "INFER_BOUNDS";
- case InferenceId::ARITH_NL_INFER_BOUNDS_NT: return "INFER_BOUNDS_NT";
- case InferenceId::ARITH_NL_FACTOR: return "FACTOR";
- case InferenceId::ARITH_NL_RES_INFER_BOUNDS: return "RES_INFER_BOUNDS";
- case InferenceId::ARITH_NL_TANGENT_PLANE: return "TANGENT_PLANE";
- case InferenceId::ARITH_NL_T_PURIFY_ARG: return "T_PURIFY_ARG";
- case InferenceId::ARITH_NL_T_INIT_REFINE: return "T_INIT_REFINE";
- case InferenceId::ARITH_NL_T_PI_BOUND: return "T_PI_BOUND";
- case InferenceId::ARITH_NL_T_MONOTONICITY: return "T_MONOTONICITY";
- case InferenceId::ARITH_NL_T_SECANT: return "T_SECANT";
- case InferenceId::ARITH_NL_T_TANGENT: return "T_TANGENT";
- case InferenceId::ARITH_NL_IAND_INIT_REFINE: return "IAND_INIT_REFINE";
- case InferenceId::ARITH_NL_IAND_VALUE_REFINE: return "IAND_VALUE_REFINE";
- case InferenceId::ARITH_NL_IAND_SUM_REFINE: return "IAND_SUM_REFINE";
- case InferenceId::ARITH_NL_IAND_BITWISE_REFINE: return "IAND_BITWISE_REFINE";
- case InferenceId::ARITH_NL_CAD_CONFLICT: return "CAD_CONFLICT";
- case InferenceId::ARITH_NL_CAD_EXCLUDED_INTERVAL: return "CAD_EXCLUDED_INTERVAL";
- case InferenceId::ARITH_NL_ICP_CONFLICT: return "ICP_CONFLICT";
- case InferenceId::ARITH_NL_ICP_PROPAGATION: return "ICP_PROPAGATION";
+ case InferenceId::ARITH_PP_ELIM_OPERATORS: return "ARITH_PP_ELIM_OPERATORS";
+ case InferenceId::ARITH_NL_CONGRUENCE: return "ARITH_NL_CONGRUENCE";
+ case InferenceId::ARITH_NL_SHARED_TERM_VALUE_SPLIT:
+ return "ARITH_NL_SHARED_TERM_VALUE_SPLIT";
+ case InferenceId::ARITH_NL_CM_QUADRATIC_EQ:
+ return "ARITH_NL_CM_QUADRATIC_EQ";
+ case InferenceId::ARITH_NL_SPLIT_ZERO: return "ARITH_NL_SPLIT_ZERO";
+ case InferenceId::ARITH_NL_SIGN: return "ARITH_NL_SIGN";
+ case InferenceId::ARITH_NL_COMPARISON: return "ARITH_NL_COMPARISON";
+ case InferenceId::ARITH_NL_INFER_BOUNDS: return "ARITH_NL_INFER_BOUNDS";
+ case InferenceId::ARITH_NL_INFER_BOUNDS_NT:
+ return "ARITH_NL_INFER_BOUNDS_NT";
+ case InferenceId::ARITH_NL_FACTOR: return "ARITH_NL_FACTOR";
+ case InferenceId::ARITH_NL_RES_INFER_BOUNDS:
+ return "ARITH_NL_RES_INFER_BOUNDS";
+ case InferenceId::ARITH_NL_TANGENT_PLANE: return "ARITH_NL_TANGENT_PLANE";
+ case InferenceId::ARITH_NL_T_PURIFY_ARG: return "ARITH_NL_T_PURIFY_ARG";
+ case InferenceId::ARITH_NL_T_INIT_REFINE: return "ARITH_NL_T_INIT_REFINE";
+ case InferenceId::ARITH_NL_T_PI_BOUND: return "ARITH_NL_T_PI_BOUND";
+ case InferenceId::ARITH_NL_T_MONOTONICITY: return "ARITH_NL_T_MONOTONICITY";
+ case InferenceId::ARITH_NL_T_SECANT: return "ARITH_NL_T_SECANT";
+ case InferenceId::ARITH_NL_T_TANGENT: return "ARITH_NL_T_TANGENT";
+ case InferenceId::ARITH_NL_IAND_INIT_REFINE:
+ return "ARITH_NL_IAND_INIT_REFINE";
+ case InferenceId::ARITH_NL_IAND_VALUE_REFINE:
+ return "ARITH_NL_IAND_VALUE_REFINE";
+ case InferenceId::ARITH_NL_IAND_SUM_REFINE:
+ return "ARITH_NL_IAND_SUM_REFINE";
+ case InferenceId::ARITH_NL_IAND_BITWISE_REFINE:
+ return "ARITH_NL_IAND_BITWISE_REFINE";
+ case InferenceId::ARITH_NL_CAD_CONFLICT: return "ARITH_NL_CAD_CONFLICT";
+ case InferenceId::ARITH_NL_CAD_EXCLUDED_INTERVAL:
+ return "ARITH_NL_CAD_EXCLUDED_INTERVAL";
+ case InferenceId::ARITH_NL_ICP_CONFLICT: return "ARITH_NL_ICP_CONFLICT";
+ case InferenceId::ARITH_NL_ICP_PROPAGATION:
+ return "ARITH_NL_ICP_PROPAGATION";
case InferenceId::ARRAYS_EXT: return "ARRAYS_EXT";
case InferenceId::ARRAYS_READ_OVER_WRITE: return "ARRAYS_READ_OVER_WRITE";
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback