summaryrefslogtreecommitdiff
path: root/src/options/options_handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/options/options_handler.cpp')
-rw-r--r--src/options/options_handler.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/options/options_handler.cpp b/src/options/options_handler.cpp
index 36144e70e..c08c59d89 100644
--- a/src/options/options_handler.cpp
+++ b/src/options/options_handler.cpp
@@ -1203,6 +1203,48 @@ theory::bv::SatSolverMode OptionsHandler::stringToSatSolver(std::string option,
}
}
+const std::string OptionsHandler::s_bvProofFormatHelp =
+ "\
+Proof formats currently supported by the --bv-proof-format option:\n\
+\n\
+ lrat : DRAT with unit propagation hints to accelerate checking (default)\n\
+\n\
+ drat : Deletion and Resolution Asymmetric Tautology Additions \n\
+\n\
+ er : Extended Resolution, i.e. resolution with new variable definitions\n\
+\n\
+This option controls which underlying UNSAT proof format is used in BV proofs.\n\
+\n\
+Note: Currently this option does nothing. BV proofs are a work in progress!\
+";
+
+theory::bv::BvProofFormat OptionsHandler::stringToBvProofFormat(
+ std::string option, std::string optarg)
+{
+ if (optarg == "er")
+ {
+ return theory::bv::BITVECTOR_PROOF_ER;
+ }
+ else if (optarg == "lrat")
+ {
+ return theory::bv::BITVECTOR_PROOF_LRAT;
+ }
+ else if (optarg == "drat")
+ {
+ return theory::bv::BITVECTOR_PROOF_DRAT;
+ }
+ else if (optarg == "help")
+ {
+ puts(s_bvProofFormatHelp.c_str());
+ exit(1);
+ }
+ else
+ {
+ throw OptionException(std::string("unknown option for --bv-proof-format: `")
+ + optarg + "'. Try --bv-proof-format=help.");
+ }
+}
+
const std::string OptionsHandler::s_bitblastingModeHelp = "\
Bit-blasting modes currently supported by the --bitblast option:\n\
\n\
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback