summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-06-03 09:42:15 -0500
committerGitHub <noreply@github.com>2021-06-03 09:42:15 -0500
commita41a4e978013665784649e968dae968751309e27 (patch)
tree98066f553cd835a8a40e58d35bd13f02cf2416c4
parent4051c9f2df3f83d7e09636f97ed56ed9579e557d (diff)
parentb61070cf03c30abe3ba5956596b88464053ff358 (diff)
Merge branch 'master' into issue6636
-rw-r--r--.github/workflows/docs_cleanup.yml8
-rw-r--r--NEWS264
-rw-r--r--src/api/cpp/cvc5.cpp32
-rw-r--r--src/api/cpp/cvc5_kind.h44
-rw-r--r--src/api/python/cvc5.pxd13
-rw-r--r--src/api/python/cvc5.pxi84
-rw-r--r--src/main/command_executor.cpp58
-rw-r--r--src/main/driver_unified.cpp141
-rw-r--r--src/main/interactive_shell.cpp30
-rw-r--r--src/main/main.cpp20
-rw-r--r--src/main/time_limit.cpp3
-rw-r--r--src/options/CMakeLists.txt3
-rw-r--r--src/options/mkoptions.py94
-rw-r--r--src/options/options_public.cpp155
-rw-r--r--src/options/options_public.h79
-rw-r--r--src/options/options_public_functions.cpp234
-rw-r--r--src/options/options_template.cpp4
-rw-r--r--src/options/options_template.h61
-rw-r--r--src/options/printer_modes.cpp4
-rw-r--r--src/options/printer_modes.h4
-rw-r--r--src/options/strings_options.toml8
-rw-r--r--src/parser/parser.cpp4
-rw-r--r--src/parser/parser_builder.cpp20
-rw-r--r--src/parser/parser_builder.h2
-rw-r--r--src/parser/smt2/smt2.cpp10
-rw-r--r--src/parser/tptp/tptp.cpp6
-rw-r--r--src/printer/smt2/smt2_printer.cpp17
-rw-r--r--src/smt/env.cpp4
-rw-r--r--src/smt/env.h6
-rw-r--r--src/smt/options_manager.cpp8
-rw-r--r--src/smt/output_manager.cpp3
-rw-r--r--src/smt/proof_manager.cpp5
-rw-r--r--src/smt/set_defaults.cpp4
-rw-r--r--src/smt/smt_engine.cpp76
-rw-r--r--src/theory/arith/nl/nonlinear_extension.cpp1
-rw-r--r--src/theory/booleans/proof_circuit_propagator.cpp8
-rw-r--r--src/theory/logic_info.cpp12
-rw-r--r--src/theory/quantifiers/expr_miner.cpp2
-rw-r--r--src/theory/quantifiers/solution_filter.cpp4
-rw-r--r--src/theory/quantifiers/sygus/synth_conjecture.cpp6
-rw-r--r--src/theory/quantifiers/sygus_sampler.cpp2
-rw-r--r--src/theory/quantifiers_engine.cpp3
-rw-r--r--src/theory/strings/extf_solver.cpp4
-rw-r--r--src/theory/strings/regexp_solver.cpp6
-rw-r--r--src/util/resource_manager.cpp34
-rw-r--r--test/api/CMakeLists.txt6
-rw-r--r--test/api/python/CMakeLists.txt41
-rw-r--r--test/api/sep_log_api.cpp2
-rw-r--r--test/api/smt2_compliance.cpp5
-rw-r--r--test/python/CMakeLists.txt1
-rw-r--r--test/python/unit/api/test_solver.py18
-rw-r--r--test/python/unit/api/test_term.py108
-rw-r--r--test/python/unit/api/test_to_python_obj.py (renamed from test/api/python/test_to_python_obj.py)0
-rw-r--r--test/regress/CMakeLists.txt4
-rw-r--r--test/regress/regress0/bug521.minimized.smt22
-rw-r--r--test/regress/regress0/bug541.smt22
-rw-r--r--test/regress/regress0/bv/bv-int-collapse1.smt22
-rw-r--r--test/regress/regress0/bv/bv-int-collapse2.smt22
-rw-r--r--test/regress/regress0/bv/bv2nat-simp-range.smt22
-rw-r--r--test/regress/regress0/bv/core/bitvec1.smtv1.smt22
-rw-r--r--test/regress/regress0/bv/core/bitvec3.smtv1.smt22
-rw-r--r--test/regress/regress0/bv/core/constant_core.smt22
-rw-r--r--test/regress/regress0/datatypes/bug597-rbt.smt22
-rw-r--r--test/regress/regress0/datatypes/bug604.smt22
-rw-r--r--test/regress/regress0/datatypes/bug625.smt22
-rw-r--r--test/regress/regress0/datatypes/cdt-model-cade15.smt22
-rw-r--r--test/regress/regress0/datatypes/cdt-non-canon-stream.smt22
-rw-r--r--test/regress/regress0/datatypes/coda_simp_model.smt22
-rw-r--r--test/regress/regress0/datatypes/conqueue-dt-enum-iloop.smt22
-rw-r--r--test/regress/regress0/datatypes/dt-different-params.smt22
-rw-r--r--test/regress/regress0/datatypes/dt-param-card4-bool-sat.smt22
-rw-r--r--test/regress/regress0/datatypes/is_test.smt22
-rw-r--r--test/regress/regress0/datatypes/pair-real-bool.smt22
-rw-r--r--test/regress/regress0/datatypes/sc-cdt1.smt22
-rw-r--r--test/regress/regress0/datatypes/stream-singleton.smt22
-rw-r--r--test/regress/regress0/datatypes/tenum-bug.smt22
-rw-r--r--test/regress/regress0/datatypes/tuple-no-clash.cvc2
-rw-r--r--test/regress/regress0/decision/bug374b.smt22
-rw-r--r--test/regress/regress0/fmf/fd-false.smt22
-rw-r--r--test/regress/regress0/fmf/fmc_unsound_model.smt22
-rw-r--r--test/regress/regress0/fmf/forall_unit_data2.smt22
-rw-r--r--test/regress/regress0/fmf/krs-sat.smt22
-rw-r--r--test/regress/regress0/fmf/sc_bad_model_1221.smt22
-rw-r--r--test/regress/regress0/fmf/syn002-si-real-int.smt22
-rw-r--r--test/regress/regress0/fmf/tail_rec.smt22
-rw-r--r--test/regress/regress0/hung10_itesdk_output1.smt22
-rw-r--r--test/regress/regress0/hung13sdk_output1.smt22
-rw-r--r--test/regress/regress0/proofs/issue277-circuit-propagator.smt247
-rw-r--r--test/regress/regress0/push-pop/bug654-dd.smt22
-rw-r--r--test/regress/regress0/quantifiers/cbqi-lia-dt-simp.smt22
-rw-r--r--test/regress/regress0/quantifiers/is-even-pred.smt22
-rw-r--r--test/regress/regress0/quantifiers/matching-lia-1arg.smt22
-rw-r--r--test/regress/regress0/quantifiers/mix-match.smt22
-rw-r--r--test/regress/regress0/quantifiers/partial-trigger.smt22
-rw-r--r--test/regress/regress0/quantifiers/pure_dt_cbqi.smt22
-rw-r--r--test/regress/regress0/quantifiers/rew-to-scala.smt22
-rw-r--r--test/regress/regress0/quantifiers/simp-len.smt22
-rw-r--r--test/regress/regress0/rec-fun-const-parse-bug.smt22
-rw-r--r--test/regress/regress0/rels/addr_book_0.cvc2
-rw-r--r--test/regress/regress0/rels/atom_univ2.cvc2
-rw-r--r--test/regress/regress0/rels/card_transpose.cvc2
-rw-r--r--test/regress/regress0/rels/iden_0.cvc2
-rw-r--r--test/regress/regress0/rels/iden_1.cvc2
-rw-r--r--test/regress/regress0/rels/join-eq-u-sat.cvc2
-rw-r--r--test/regress/regress0/rels/join-eq-u.cvc2
-rw-r--r--test/regress/regress0/rels/joinImg_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_1tup_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_complex_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_complex_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_conflict_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_0_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_1_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_2.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_2_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_3.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_3_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_4.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_5.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_6.cvc2
-rw-r--r--test/regress/regress0/rels/rel_join_7.cvc2
-rw-r--r--test/regress/regress0/rels/rel_product_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_product_0_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_product_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_product_1_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_symbolic_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_symbolic_1_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_symbolic_2_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_symbolic_3_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tc_11.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tc_2_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tc_3.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tc_3_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tc_7.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tc_8.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_3_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_2.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_3.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_eq_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_int_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_pro_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_tp_join_var_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_0.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_1_1.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_3.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_4.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_5.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_6.cvc2
-rw-r--r--test/regress/regress0/rels/rel_transpose_7.cvc2
-rw-r--r--test/regress/regress0/rels/rels-sharing-simp.cvc2
-rw-r--r--test/regress/regress0/sep/dispose-1.smt22
-rw-r--r--test/regress/regress0/sep/dup-nemp.smt22
-rw-r--r--test/regress/regress0/sep/issue5343-err.smt22
-rw-r--r--test/regress/regress0/sep/nspatial-simp.smt22
-rw-r--r--test/regress/regress0/sep/pto-01.smt22
-rw-r--r--test/regress/regress0/sep/pto-02.smt22
-rw-r--r--test/regress/regress0/sep/sep-01.smt22
-rw-r--r--test/regress/regress0/sep/sep-plus1.smt22
-rw-r--r--test/regress/regress0/sep/sep-simp-unsat-emp.smt22
-rw-r--r--test/regress/regress0/sep/simple-080420-const-sets.smt22
-rw-r--r--test/regress/regress0/sep/skolem_emp.smt22
-rw-r--r--test/regress/regress0/sep/trees-1.smt22
-rw-r--r--test/regress/regress0/sep/wand-crash.smt22
-rw-r--r--test/regress/regress0/sets/card-3sets.cvc2
-rw-r--r--test/regress/regress0/sets/card3-ground.smt22
-rw-r--r--test/regress/regress0/sets/complement.cvc2
-rw-r--r--test/regress/regress0/sets/complement2.cvc2
-rw-r--r--test/regress/regress0/sets/complement3.cvc2
-rw-r--r--test/regress/regress0/sets/cvc-sample.cvc2
-rw-r--r--test/regress/regress0/sets/dt-simp-mem.smt22
-rw-r--r--test/regress/regress0/sets/emptyset.smt22
-rw-r--r--test/regress/regress0/sets/eqtest.smt22
-rw-r--r--test/regress/regress0/sets/error2.smt22
-rw-r--r--test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.cvc4.47.smt22
-rw-r--r--test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.small.smt22
-rw-r--r--test/regress/regress0/sets/jan27/ListConcat.hs.fqout.177minimized.smt22
-rw-r--r--test/regress/regress0/sets/jan27/ListConcat.hs.fqout.cvc4.177.smt22
-rw-r--r--test/regress/regress0/sets/jan28/TalkingAboutSets.hs.fqout.3577minimized.smt22
-rw-r--r--test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized10.smt22
-rw-r--r--test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized1832.smt22
-rw-r--r--test/regress/regress0/sets/setel-eq.smt22
-rw-r--r--test/regress/regress0/sets/sets-equal.smt22
-rw-r--r--test/regress/regress0/sets/sets-inter.smt22
-rw-r--r--test/regress/regress0/sets/sets-new.smt22
-rw-r--r--test/regress/regress0/sets/sets-sample.smt22
-rw-r--r--test/regress/regress0/sets/sets-sharing.smt22
-rw-r--r--test/regress/regress0/sets/sets-union.smt22
-rw-r--r--test/regress/regress0/sets/union-1a-flip.smt22
-rw-r--r--test/regress/regress0/sets/union-1a.smt22
-rw-r--r--test/regress/regress0/sets/union-1b-flip.smt22
-rw-r--r--test/regress/regress0/sets/union-1b.smt22
-rw-r--r--test/regress/regress0/sets/union-2.smt22
-rw-r--r--test/regress/regress0/strings/idof-rewrites.smt22
-rw-r--r--test/regress/regress0/strings/ilc-like.smt22
-rw-r--r--test/regress/regress0/strings/indexof-sym-simp.smt22
-rw-r--r--test/regress/regress0/strings/issue1189.smt22
-rw-r--r--test/regress/regress0/strings/issue6643-ctn-decompose-conflict.smt27
-rw-r--r--test/regress/regress0/strings/tolower-simple.smt22
-rw-r--r--test/regress/regress0/sygus/dt-sel-parse1.sy2
-rw-r--r--test/regress/regress1/bug507.smt22
-rw-r--r--test/regress/regress1/bug516.smt22
-rw-r--r--test/regress/regress1/bug519.smt22
-rw-r--r--test/regress/regress1/bug521.smt22
-rw-r--r--test/regress/regress1/bug543.smt22
-rw-r--r--test/regress/regress1/bug567.smt22
-rw-r--r--test/regress/regress1/bug681.smt22
-rw-r--r--test/regress/regress1/bv/bv-int-collapse2-sat.smt22
-rw-r--r--test/regress/regress1/bv/bv2nat-simp-range-sat.smt22
-rw-r--r--test/regress/regress1/bv/cmu-rdk-3.smt22
-rw-r--r--test/regress/regress1/datatypes/dt-param-card4-unsat.smt23
-rw-r--r--test/regress/regress1/datatypes/manos-model.smt22
-rw-r--r--test/regress/regress1/fmf/LeftistHeap.scala-8-ncm.smt22
-rw-r--r--test/regress/regress1/fmf/bug0909.smt22
-rw-r--r--test/regress/regress1/fmf/bug723-irrelevant-funs.smt22
-rw-r--r--test/regress/regress1/fmf/datatypes-ufinite-nested.smt22
-rw-r--r--test/regress/regress1/fmf/datatypes-ufinite.smt22
-rw-r--r--test/regress/regress1/fmf/dt-proper-model.smt22
-rw-r--r--test/regress/regress1/fmf/fib-core.smt22
-rw-r--r--test/regress/regress1/fmf/forall_unit_data.smt22
-rw-r--r--test/regress/regress1/fmf/fore19-exp2-core.smt22
-rw-r--r--test/regress/regress1/fmf/german169.smt22
-rw-r--r--test/regress/regress1/fmf/german73.smt22
-rw-r--r--test/regress/regress1/fmf/jasmin-cdt-crash.smt22
-rw-r--r--test/regress/regress1/fmf/loopy_coda.smt22
-rw-r--r--test/regress/regress1/fmf/lst-no-self-rev-exp.smt22
-rw-r--r--test/regress/regress1/fmf/nun-0208-to.smt22
-rw-r--r--test/regress/regress1/fmf/pow2-bool.smt26
-rw-r--r--test/regress/regress1/fmf/radu-quant-set.smt22
-rw-r--r--test/regress/regress1/fmf/refcount24.cvc.smt22
-rw-r--r--test/regress/regress1/fmf/sc-crash-052316.smt22
-rw-r--r--test/regress/regress1/fmf/with-ind-104-core.smt22
-rw-r--r--test/regress/regress1/hole6.cvc1
-rw-r--r--test/regress/regress1/proofs/issue6625-unsat-core-proofs.smt216
-rw-r--r--test/regress/regress1/proofs/unsat-cores-proofs.smt210
-rw-r--r--test/regress/regress1/push-pop/bug-fmf-fun-skolem.smt22
-rw-r--r--test/regress/regress1/quantifiers/anti-sk-simp.smt22
-rw-r--r--test/regress/regress1/quantifiers/bi-artm-s.smt22
-rw-r--r--test/regress/regress1/quantifiers/cdt-0208-to.smt22
-rw-r--r--test/regress/regress1/quantifiers/ext-ex-deq-trigger.smt22
-rw-r--r--test/regress/regress1/quantifiers/is-even.smt22
-rw-r--r--test/regress/regress1/quantifiers/macro-subtype-param.smt22
-rw-r--r--test/regress/regress1/quantifiers/parametric-lists.smt22
-rw-r--r--test/regress/regress1/quantifiers/stream-x2014-09-18-unsat.smt22
-rw-r--r--test/regress/regress1/quantifiers/subtype-param-unk.smt22
-rw-r--r--test/regress/regress1/quantifiers/subtype-param.smt22
-rw-r--r--test/regress/regress1/quantifiers/sygus-inst-ufnia-sat-t3_rw1505.smt230
-rw-r--r--test/regress/regress1/rels/addr_book_1.cvc2
-rw-r--r--test/regress/regress1/rels/addr_book_1_1.cvc2
-rw-r--r--test/regress/regress1/rels/bv1-unit.cvc2
-rw-r--r--test/regress/regress1/rels/bv1-unitb.cvc2
-rw-r--r--test/regress/regress1/rels/bv1.cvc2
-rw-r--r--test/regress/regress1/rels/bv1p-sat.cvc2
-rw-r--r--test/regress/regress1/rels/bv1p.cvc2
-rw-r--r--test/regress/regress1/rels/bv2.cvc2
-rw-r--r--test/regress/regress1/rels/iden_1_1.cvc2
-rw-r--r--test/regress/regress1/rels/join-eq-structure-and.cvc2
-rw-r--r--test/regress/regress1/rels/join-eq-structure.cvc2
-rw-r--r--test/regress/regress1/rels/joinImg_0_1.cvc2
-rw-r--r--test/regress/regress1/rels/joinImg_0_2.cvc2
-rw-r--r--test/regress/regress1/rels/joinImg_1.cvc2
-rw-r--r--test/regress/regress1/rels/joinImg_1_1.cvc2
-rw-r--r--test/regress/regress1/rels/joinImg_2.cvc2
-rw-r--r--test/regress/regress1/rels/joinImg_2_1.cvc2
-rw-r--r--test/regress/regress1/rels/prod-mod-eq.cvc2
-rw-r--r--test/regress/regress1/rels/prod-mod-eq2.cvc2
-rw-r--r--test/regress/regress1/rels/rel_complex_3.cvc2
-rw-r--r--test/regress/regress1/rels/rel_complex_4.cvc2
-rw-r--r--test/regress/regress1/rels/rel_complex_5.cvc2
-rw-r--r--test/regress/regress1/rels/rel_mix_0_1.cvc2
-rw-r--r--test/regress/regress1/rels/rel_pressure_0.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tc_10_1.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tc_4.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tc_4_1.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tc_5_1.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tc_6.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tc_9_1.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tp_2.cvc2
-rw-r--r--test/regress/regress1/rels/rel_tp_join_2_1.cvc2
-rw-r--r--test/regress/regress1/rels/set-strat.cvc2
-rw-r--r--test/regress/regress1/rels/strat.cvc2
-rw-r--r--test/regress/regress1/sep/chain-int.smt22
-rw-r--r--test/regress/regress1/sep/crash1220.smt22
-rw-r--r--test/regress/regress1/sep/dispose-list-4-init.smt22
-rw-r--r--test/regress/regress1/sep/emp2-quant-unsat.smt22
-rw-r--r--test/regress/regress1/sep/finite-witness-sat.smt22
-rw-r--r--test/regress/regress1/sep/fmf-nemp-2.smt22
-rw-r--r--test/regress/regress1/sep/loop-1220.smt22
-rw-r--r--test/regress/regress1/sep/pto-04.smt22
-rw-r--r--test/regress/regress1/sep/quant_wand.smt22
-rw-r--r--test/regress/regress1/sep/sep-02.smt22
-rw-r--r--test/regress/regress1/sep/sep-03.smt22
-rw-r--r--test/regress/regress1/sep/sep-fmf-priority.smt22
-rw-r--r--test/regress/regress1/sep/sep-neg-1refine.smt22
-rw-r--r--test/regress/regress1/sep/sep-neg-nstrict.smt22
-rw-r--r--test/regress/regress1/sep/sep-neg-nstrict2.smt22
-rw-r--r--test/regress/regress1/sep/sep-neg-simple.smt22
-rw-r--r--test/regress/regress1/sep/sep-neg-swap.smt22
-rw-r--r--test/regress/regress1/sep/sep-nterm-again.smt22
-rw-r--r--test/regress/regress1/sep/sep-nterm-val-model.smt22
-rw-r--r--test/regress/regress1/sep/sep-simp-unc.smt22
-rw-r--r--test/regress/regress1/sep/simple-neg-sat.smt22
-rw-r--r--test/regress/regress1/sep/split-find-unsat-w-emp.smt22
-rw-r--r--test/regress/regress1/sep/split-find-unsat.smt22
-rw-r--r--test/regress/regress1/sep/wand-0526-sat.smt22
-rw-r--r--test/regress/regress1/sep/wand-false.smt22
-rw-r--r--test/regress/regress1/sep/wand-nterm-simp.smt22
-rw-r--r--test/regress/regress1/sep/wand-nterm-simp2.smt22
-rw-r--r--test/regress/regress1/sep/wand-simp-sat.smt22
-rw-r--r--test/regress/regress1/sep/wand-simp-sat2.smt22
-rw-r--r--test/regress/regress1/sep/wand-simp-unsat.smt22
-rw-r--r--test/regress/regress1/sets/ListElem.hs.fqout.cvc4.38.smt22
-rw-r--r--test/regress/regress1/sets/ListElts.hs.fqout.cvc4.317.smt22
-rw-r--r--test/regress/regress1/sets/TalkingAboutSets.hs.fqout.cvc4.3577.smt22
-rw-r--r--test/regress/regress1/sets/UniqueZipper.hs.1030minimized.cvc4.smt22
-rw-r--r--test/regress/regress1/sets/UniqueZipper.hs.1030minimized2.cvc4.smt22
-rw-r--r--test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.10.smt22
-rw-r--r--test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.1832.smt22
-rw-r--r--test/regress/regress1/sets/deepmeas0.hs.fqout.cvc4.41.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bool-1.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bool-2.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bool-3.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bv-1.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bv-2.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bv-3.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-bv-4.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-datatype-1.smt22
-rw-r--r--test/regress/regress1/sets/finite-type/sets-card-datatype-2.smt22
-rw-r--r--test/regress/regress1/sets/is_singleton1.smt22
-rw-r--r--test/regress/regress1/sets/issue2904.smt22
-rw-r--r--test/regress/regress1/sets/lemmabug-ListElts317minimized.smt22
-rw-r--r--test/regress/regress1/sets/sets-disequal.smt22
-rw-r--r--test/regress/regress1/sets/sets-tuple-poly.cvc2
-rw-r--r--test/regress/regress1/strings/cmu-2db2-extf-reg.smt22
-rw-r--r--test/regress/regress1/strings/cmu-5042-0707-2.smt22
-rw-r--r--test/regress/regress1/strings/cmu-inc-nlpp-071516.smt22
-rw-r--r--test/regress/regress1/strings/cmu-substr-rw.smt22
-rw-r--r--test/regress/regress1/strings/crash-1019.smt22
-rw-r--r--test/regress/regress1/strings/gm-inc-071516-2.smt22
-rw-r--r--test/regress/regress1/strings/idof-handg.smt22
-rw-r--r--test/regress/regress1/strings/idof-nconst-index.smt22
-rw-r--r--test/regress/regress1/strings/idof-neg-index.smt22
-rw-r--r--test/regress/regress1/strings/idof-triv.smt22
-rw-r--r--test/regress/regress1/strings/ilc-l-nt.smt22
-rw-r--r--test/regress/regress1/strings/issue3090.smt22
-rw-r--r--test/regress/regress1/strings/issue3217.smt22
-rw-r--r--test/regress/regress1/strings/issue3272.smt22
-rw-r--r--test/regress/regress1/strings/issue3357.smt22
-rw-r--r--test/regress/regress1/strings/regexp002.smt24
-rw-r--r--test/regress/regress1/strings/tolower-find.smt22
-rw-r--r--test/regress/regress1/sygus/clock-inc-tuple.sy2
-rw-r--r--test/regress/regress1/sygus/error1-dt.sy2
-rw-r--r--test/regress/regress1/sygus/extract.sy2
-rw-r--r--test/regress/regress1/sygus/issue3461.sy2
-rw-r--r--test/regress/regress1/sygus/list-head-x.sy2
-rw-r--r--test/regress/regress2/bug394.smt22
-rw-r--r--test/regress/regress2/bug674.smt22
-rw-r--r--test/regress/regress2/bug765.smt22
-rw-r--r--test/regress/regress2/issue6495-dup-pat-term.smt22
-rw-r--r--test/regress/regress2/nl/ufnia-factor-open-proof.smt212
-rw-r--r--test/regress/regress2/quantifiers/nunchaku2309663.nun.min.smt22
-rw-r--r--test/regress/regress2/strings/cmu-dis-0707-3.smt22
-rw-r--r--test/regress/regress2/strings/cmu-disagree-0707-dd.smt22
-rw-r--r--test/regress/regress2/strings/cmu-prereg-fmf.smt22
-rw-r--r--test/regress/regress2/strings/cmu-repl-len-nterm.smt22
-rw-r--r--test/regress/regress2/strings/issue3203.smt22
-rw-r--r--test/regress/regress3/quantifiers/ForElimination-scala-9.smt22
-rw-r--r--test/regress/regress4/bug396.smt22
-rw-r--r--test/unit/api/solver_black.cpp18
-rw-r--r--test/unit/theory/logic_info_white.cpp4
373 files changed, 1236 insertions, 1311 deletions
diff --git a/.github/workflows/docs_cleanup.yml b/.github/workflows/docs_cleanup.yml
index f56a0f595..761736e75 100644
--- a/.github/workflows/docs_cleanup.yml
+++ b/.github/workflows/docs_cleanup.yml
@@ -36,6 +36,7 @@ jobs:
touch -d "$mod" $file
done
find ./ -maxdepth 1 -name "docs-*" -mtime +7 -exec git rm -r {} +
+ find ./ -maxdepth 1 -name "docs-*" -xtype l -exec git rm {} +
git commit -m "Prune docs" || echo "Nothing to prune"
- name: Squash old commits
@@ -47,7 +48,10 @@ jobs:
first=`git rev-list --max-parents=0 HEAD`
last=`git rev-list --until=1.month.ago -n1 HEAD`
if [ -n "$last" ]; then
- git rebase -Xtheirs --onto $first $last
+ git checkout $last
+ git reset --soft $first
+ git commit -m "Squash old history"
+ git cherry-pick $last..main
git log
fi
@@ -66,4 +70,4 @@ jobs:
git commit -m "Update README.md"
fi
- git push -f
+ git push -f origin HEAD:main
diff --git a/NEWS b/NEWS
index 0b78073e9..60a70a6c5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
This file contains a summary of important user-visible changes.
-Changes since 1.8
-=================
+Changes since CVC4 1.8
+======================
New Features:
* New unsat-core production modes based on the new proof infrastructure
@@ -48,261 +48,5 @@ Changes:
is the same as before, only with this word removed from the beginning.
* Building with Python 2 is now deprecated.
* Removed the option `--rewrite-divk` (now effectively enabled by default).
-
-
-Changes since 1.7
-=================
-
-New Features:
-* New C++ and Python API: CVC4 has a new, more streamlined API. We plan to
- make CVC4 1.8 the last version that ships with the legacy API.
-* Strings: Full support of the new SMT-LIB standard for the theory of strings,
- including:
- * Support for `str.replace_re`, `str.replace_re_all`, `str.is_digit`,
- `str.from_code`, `re.diff`, and `re.comp`
- * Support for new operator names (e.g. `str.in_re` instead of `str.in.re`),
- new escape sequences. The new syntax is enabled by default for smt2 files.
-* Support for syntax-guided synthesis (SyGuS) problems in the new API. C++
- examples of the SyGuS API can be found in `./examples/api/sygus_*.cpp`.
-* Support for higher-order constraints. This includes treating function sorts
- (constructible by `->`) as first-class sorts and handling partially applied
- function symbols. Support for higher-order constraints can be enabled by
- the option `--uf-ho`.
-* Support for set comprehension binders `comprehension`.
-* Eager bit-blasting: Support for SAT solver Kissat.
-
-Improvements:
-* API: Function definitions can now be requested to be global. If the `global`
- parameter is set to true, they persist after popping the user context.
-* Java/Python bindings: The bindings now allow users to catch exceptions
-* Arithmetic: Performance improvements
- * Linear solver: New lemmas inspired by unit-cube tests
- * Non-linear solver: Expanded set of axioms
-* Ackermannization: The Ackermannization preprocessing pass now supports
- uninterpreted sorts and as a result all QF_UFBV problems are supported in
- combination with eager bit blasting.
-
-Changes:
-* CVC language: Models printed in the CVC language now include an explicit end
- marker to facilitate the communication over pipes with CVC4.
-* API change: `SmtEngine::query()` has been renamed to
- `SmtEngine::checkEntailed()` and `Result::Validity` has been renamed to
- `Result::Entailment` along with corresponding changes to the enum values.
-* Java API change: The name of CVC4's package is now `edu.stanford.CVC4`
- instead of `edu.nyu.acsys.CVC4`.
-* The default output language is changed from CVC to SMT-LIB 2.6. The
- default output language is used when the problem language cannot be
- easily inferred (for example when CVC4 is used from the API).
-* Printing of BV constants: previously CVC4 would print BV constant
- values as indexed symbols by default and in binary notation with the
- option --bv-print-consts-in-binary. To be SMT-LIB compliant the
- default behavior is now to print BV constant values in binary
- notation and as indexed symbols with the new option
- --bv-print-consts-as-indexed-symbols. The option
- --bv-print-consts-in-binary has been removed.
-* Updated to SyGuS language version 2.0 by default. This is the last release
- that will support the SyGuS language version 1.0 (`--lang=sygus1`). A
- script is provided to convert version 1.0 files to version 2.0, see
- `./contrib/sygus-v1-to-v2.sh`.
-* Support for user-provided rewrite rule quantifiers have been removed.
-* Support for certain option aliases have been removed.
-* Support for parallel portfolio builds has been removed.
-
-Changes since 1.6
-=================
-
-New Features:
-* Proofs:
- * Support for bit-vector proofs with eager bitblasting (older versions only
- supported proofs with lazy bitblasting).
-* Strings:
- * Support for `str.replaceall` operator.
- * New option `--re-elim` to reduce regular expressions to extended string
- operators, resulting in better performance on regular expression benchmarks
- (enabled by default).
-* SyGuS:
- * Support for abduction (`--sygus-abduct`). Given a formula, this option uses
- CVC4's SyGuS solver to find a sufficient condition such that the
- conjunction of the condition and the formula is unsatisfiable.
- * Support for two new term enumerator strategies: variable agnostic
- (`--sygus-active-gen=var-agnostic`) and fast (`--sygus-active-gen=enum`).
- By default, CVC4 tries to choose the best term enumerator strategy
- automatically based on the input (`--sygus-active-gen=auto`).
- * Support for streaming solutions of increasingly smaller size when using the
- PBE solver (`--sygus-stream --sygus-pbe`). After the first solution is found
- and printed, the solver will continue to look for new solutions and print
- those, if any, that are smaller than previously printed solutions.
- * Support for unification-based techniques in non-separable specifications
- (`--sygus-unif`). For solving invariant problems a dedicate mode
- (`--sygus-unif-boolean-heuristic-dt`) is available that builds candidate
- solutions using heuristic decision tree learning.
-
-Improvements:
-* Strings:
- * Significantly better performance on string benchmarks over the core theory
- and those with extended string functions like substring, contains, and
- replace.
-
-Changes:
-* API change: Expr::iffExpr() is renamed to Expr::eqExpr() to reflect its
- actual behavior.
-* Compiling the language bindings now requires SWIG 3 instead of SWIG 2.
-* The CVC3 compatibility layer has been removed.
-* The build system now uses CMake instead of Autotools. Please refer to
- [INSTALL.md](https://github.com/CVC4/CVC4/blob/master/INSTALL.md) for
- up-to-date instructions on how to build CVC4.
-
-Changes since 1.5
-=================
-
-New Features:
-* A new theory of floating points.
-* Novel approach for solving quantified bit-vectors (BV).
-* Eager bit-blasting: Support for SAT solver CaDiCaL.
-* A new Gaussian Elimination preprocessing pass for the theory of bit-vectors.
-* Support for transcendental functions (sin, cos, exp). In SMT2 input, this
- can be enabled by adding T to the logic (e.g., QF_NRAT).
-* Support for new operators in strings, including string inequality (str.<=)
- and string code (str.code).
-* Support for automated rewrite rule generation from sygus (*.sy) inputs using
- syntax-guided enumeration (option --sygus-rr).
-
-Improvements:
-* Incremental unsat core support.
-* Further development of rewrite rules for the theory of strings and regular
- expressions.
-* Many optimizations for syntax-guided synthesis, including improved symmetry
- breaking for enumerative search and specialized algorithms for
- programming-by-examples conjectures.
-
-Changes:
-* Eager bit-blasting: Removed support for SAT solver CryptoMinisat 4, added
- support for CryptoMinisat 5.
-* The LFSC proof checker now resides in its own repository on GitHub at
- https://github.com/CVC4/LFSC. It is not distributed with CVC4 anymore.
-
-Changes since 1.4
-=================
-
-* Improved heuristics for reasoning about non-linear arithmetic.
-* Native support for syntax-guided synthesis (sygus).
-* Support for many new heuristics for reasoning with quantifiers, including
- finite model finding.
-* Support for proofs for uninterpreted functions, arrays, bitvectors, and
- their combinations.
-* Performance improvements to existing theories.
-* A new theory of sets with cardinality and relations.
-* A new theory of strings.
-* Support for unsat cores.
-* Support for separation logic constraints.
-* Simplification mode "incremental" no longer supported.
-* Support for array constants in constraints.
-* Syntax for array models has changed in some language front-ends.
-* New input/output languages supported: "smt2.0" and "smtlib2.0" to
- force SMT-LIB v2.0; "smt2.5" and "smtlib2.5" to force SMT-LIB v2.5;
- "smt2.6" and "smtlib2.6" to force SMT-LIB v2.6;
- "smt", "smtlib", "smt2", and "smtlib2" all refer to the current standard
- version 2.6. If an :smt-lib-version is set in the input, that overrides
- the command line.
-* Abstract values in SMT-LIB models are now ascribed types (with "as").
-* In SMT-LIB model output, real-sorted but integer-valued constants are
- now printed in accordance with the standard (e.g. "1.0").
-
-Changes since 1.3
-=================
-
-* CVC4 now supports libc++ in addition to libstdc++ (this especially
- helps on Mac OS Mavericks).
-* The LFSC proof checker has been incorporated into CVC4 sources.
-* Theory of finite sets, handling the MLSS fragment (singleton, union,
- intersection, set subtraction, membership and subset).
-* By default, CVC4 builds in "production" mode (optimized, with fewer
- internal checks on). The common alternative is a "debug" build, which
- is much slower. By default, CVC4 builds with no GPL'ed dependences.
- However, this is not the best-performing version; for that, you should
- configure with "--enable-gpl --best", which links against GPL'ed
- libraries that improve usability and performance. For details on
- licensing and dependences, see the README file.
-* Small API adjustments to Datatypes to even out the API and make it
- function better in Java.
-* Timed statistics are now properly updated even on process abort.
-* Better automatic handling of output language setting when using CVC4
- via API. Previously, the "automatic" language setting was sometimes
- (though not always) defaulting to the internal "AST" language; it
- should now (correctly) default to the same as the input language
- (if the input language is supported as an output language), or the
- "CVC4" native output language if no input language setting is applied.
-* The SmtEngine cannot be safely copied with the copy constructor.
- Previous versions inadvertently permitted clients to do this via the
- API. This has been corrected, copy and assignment of the SmtEngine
- is no longer permitted.
-
-Changes since 1.2
-=================
-
-New features:
-* SMT-LIB-compliant support for abs, to_real, to_int, is_int, which were
- previously missing
-* New bv2nat/int2bv operators for bitvector/integer inter-compatibility.
-* Support in linear logics for /, div, and mod by constants (with the
- --rewrite-divk command line option).
-* Parsing support for TPTP's TFF and TFA formats.
-* A new theory of strings: word (dis-)equations, length constraints,
- regular expressions.
-* Increased compliance to SMT-LIBv2, numerous bugs and usability issues
- resolved.
-* New :command-verbosity SMT option to silence success and error messages
- on a per-command basis, and API changes to Command infrastructure to
- support this.
-
-Behavioral changes:
-* It is no longer permitted to request model or proof generation if there's
- been an intervening push/pop.
-* User-defined symbols (define-funs) are no longer reported in the output
- of get-model commands.
-* Exit codes are now more standard for UNIX command-line tools. Exit code
- zero means no error---but the result could be sat, unsat, or unknown---and
- nonzero means error.
-
-API changes:
-* Expr::substitute() now capable of substituting operators (e.g.,
- function symbols under an APPLY_UF)
-* Numerous improvements to the Java language bindings
-
-Changes since 1.1
-=================
-
-* Real arithmetic now has three simplex solvers for exact precision linear
- arithmetic: the classical dual solver and two new solvers based on
- techniques for minimizing the sum of infeasibilities. GLPK can now be used
- as a heuristic backup to the exact precision solvers. GLPK must be enabled
- at configure time. See --help for more information on enabling these solvers.
-* added support for "bit0" and "bit1" bitvector constants in SMT-LIB v1.2
-* support for theory "alternates": new ability to prototype new decision
- procedures that are selectable at runtime
-* various bugfixes
-
-Changes since 1.0
-=================
-
-* bit-vector solver now has a specialized decision procedure for unsigned bit-
- vector inequalities
-* numerous important bug fixes, performance improvements, and usability
- improvements
-* support for multiline input in interactive mode
-* Win32-building support via mingw
-* SMT-LIB get-model output now is easier to machine-parse: contains (model...)
-* user patterns for quantifier instantiation are now supported in the
- SMT-LIBv1.2 parser
-* --finite-model-find was incomplete when using --incremental, now fixed
-* the E-matching procedure is slightly improved
-* Boolean terms are now supported in datatypes
-* tuple and record support have been added to the compatibility library
-* driver verbosity change: for printing all commands as they're executed, you
- now need verbosity level >= 3 (e.g., -vvv) instead of level 1 (-v). This
- allows tracing the solver's activities (with -v and -vv) without having too
- much output.
-* to make CVC4 quieter in abnormal (e.g., "warning" conditions), you can
- use -q. Previously, this would silence all output (including "sat" or
- "unsat") as well. Now, single -q silences messages and warnings, and
- double -qq silences all output (except on exception or signal).
+* Removed support for redundant logics ALL_SUPPORTED and QF_ALL_SUPPORTED,
+ use ALL and QF_ALL instead.
diff --git a/src/api/cpp/cvc5.cpp b/src/api/cpp/cvc5.cpp
index 0f2d5ad1b..668fc9382 100644
--- a/src/api/cpp/cvc5.cpp
+++ b/src/api/cpp/cvc5.cpp
@@ -4743,7 +4743,7 @@ Solver::Solver(Options* opts)
}
d_smtEngine.reset(new SmtEngine(d_nodeMgr.get(), d_originalOptions.get()));
d_smtEngine->setSolver(this);
- d_rng.reset(new Random(d_smtEngine->getOptions()[options::seed]));
+ d_rng.reset(new Random(d_smtEngine->getOptions().driver.seed));
resetStatistics();
}
@@ -6452,7 +6452,7 @@ Result Solver::checkEntailed(const Term& term) const
NodeManagerScope scope(getNodeManager());
CVC5_API_TRY_CATCH_BEGIN;
CVC5_API_CHECK(!d_smtEngine->isQueryMade()
- || d_smtEngine->getOptions()[options::incrementalSolving])
+ || d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot make multiple queries unless incremental solving is enabled "
"(try --incremental)";
CVC5_API_SOLVER_CHECK_TERM(term);
@@ -6468,7 +6468,7 @@ Result Solver::checkEntailed(const std::vector<Term>& terms) const
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
CVC5_API_CHECK(!d_smtEngine->isQueryMade()
- || d_smtEngine->getOptions()[options::incrementalSolving])
+ || d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot make multiple queries unless incremental solving is enabled "
"(try --incremental)";
CVC5_API_SOLVER_CHECK_TERMS(terms);
@@ -6497,7 +6497,7 @@ Result Solver::checkSat(void) const
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
CVC5_API_CHECK(!d_smtEngine->isQueryMade()
- || d_smtEngine->getOptions()[options::incrementalSolving])
+ || d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot make multiple queries unless incremental solving is enabled "
"(try --incremental)";
//////// all checks before this line
@@ -6512,7 +6512,7 @@ Result Solver::checkSatAssuming(const Term& assumption) const
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
CVC5_API_CHECK(!d_smtEngine->isQueryMade()
- || d_smtEngine->getOptions()[options::incrementalSolving])
+ || d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot make multiple queries unless incremental solving is enabled "
"(try --incremental)";
CVC5_API_SOLVER_CHECK_TERM_WITH_SORT(assumption, getBooleanSort());
@@ -6528,7 +6528,7 @@ Result Solver::checkSatAssuming(const std::vector<Term>& assumptions) const
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
CVC5_API_CHECK(!d_smtEngine->isQueryMade() || assumptions.size() == 0
- || d_smtEngine->getOptions()[options::incrementalSolving])
+ || d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot make multiple queries unless incremental solving is enabled "
"(try --incremental)";
CVC5_API_SOLVER_CHECK_TERMS_WITH_SORT(assumptions, getBooleanSort());
@@ -6863,10 +6863,10 @@ std::vector<Term> Solver::getUnsatAssumptions(void) const
{
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::incrementalSolving])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot get unsat assumptions unless incremental solving is enabled "
"(try --incremental)";
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::unsatAssumptions])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.unsatAssumptions)
<< "Cannot get unsat assumptions unless explicitly enabled "
"(try --produce-unsat-assumptions)";
CVC5_API_CHECK(d_smtEngine->getSmtMode() == SmtMode::UNSAT)
@@ -6891,7 +6891,7 @@ std::vector<Term> Solver::getUnsatCore(void) const
{
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::unsatCores])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.unsatCores)
<< "Cannot get unsat core unless explicitly enabled "
"(try --produce-unsat-cores)";
CVC5_API_RECOVERABLE_CHECK(d_smtEngine->getSmtMode() == SmtMode::UNSAT)
@@ -6925,7 +6925,7 @@ std::vector<Term> Solver::getValue(const std::vector<Term>& terms) const
{
CVC5_API_TRY_CATCH_BEGIN;
NodeManagerScope scope(getNodeManager());
- CVC5_API_RECOVERABLE_CHECK(d_smtEngine->getOptions()[options::produceModels])
+ CVC5_API_RECOVERABLE_CHECK(d_smtEngine->getOptions().smt.produceModels)
<< "Cannot get value unless model generation is enabled "
"(try --produce-models)";
CVC5_API_RECOVERABLE_CHECK(d_smtEngine->isSmtModeSat())
@@ -6992,7 +6992,7 @@ Term Solver::getSeparationHeap() const
d_smtEngine->getLogicInfo().isTheoryEnabled(theory::THEORY_SEP))
<< "Cannot obtain separation logic expressions if not using the "
"separation logic theory.";
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::produceModels])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.produceModels)
<< "Cannot get separation heap term unless model generation is enabled "
"(try --produce-models)";
CVC5_API_RECOVERABLE_CHECK(d_smtEngine->isSmtModeSat())
@@ -7011,7 +7011,7 @@ Term Solver::getSeparationNilTerm() const
d_smtEngine->getLogicInfo().isTheoryEnabled(theory::THEORY_SEP))
<< "Cannot obtain separation logic expressions if not using the "
"separation logic theory.";
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::produceModels])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.produceModels)
<< "Cannot get separation nil term unless model generation is enabled "
"(try --produce-models)";
CVC5_API_RECOVERABLE_CHECK(d_smtEngine->isSmtModeSat())
@@ -7044,7 +7044,7 @@ void Solver::pop(uint32_t nscopes) const
{
NodeManagerScope scope(getNodeManager());
CVC5_API_TRY_CATCH_BEGIN;
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::incrementalSolving])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot pop when not solving incrementally (use --incremental)";
CVC5_API_CHECK(nscopes <= d_smtEngine->getNumUserLevels())
<< "Cannot pop beyond first pushed context";
@@ -7133,7 +7133,7 @@ void Solver::blockModel() const
{
NodeManagerScope scope(getNodeManager());
CVC5_API_TRY_CATCH_BEGIN;
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::produceModels])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.produceModels)
<< "Cannot get value unless model generation is enabled "
"(try --produce-models)";
CVC5_API_RECOVERABLE_CHECK(d_smtEngine->isSmtModeSat())
@@ -7148,7 +7148,7 @@ void Solver::blockModelValues(const std::vector<Term>& terms) const
{
NodeManagerScope scope(getNodeManager());
CVC5_API_TRY_CATCH_BEGIN;
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::produceModels])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.produceModels)
<< "Cannot get value unless model generation is enabled "
"(try --produce-models)";
CVC5_API_RECOVERABLE_CHECK(d_smtEngine->isSmtModeSat())
@@ -7176,7 +7176,7 @@ void Solver::push(uint32_t nscopes) const
{
NodeManagerScope scope(getNodeManager());
CVC5_API_TRY_CATCH_BEGIN;
- CVC5_API_CHECK(d_smtEngine->getOptions()[options::incrementalSolving])
+ CVC5_API_CHECK(d_smtEngine->getOptions().smt.incrementalSolving)
<< "Cannot push when not solving incrementally (use --incremental)";
//////// all checks before this line
for (uint32_t n = 0; n < nscopes; ++n)
diff --git a/src/api/cpp/cvc5_kind.h b/src/api/cpp/cvc5_kind.h
index 4263eedb2..b4596e977 100644
--- a/src/api/cpp/cvc5_kind.h
+++ b/src/api/cpp/cvc5_kind.h
@@ -913,12 +913,8 @@ enum CVC5_EXPORT Kind : int32_t
*/
BITVECTOR_NEG,
/**
- * Unsigned division of two bit-vectors, truncating towards 0.
- *
- * Note: The semantics of this operator depends on `bv-div-zero-const`
- * (default is true). Depending on the setting, a division by zero is
- * treated as all ones (default, corresponds to SMT-LIB >=2.6) or an
- * uninterpreted value (corresponds to SMT-LIB <2.6).
+ * Unsigned division of two bit-vectors, truncating towards 0. If the divisor
+ * is zero, the result is all ones.
*
* Parameters:
* - 1..2: Terms of bit-vector sort (sorts must match)
@@ -929,12 +925,8 @@ enum CVC5_EXPORT Kind : int32_t
*/
BITVECTOR_UDIV,
/**
- * Unsigned remainder from truncating division of two bit-vectors.
- *
- * Note: The semantics of this operator depends on `bv-div-zero-const`
- * (default is true). Depending on the setting, if the modulus is zero, the
- * result is either the dividend (default, corresponds to SMT-LIB >=2.6) or
- * an uninterpreted value (corresponds to SMT-LIB <2.6).
+ * Unsigned remainder from truncating division of two bit-vectors. If the
+ * modulus is zero, the result is the dividend.
*
* Parameters:
* - 1..2: Terms of bit-vector sort (sorts must match)
@@ -945,13 +937,9 @@ enum CVC5_EXPORT Kind : int32_t
*/
BITVECTOR_UREM,
/**
- * Two's complement signed division of two bit-vectors.
- *
- * Note: The semantics of this operator depends on `bv-div-zero-const`
- * (default is true). By default, the function returns all ones if the
- * dividend is positive and one if the dividend is negative (corresponds to
- * SMT-LIB >=2.6). If the option is disabled, a division by zero is treated
- * as an uninterpreted value (corresponds to SMT-LIB <2.6).
+ * Two's complement signed division of two bit-vectors. If the divisor is
+ * zero and the dividend is positive, the result is all ones. If the divisor
+ * is zero and the dividend is negative, the result is one.
*
* Parameters:
* - 1..2: Terms of bit-vector sort (sorts must match)
@@ -962,13 +950,8 @@ enum CVC5_EXPORT Kind : int32_t
*/
BITVECTOR_SDIV,
/**
- * Two's complement signed remainder of two bit-vectors
- * (sign follows dividend).
- *
- * Note: The semantics of this operator depends on `bv-div-zero-const`
- * (default is true, corresponds to SMT-LIB >=2.6). Depending on the setting,
- * if the modulus is zero, the result is either the dividend (default) or an
- * uninterpreted value (corresponds to SMT-LIB <2.6).
+ * Two's complement signed remainder of two bit-vectors (sign follows
+ * dividend). If the modulus is zero, the result is the dividend.
*
* Parameters:
* - 1..2: Terms of bit-vector sort (sorts must match)
@@ -979,13 +962,8 @@ enum CVC5_EXPORT Kind : int32_t
*/
BITVECTOR_SREM,
/**
- * Two's complement signed remainder
- * (sign follows divisor).
- *
- * Note: The semantics of this operator depends on `bv-div-zero-const`
- * (default is on). Depending on the setting, if the modulus is zero, the
- * result is either the dividend (default, corresponds to SMT-LIB >=2.6) or
- * an uninterpreted value (corresponds to SMT-LIB <2.6).
+ * Two's complement signed remainder (sign follows divisor). If the modulus
+ * is zero, the result is the dividend.
*
* Parameters:
* - 1..2: Terms of bit-vector sort (sorts must match)
diff --git a/src/api/python/cvc5.pxd b/src/api/python/cvc5.pxd
index fdcbfa997..2ad8cef5c 100644
--- a/src/api/python/cvc5.pxd
+++ b/src/api/python/cvc5.pxd
@@ -176,6 +176,7 @@ cdef extern from "api/cpp/cvc5.h" namespace "cvc5::api":
Sort mkTupleSort(const vector[Sort]& sorts) except +
Term mkTerm(Op op) except +
Term mkTerm(Op op, const vector[Term]& children) except +
+ Term mkTuple(const vector[Sort]& sorts, const vector[Term]& terms) except +
Op mkOp(Kind kind) except +
Op mkOp(Kind kind, Kind k) except +
Op mkOp(Kind kind, const string& arg) except +
@@ -388,6 +389,8 @@ cdef extern from "api/cpp/cvc5.h" namespace "cvc5::api":
Term operator*() except +
const_iterator begin() except +
const_iterator end() except +
+
+ bint isConstArray() except +
bint isBooleanValue() except +
bint getBooleanValue() except +
bint isStringValue() except +
@@ -398,6 +401,8 @@ cdef extern from "api/cpp/cvc5.h" namespace "cvc5::api":
string getRealValue() except +
bint isBitVectorValue() except +
string getBitVectorValue(uint32_t base) except +
+ bint isAbstractValue() except +
+ string getAbstractValue() except +
bint isFloatingPointPosZero() except +
bint isFloatingPointNegZero() except +
bint isFloatingPointPosInf() except +
@@ -406,7 +411,15 @@ cdef extern from "api/cpp/cvc5.h" namespace "cvc5::api":
bint isFloatingPointValue() except +
tuple[uint32_t, uint32_t, Term] getFloatingPointValue() except +
+ bint isSetValue() except +
+ set[Term] getSetValue() except +
+ bint isSequenceValue() except +
vector[Term] getSequenceValue() except +
+ bint isUninterpretedValue() except +
+ pair[Sort, int32_t] getUninterpretedValue() except +
+ bint isTupleValue() except +
+ vector[Term] getTupleValue() except +
+
cdef cppclass TermHashFunction:
TermHashFunction() except +
diff --git a/src/api/python/cvc5.pxi b/src/api/python/cvc5.pxi
index 25ded76bb..8599a1cd1 100644
--- a/src/api/python/cvc5.pxi
+++ b/src/api/python/cvc5.pxi
@@ -658,6 +658,19 @@ cdef class Solver:
term.cterm = self.csolver.mkTerm((<Op?> op).cop, v)
return term
+ def mkTuple(self, sorts, terms):
+ cdef vector[c_Sort] csorts
+ cdef vector[c_Term] cterms
+
+ for s in sorts:
+ csorts.push_back((<Sort?> s).csort)
+ for s in terms:
+ cterms.push_back((<Term?> s).cterm)
+ cdef Term result = Term(self)
+ result.cterm = self.csolver.mkTuple(csorts, cterms)
+ return result
+
+
def mkOp(self, kind k, arg0=None, arg1 = None):
'''
Supports the following uses:
@@ -1609,19 +1622,6 @@ cdef class Term:
def isNull(self):
return self.cterm.isNull()
- def getConstArrayBase(self):
- cdef Term term = Term(self.solver)
- term.cterm = self.cterm.getConstArrayBase()
- return term
-
- def getSequenceValue(self):
- elems = []
- for e in self.cterm.getSequenceValue():
- term = Term(self.solver)
- term.cterm = e
- elems.append(term)
- return elems
-
def notTerm(self):
cdef Term term = Term(self.solver)
term.cterm = self.cterm.notTerm()
@@ -1657,6 +1657,14 @@ cdef class Term:
term.cterm = self.cterm.iteTerm(then_t.cterm, else_t.cterm)
return term
+ def isConstArray(self):
+ return self.cterm.isConstArray()
+
+ def getConstArrayBase(self):
+ cdef Term term = Term(self.solver)
+ term.cterm = self.cterm.getConstArrayBase()
+ return term
+
def isBooleanValue(self):
return self.cterm.isBooleanValue()
@@ -1673,7 +1681,12 @@ cdef class Term:
def isIntegerValue(self):
return self.cterm.isIntegerValue()
-
+ def isAbstractValue(self):
+ return self.cterm.isAbstractValue()
+
+ def getAbstractValue(self):
+ return self.cterm.getAbstractValue().decode()
+
def isFloatingPointPosZero(self):
return self.cterm.isFloatingPointPosZero()
@@ -1698,6 +1711,49 @@ cdef class Term:
term.cterm = get2(t)
return (get0(t), get1(t), term)
+ def isSetValue(self):
+ return self.cterm.isSetValue()
+
+ def getSetValue(self):
+ elems = set()
+ for e in self.cterm.getSetValue():
+ term = Term(self.solver)
+ term.cterm = e
+ elems.add(term)
+ return elems
+
+ def isSequenceValue(self):
+ return self.cterm.isSequenceValue()
+
+ def getSequenceValue(self):
+ elems = []
+ for e in self.cterm.getSequenceValue():
+ term = Term(self.solver)
+ term.cterm = e
+ elems.append(term)
+ return elems
+
+ def isUninterpretedValue(self):
+ return self.cterm.isUninterpretedValue()
+
+ def getUninterpretedValue(self):
+ cdef pair[c_Sort, int32_t] p = self.cterm.getUninterpretedValue()
+ cdef Sort sort = Sort(self.solver)
+ sort.csort = p.first
+ i = p.second
+ return (sort, i)
+
+ def isTupleValue(self):
+ return self.cterm.isTupleValue()
+
+ def getTupleValue(self):
+ elems = []
+ for e in self.cterm.getTupleValue():
+ term = Term(self.solver)
+ term.cterm = e
+ elems.append(term)
+ return elems
+
def getIntegerValue(self):
return int(self.cterm.getIntegerValue().decode())
diff --git a/src/main/command_executor.cpp b/src/main/command_executor.cpp
index c8e977f1f..5759ec856 100644
--- a/src/main/command_executor.cpp
+++ b/src/main/command_executor.cpp
@@ -26,6 +26,7 @@
#include <vector>
#include "main/main.h"
+#include "options/options_public.h"
#include "smt/command.h"
#include "smt/smt_engine.h"
@@ -64,7 +65,7 @@ CommandExecutor::~CommandExecutor()
void CommandExecutor::printStatistics(std::ostream& out) const
{
- if (d_options.getStatistics())
+ if (options::getStatistics(d_options))
{
getSmtEngine()->printStatistics(out);
}
@@ -72,7 +73,7 @@ void CommandExecutor::printStatistics(std::ostream& out) const
void CommandExecutor::printStatisticsSafe(int fd) const
{
- if (d_options.getStatistics())
+ if (options::getStatistics(d_options))
{
getSmtEngine()->printStatisticsSafe(fd);
}
@@ -80,7 +81,8 @@ void CommandExecutor::printStatisticsSafe(int fd) const
bool CommandExecutor::doCommand(Command* cmd)
{
- if( d_options.getParseOnly() ) {
+ if (options::getParseOnly(d_options))
+ {
return true;
}
@@ -98,8 +100,9 @@ bool CommandExecutor::doCommand(Command* cmd)
return status;
} else {
- if(d_options.getVerbosity() > 2) {
- *d_options.getOut() << "Invoking: " << *cmd << std::endl;
+ if (options::getVerbosity(d_options) > 2)
+ {
+ *options::getOut(d_options) << "Invoking: " << *cmd << std::endl;
}
return doCommandSingleton(cmd);
@@ -108,7 +111,7 @@ bool CommandExecutor::doCommand(Command* cmd)
void CommandExecutor::reset()
{
- printStatistics(*d_options.getErr());
+ printStatistics(*options::getErr(d_options));
/* We have to keep options passed via CL on reset. These options are stored
* in CommandExecutor::d_options (populated and created in the driver), and
* CommandExecutor::d_options only contains *these* options since the
@@ -121,10 +124,13 @@ void CommandExecutor::reset()
bool CommandExecutor::doCommandSingleton(Command* cmd)
{
bool status = true;
- if(d_options.getVerbosity() >= -1) {
- status =
- solverInvoke(d_solver.get(), d_symman.get(), cmd, d_options.getOut());
- } else {
+ if (options::getVerbosity(d_options) >= -1)
+ {
+ status = solverInvoke(
+ d_solver.get(), d_symman.get(), cmd, options::getOut(d_options));
+ }
+ else
+ {
status = solverInvoke(d_solver.get(), d_symman.get(), cmd, nullptr);
}
@@ -144,8 +150,9 @@ bool CommandExecutor::doCommandSingleton(Command* cmd)
d_result = res = q->getResult();
}
- if((cs != nullptr || q != nullptr) && d_options.getStatsEveryQuery()) {
- getSmtEngine()->printStatisticsDiff(*d_options.getErr());
+ if ((cs != nullptr || q != nullptr) && options::getStatsEveryQuery(d_options))
+ {
+ getSmtEngine()->printStatisticsDiff(*options::getErr(d_options));
}
bool isResultUnsat = res.isUnsat() || res.isEntailed();
@@ -153,20 +160,21 @@ bool CommandExecutor::doCommandSingleton(Command* cmd)
// dump the model/proof/unsat core if option is set
if (status) {
std::vector<std::unique_ptr<Command> > getterCommands;
- if (d_options.getDumpModels()
+ if (options::getDumpModels(d_options)
&& (res.isSat()
|| (res.isSatUnknown()
&& res.getUnknownExplanation() == api::Result::INCOMPLETE)))
{
getterCommands.emplace_back(new GetModelCommand());
}
- if (d_options.getDumpProofs() && isResultUnsat)
+ if (options::getDumpProofs(d_options) && isResultUnsat)
{
getterCommands.emplace_back(new GetProofCommand());
}
- if (d_options.getDumpInstantiations()
- && ((d_options.getInstFormatMode() != options::InstFormatMode::SZS
+ if (options::getDumpInstantiations(d_options)
+ && ((options::getInstFormatMode(d_options)
+ != options::InstFormatMode::SZS
&& (res.isSat()
|| (res.isSatUnknown()
&& res.getUnknownExplanation()
@@ -176,14 +184,15 @@ bool CommandExecutor::doCommandSingleton(Command* cmd)
getterCommands.emplace_back(new GetInstantiationsCommand());
}
- if (d_options.getDumpUnsatCores() && isResultUnsat)
+ if (options::getDumpUnsatCores(d_options) && isResultUnsat)
{
getterCommands.emplace_back(new GetUnsatCoreCommand());
}
if (!getterCommands.empty()) {
// set no time limit during dumping if applicable
- if (d_options.getForceNoLimitCpuWhileDump()) {
+ if (options::getForceNoLimitCpuWhileDump(d_options))
+ {
setNoLimitCPU();
}
for (const auto& getterCommand : getterCommands) {
@@ -222,11 +231,18 @@ bool solverInvoke(api::Solver* solver,
}
void CommandExecutor::flushOutputStreams() {
- printStatistics(*(d_options.getErr()));
+ printStatistics(*(options::getErr(d_options)));
// make sure out and err streams are flushed too
- d_options.flushOut();
- d_options.flushErr();
+
+ if (options::getOut(d_options) != nullptr)
+ {
+ *options::getOut(d_options) << std::flush;
+ }
+ if (options::getErr(d_options) != nullptr)
+ {
+ *options::getErr(d_options) << std::flush;
+ }
}
} // namespace main
diff --git a/src/main/driver_unified.cpp b/src/main/driver_unified.cpp
index a26ee3b73..79c98924a 100644
--- a/src/main/driver_unified.cpp
+++ b/src/main/driver_unified.cpp
@@ -34,6 +34,7 @@
#include "main/signal_handlers.h"
#include "main/time_limit.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "options/set_language.h"
#include "parser/parser.h"
#include "parser/parser_builder.h"
@@ -78,16 +79,17 @@ TotalTimer::~TotalTimer()
void printUsage(Options& opts, bool full) {
stringstream ss;
- ss << "usage: " << opts.getBinaryName() << " [options] [input-file]" << endl
+ ss << "usage: " << options::getBinaryName(opts) << " [options] [input-file]"
+ << endl
<< endl
<< "Without an input file, or with `-', cvc5 reads from standard input."
<< endl
<< endl
<< "cvc5 options:" << endl;
if(full) {
- Options::printUsage( ss.str(), *(opts.getOut()) );
+ Options::printUsage(ss.str(), *(options::getOut(opts)));
} else {
- Options::printShortUsage( ss.str(), *(opts.getOut()) );
+ Options::printShortUsage(ss.str(), *(options::getOut(opts)));
}
}
@@ -107,25 +109,30 @@ int runCvc5(int argc, char* argv[], Options& opts)
auto limit = install_time_limit(opts);
- string progNameStr = opts.getBinaryName();
+ string progNameStr = options::getBinaryName(opts);
progName = &progNameStr;
- if( opts.getHelp() ) {
+ if (options::getHelp(opts))
+ {
printUsage(opts, true);
exit(1);
- } else if( opts.getLanguageHelp() ) {
- Options::printLanguageHelp(*(opts.getOut()));
+ }
+ else if (options::getLanguageHelp(opts))
+ {
+ Options::printLanguageHelp(*(options::getOut(opts)));
exit(1);
- } else if( opts.getVersion() ) {
- *(opts.getOut()) << Configuration::about().c_str() << flush;
+ }
+ else if (options::getVersion(opts))
+ {
+ *(options::getOut(opts)) << Configuration::about().c_str() << flush;
exit(0);
}
- segvSpin = opts.getSegvSpin();
+ segvSpin = options::getSegvSpin(opts);
// If in competition mode, set output stream option to flush immediately
#ifdef CVC5_COMPETITION_MODE
- *(opts.getOut()) << unitbuf;
+ *(options::getOut(opts)) << unitbuf;
#endif /* CVC5_COMPETITION_MODE */
// We only accept one input file
@@ -137,8 +144,9 @@ int runCvc5(int argc, char* argv[], Options& opts)
const bool inputFromStdin = filenames.empty() || filenames[0] == "-";
// if we're reading from stdin on a TTY, default to interactive mode
- if(!opts.wasSetByUserInteractive()) {
- opts.setInteractive(inputFromStdin && isatty(fileno(stdin)));
+ if (!options::wasSetByUserInteractive(opts))
+ {
+ options::setInteractive(inputFromStdin && isatty(fileno(stdin)), opts);
}
// Auto-detect input language by filename extension
@@ -150,30 +158,33 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
const char* filename = filenameStr.c_str();
- if(opts.getInputLanguage() == language::input::LANG_AUTO) {
+ if (options::getInputLanguage(opts) == language::input::LANG_AUTO)
+ {
if( inputFromStdin ) {
// We can't do any fancy detection on stdin
- opts.setInputLanguage(language::input::LANG_CVC);
+ options::setInputLanguage(language::input::LANG_CVC, opts);
} else {
- unsigned len = filenameStr.size();
+ size_t len = filenameStr.size();
if(len >= 5 && !strcmp(".smt2", filename + len - 5)) {
- opts.setInputLanguage(language::input::LANG_SMTLIB_V2_6);
+ options::setInputLanguage(language::input::LANG_SMTLIB_V2_6, opts);
} else if((len >= 2 && !strcmp(".p", filename + len - 2))
|| (len >= 5 && !strcmp(".tptp", filename + len - 5))) {
- opts.setInputLanguage(language::input::LANG_TPTP);
+ options::setInputLanguage(language::input::LANG_TPTP, opts);
} else if(( len >= 4 && !strcmp(".cvc", filename + len - 4) )
|| ( len >= 5 && !strcmp(".cvc4", filename + len - 5) )) {
- opts.setInputLanguage(language::input::LANG_CVC);
+ options::setInputLanguage(language::input::LANG_CVC, opts);
} else if((len >= 3 && !strcmp(".sy", filename + len - 3))
|| (len >= 3 && !strcmp(".sl", filename + len - 3))) {
// version 2 sygus is the default
- opts.setInputLanguage(language::input::LANG_SYGUS_V2);
+ options::setInputLanguage(language::input::LANG_SYGUS_V2, opts);
}
}
}
- if(opts.getOutputLanguage() == language::output::LANG_AUTO) {
- opts.setOutputLanguage(language::toOutputLanguage(opts.getInputLanguage()));
+ if (options::getOutputLanguage(opts) == language::output::LANG_AUTO)
+ {
+ options::setOutputLanguage(
+ language::toOutputLanguage(options::getInputLanguage(opts)), opts);
}
// Determine which messages to show based on smtcomp_mode and verbosity
@@ -187,7 +198,8 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
// important even for muzzled builds (to get result output right)
- (*(opts.getOut())) << language::SetLanguage(opts.getOutputLanguage());
+ (*(options::getOut(opts)))
+ << language::SetLanguage(options::getOutputLanguage(opts));
// Create the command executor to execute the parsed commands
pExecutor = std::make_unique<CommandExecutor>(opts);
@@ -200,19 +212,23 @@ int runCvc5(int argc, char* argv[], Options& opts)
// Parse and execute commands until we are done
std::unique_ptr<Command> cmd;
bool status = true;
- if(opts.getInteractive() && inputFromStdin) {
- if(opts.getTearDownIncremental() > 0) {
+ if (options::getInteractive(opts) && inputFromStdin)
+ {
+ if (options::getTearDownIncremental(opts) > 0)
+ {
throw Exception(
"--tear-down-incremental doesn't work in interactive mode");
}
- if(!opts.wasSetByUserIncrementalSolving()) {
+ if (!options::wasSetByUserIncrementalSolving(opts))
+ {
cmd.reset(new SetOptionCommand("incremental", "true"));
cmd->setMuted(true);
pExecutor->doCommand(cmd);
}
InteractiveShell shell(pExecutor->getSolver(),
pExecutor->getSymbolManager());
- if(opts.getInteractivePrompt()) {
+ if (options::getInteractivePrompt(opts))
+ {
CVC5Message() << Configuration::getPackageName() << " "
<< Configuration::getVersionString();
if(Configuration::isGitBuild()) {
@@ -230,7 +246,7 @@ int runCvc5(int argc, char* argv[], Options& opts)
try {
cmd.reset(shell.readCommand());
} catch(UnsafeInterruptException& e) {
- (*opts.getOut()) << CommandInterrupted();
+ (*options::getOut(opts)) << CommandInterrupted();
break;
}
if (cmd == nullptr)
@@ -240,14 +256,18 @@ int runCvc5(int argc, char* argv[], Options& opts)
break;
}
}
- } else if( opts.getTearDownIncremental() > 0) {
- if(!opts.getIncrementalSolving() && opts.getTearDownIncremental() > 1) {
+ }
+ else if (options::getTearDownIncremental(opts) > 0)
+ {
+ if (!options::getIncrementalSolving(opts)
+ && options::getTearDownIncremental(opts) > 1)
+ {
// For tear-down-incremental values greater than 1, need incremental
// on too.
cmd.reset(new SetOptionCommand("incremental", "true"));
cmd->setMuted(true);
pExecutor->doCommand(cmd);
- // if(opts.wasSetByUserIncrementalSolving()) {
+ // if(options::wasSetByUserIncrementalSolving(opts)) {
// throw OptionException(
// "--tear-down-incremental incompatible with --incremental");
// }
@@ -262,13 +282,14 @@ int runCvc5(int argc, char* argv[], Options& opts)
opts);
std::unique_ptr<Parser> parser(parserBuilder.build());
if( inputFromStdin ) {
- parser->setInput(
- Input::newStreamInput(opts.getInputLanguage(), cin, filename));
+ parser->setInput(Input::newStreamInput(
+ options::getInputLanguage(opts), cin, filename));
}
else
{
- parser->setInput(Input::newFileInput(
- opts.getInputLanguage(), filename, opts.getMemoryMap()));
+ parser->setInput(Input::newFileInput(options::getInputLanguage(opts),
+ filename,
+ options::getMemoryMap(opts)));
}
vector< vector<Command*> > allCommands;
@@ -279,7 +300,7 @@ int runCvc5(int argc, char* argv[], Options& opts)
while (status)
{
if (interrupted) {
- (*opts.getOut()) << CommandInterrupted();
+ (*options::getOut(opts)) << CommandInterrupted();
break;
}
@@ -292,7 +313,8 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
if(dynamic_cast<PushCommand*>(cmd.get()) != nullptr) {
- if(needReset >= opts.getTearDownIncremental()) {
+ if (needReset >= options::getTearDownIncremental(opts))
+ {
pExecutor->reset();
for(size_t i = 0; i < allCommands.size() && !interrupted; ++i) {
if (interrupted) break;
@@ -320,7 +342,8 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
} else if(dynamic_cast<PopCommand*>(cmd.get()) != nullptr) {
allCommands.pop_back(); // fixme leaks cmds here
- if (needReset >= opts.getTearDownIncremental()) {
+ if (needReset >= options::getTearDownIncremental(opts))
+ {
pExecutor->reset();
for(size_t i = 0; i < allCommands.size() && !interrupted; ++i) {
for(size_t j = 0; j < allCommands[i].size() && !interrupted; ++j)
@@ -335,9 +358,11 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
}
if (interrupted) continue;
- (*opts.getOut()) << CommandSuccess();
+ (*options::getOut(opts)) << CommandSuccess();
needReset = 0;
- } else {
+ }
+ else
+ {
status = pExecutor->doCommand(cmd);
if(cmd->interrupted()) {
interrupted = true;
@@ -346,7 +371,8 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
} else if(dynamic_cast<CheckSatCommand*>(cmd.get()) != nullptr ||
dynamic_cast<QueryCommand*>(cmd.get()) != nullptr) {
- if(needReset >= opts.getTearDownIncremental()) {
+ if (needReset >= options::getTearDownIncremental(opts))
+ {
pExecutor->reset();
for(size_t i = 0; i < allCommands.size() && !interrupted; ++i) {
for(size_t j = 0; j < allCommands[i].size() && !interrupted; ++j)
@@ -362,7 +388,9 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
}
needReset = 0;
- } else {
+ }
+ else
+ {
++needReset;
}
if (interrupted) {
@@ -406,8 +434,11 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
}
}
- } else {
- if(!opts.wasSetByUserIncrementalSolving()) {
+ }
+ else
+ {
+ if (!options::wasSetByUserIncrementalSolving(opts))
+ {
cmd.reset(new SetOptionCommand("incremental", "false"));
cmd->setMuted(true);
pExecutor->doCommand(cmd);
@@ -418,20 +449,21 @@ int runCvc5(int argc, char* argv[], Options& opts)
opts);
std::unique_ptr<Parser> parser(parserBuilder.build());
if( inputFromStdin ) {
- parser->setInput(
- Input::newStreamInput(opts.getInputLanguage(), cin, filename));
+ parser->setInput(Input::newStreamInput(
+ options::getInputLanguage(opts), cin, filename));
}
else
{
- parser->setInput(Input::newFileInput(
- opts.getInputLanguage(), filename, opts.getMemoryMap()));
+ parser->setInput(Input::newFileInput(options::getInputLanguage(opts),
+ filename,
+ options::getMemoryMap(opts)));
}
bool interrupted = false;
while (status)
{
if (interrupted) {
- (*opts.getOut()) << CommandInterrupted();
+ (*options::getOut(opts)) << CommandInterrupted();
pExecutor->reset();
break;
}
@@ -465,7 +497,10 @@ int runCvc5(int argc, char* argv[], Options& opts)
}
#ifdef CVC5_COMPETITION_MODE
- opts.flushOut();
+ if (cvc5::options::getOut(opts) != nullptr)
+ {
+ cvc5::options::getOut(opts) << std::flush;
+ }
// exit, don't return (don't want destructors to run)
// _exit() from unistd.h doesn't run global destructors
// or other on_exit/atexit stuff.
@@ -476,11 +511,13 @@ int runCvc5(int argc, char* argv[], Options& opts)
pExecutor->flushOutputStreams();
#ifdef CVC5_DEBUG
- if(opts.getEarlyExit() && opts.wasSetByUserEarlyExit()) {
+ if (options::getEarlyExit(opts) && options::wasSetByUserEarlyExit(opts))
+ {
_exit(returnValue);
}
#else /* CVC5_DEBUG */
- if(opts.getEarlyExit()) {
+ if (options::getEarlyExit(opts))
+ {
_exit(returnValue);
}
#endif /* CVC5_DEBUG */
diff --git a/src/main/interactive_shell.cpp b/src/main/interactive_shell.cpp
index 8ca10799f..9a0539490 100644
--- a/src/main/interactive_shell.cpp
+++ b/src/main/interactive_shell.cpp
@@ -42,6 +42,7 @@
#include "expr/symbol_manager.h"
#include "options/language.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "parser/input.h"
#include "parser/parser.h"
#include "parser/parser_builder.h"
@@ -87,15 +88,16 @@ static set<string> s_declarations;
InteractiveShell::InteractiveShell(api::Solver* solver, SymbolManager* sm)
: d_options(solver->getOptions()),
- d_in(*d_options.getIn()),
- d_out(*d_options.getOutConst()),
+ d_in(*options::getIn(d_options)),
+ d_out(*options::getOut(d_options)),
d_quit(false)
{
ParserBuilder parserBuilder(solver, sm, d_options);
/* Create parser with bogus input. */
d_parser = parserBuilder.build();
- if(d_options.wasSetByUserForceLogicString()) {
- LogicInfo tmp(d_options.getForceLogicString());
+ if (options::wasSetByUserForceLogicString(d_options))
+ {
+ LogicInfo tmp(options::getForceLogicString(d_options));
d_parser->forceLogic(tmp.getLogicString());
}
@@ -109,7 +111,8 @@ InteractiveShell::InteractiveShell(api::Solver* solver, SymbolManager* sm)
#endif /* EDITLINE_COMPENTRY_FUNC_RETURNS_CHARP */
::using_history();
- OutputLanguage lang = toOutputLanguage(d_options.getInputLanguage());
+ OutputLanguage lang =
+ toOutputLanguage(options::getInputLanguage(d_options));
switch(lang) {
case output::LANG_CVC:
d_historyFilename = string(getenv("HOME")) + "/.cvc5_history";
@@ -195,7 +198,7 @@ restart:
if (d_usingEditline)
{
#if HAVE_LIBEDITLINE
- lineBuf = ::readline(d_options.getInteractivePrompt()
+ lineBuf = ::readline(options::getInteractivePrompt(d_options)
? (line == "" ? "cvc5> " : "... > ")
: "");
if(lineBuf != NULL && lineBuf[0] != '\0') {
@@ -207,7 +210,8 @@ restart:
}
else
{
- if(d_options.getInteractivePrompt()) {
+ if (options::getInteractivePrompt(d_options))
+ {
if(line == "") {
d_out << "cvc5> " << flush;
} else {
@@ -280,7 +284,8 @@ restart:
if (d_usingEditline)
{
#if HAVE_LIBEDITLINE
- lineBuf = ::readline(d_options.getInteractivePrompt() ? "... > " : "");
+ lineBuf = ::readline(options::getInteractivePrompt(d_options) ? "... > "
+ : "");
if(lineBuf != NULL && lineBuf[0] != '\0') {
::add_history(lineBuf);
}
@@ -290,7 +295,8 @@ restart:
}
else
{
- if(d_options.getInteractivePrompt()) {
+ if (options::getInteractivePrompt(d_options))
+ {
d_out << "... > " << flush;
}
@@ -306,8 +312,8 @@ restart:
}
}
- d_parser->setInput(Input::newStringInput(d_options.getInputLanguage(),
- input, INPUT_FILENAME));
+ d_parser->setInput(Input::newStringInput(
+ options::getInputLanguage(d_options), input, INPUT_FILENAME));
/* There may be more than one command in the input. Build up a
sequence. */
@@ -358,7 +364,7 @@ restart:
}
catch (ParserException& pe)
{
- if (language::isOutputLang_smt2(d_options.getOutputLanguage()))
+ if (language::isOutputLang_smt2(options::getOutputLanguage(d_options)))
{
d_out << "(error \"" << pe << "\")" << endl;
}
diff --git a/src/main/main.cpp b/src/main/main.cpp
index b96598b0b..2b25e6c93 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -14,12 +14,13 @@
*/
#include "main/main.h"
+#include <stdio.h>
+#include <unistd.h>
+
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iostream>
-#include <stdio.h>
-#include <unistd.h>
#include "base/configuration.h"
#include "base/output.h"
@@ -28,6 +29,7 @@
#include "options/language.h"
#include "options/option_exception.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "parser/parser.h"
#include "parser/parser_builder.h"
#include "parser/parser_exception.h"
@@ -51,25 +53,25 @@ int main(int argc, char* argv[]) {
return runCvc5(argc, argv, opts);
} catch(OptionException& e) {
#ifdef CVC5_COMPETITION_MODE
- *opts.getOut() << "unknown" << endl;
+ *options::getOut(opts) << "unknown" << endl;
#endif
cerr << "(error \"" << e << "\")" << endl
<< endl
<< "Please use --help to get help on command-line options." << endl;
} catch(Exception& e) {
#ifdef CVC5_COMPETITION_MODE
- *opts.getOut() << "unknown" << endl;
+ *options::getOut(opts) << "unknown" << endl;
#endif
- if (language::isOutputLang_smt2(opts.getOutputLanguage()))
+ if (language::isOutputLang_smt2(options::getOutputLanguage(opts)))
{
- *opts.getOut() << "(error \"" << e << "\")" << endl;
+ *options::getOut(opts) << "(error \"" << e << "\")" << endl;
} else {
- *opts.getErr() << "(error \"" << e << "\")" << endl;
+ *options::getErr(opts) << "(error \"" << e << "\")" << endl;
}
- if (opts.getStatistics() && pExecutor != nullptr)
+ if (options::getStatistics(opts) && pExecutor != nullptr)
{
totalTime.reset();
- pExecutor->printStatistics(*opts.getErr());
+ pExecutor->printStatistics(*options::getErr(opts));
}
}
exit(1);
diff --git a/src/main/time_limit.cpp b/src/main/time_limit.cpp
index 0f0a824f6..c0fc6846a 100644
--- a/src/main/time_limit.cpp
+++ b/src/main/time_limit.cpp
@@ -56,6 +56,7 @@
#include <cstring>
#include "base/exception.h"
+#include "options/options_public.h"
#include "signal_handlers.h"
namespace cvc5 {
@@ -79,7 +80,7 @@ TimeLimit::~TimeLimit()
TimeLimit install_time_limit(const Options& opts)
{
- unsigned long ms = opts.getCumulativeTimeLimit();
+ unsigned long ms = options::getCumulativeTimeLimit(opts);
// Skip if no time limit shall be set.
if (ms == 0) {
return TimeLimit();
diff --git a/src/options/CMakeLists.txt b/src/options/CMakeLists.txt
index 2107865c0..978c32888 100644
--- a/src/options/CMakeLists.txt
+++ b/src/options/CMakeLists.txt
@@ -30,7 +30,8 @@ libcvc5_add_sources(
options_handler.cpp
options_handler.h
options_listener.h
- options_public_functions.cpp
+ options_public.cpp
+ options_public.h
printer_modes.cpp
printer_modes.h
set_language.cpp
diff --git a/src/options/mkoptions.py b/src/options/mkoptions.py
index fc52dfe0d..c355ff436 100644
--- a/src/options/mkoptions.py
+++ b/src/options/mkoptions.py
@@ -80,35 +80,25 @@ g_getopt_long_start = 256
### Source code templates
-TPL_IMPL_ASSIGN = \
-"""template <> void Options::assign(
- options::{name}__option_t,
- std::string option,
- std::string optionarg)
-{{
- auto parsedval = {handler};
+TPL_ASSIGN = '''
+void assign_{module}_{name}(Options& opts, const std::string& option, const std::string& optionarg) {{
+ auto value = {handler};
{predicates}
- {module}.{name} = parsedval;
- {module}.{name}__setByUser = true;
- Trace("options") << "user assigned option {name}" << std::endl;
-}}"""
+ opts.{module}.{name} = value;
+ opts.{module}.{name}__setByUser = true;
+ Trace("options") << "user assigned option {name} = " << value << std::endl;
+}}'''
-TPL_IMPL_ASSIGN_BOOL = \
-"""template <> void Options::assignBool(
- options::{name}__option_t,
- std::string option,
- bool value)
-{{
+TPL_ASSIGN_BOOL = '''
+void assign_{module}_{name}(Options& opts, const std::string& option, bool value) {{
{predicates}
- {module}.{name} = value;
- {module}.{name}__setByUser = true;
- Trace("options") << "user assigned option {name}" << std::endl;
-}}"""
-
-TPL_CALL_ASSIGN_BOOL = \
- ' assignBool(options::{name}, {option}, {value});'
+ opts.{module}.{name} = value;
+ opts.{module}.{name}__setByUser = true;
+ Trace("options") << "user assigned option {name} = " << value << std::endl;
+}}'''
-TPL_CALL_ASSIGN = ' assign(options::{name}, {option}, optionarg);'
+TPL_CALL_ASSIGN_BOOL = ' assign_{module}_{name}(opts, {option}, {value});'
+TPL_CALL_ASSIGN = ' assign_{module}_{name}(opts, {option}, optionarg);'
TPL_CALL_SET_OPTION = 'setOption(std::string("{smtname}"), ("{value}"));'
@@ -139,16 +129,6 @@ TPL_OPTION_STRUCT_RW = \
type operator()() const;
}} thread_local {name};"""
-TPL_DECL_OP_BRACKET = \
-"""template <> const options::{name}__option_t::type& Options::operator[](
- options::{name}__option_t) const;"""
-
-TPL_IMPL_OP_BRACKET = TPL_DECL_OP_BRACKET[:-1] + \
-"""
-{{
- return {module}.{name};
-}}"""
-
TPL_DECL_WAS_SET_BY_USER = \
"""template <> bool Options::wasSetByUser(options::{name}__option_t) const;"""
@@ -161,10 +141,8 @@ TPL_IMPL_WAS_SET_BY_USER = TPL_DECL_WAS_SET_BY_USER[:-1] + \
# Option specific methods
TPL_IMPL_OP_PAR = \
-"""inline {name}__option_t::type {name}__option_t::operator()() const
-{{
- return Options::current()[*this];
-}}"""
+"""inline {type} {name}__option_t::operator()() const
+{{ return Options::current().{module}.{name}; }}"""
# Mode templates
TPL_DECL_MODE_ENUM = \
@@ -601,7 +579,6 @@ def codegen_module(module, dst_dir, tpl_module_h, tpl_module_cpp):
# Generate module specialization
default_decl.append(TPL_DECL_SET_DEFAULT.format(module=module.id, name=option.name, funcname=capoptionname, type=option.type))
- specs.append(TPL_DECL_OP_BRACKET.format(name=option.name))
specs.append(TPL_DECL_WAS_SET_BY_USER.format(name=option.name))
if option.long and option.type not in ['bool', 'void'] and \
@@ -616,14 +593,13 @@ def codegen_module(module, dst_dir, tpl_module_h, tpl_module_cpp):
module.id, option.long, option.type))
# Generate module inlines
- inls.append(TPL_IMPL_OP_PAR.format(name=option.name))
+ inls.append(TPL_IMPL_OP_PAR.format(module=module.id, name=option.name, type=option.type))
### Generate code for {module.name}_options.cpp
# Accessors
default_impl.append(TPL_IMPL_SET_DEFAULT.format(module=module.id, name=option.name, funcname=capoptionname, type=option.type))
- accs.append(TPL_IMPL_OP_BRACKET.format(module=module.id, name=option.name))
accs.append(TPL_IMPL_WAS_SET_BY_USER.format(module=module.id, name=option.name))
# Global definitions
@@ -770,10 +746,10 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
handler = None
if option.handler:
if option.type == 'void':
- handler = 'd_handler->{}(option)'.format(option.handler)
+ handler = 'opts.handler().{}(option)'.format(option.handler)
else:
handler = \
- 'd_handler->{}(option, optionarg)'.format(option.handler)
+ 'opts.handler().{}(option, optionarg)'.format(option.handler)
elif option.mode:
handler = 'stringTo{}(optionarg)'.format(option.type)
elif option.type != 'bool':
@@ -785,12 +761,12 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
if option.predicates:
if option.type == 'bool':
predicates = \
- ['d_handler->{}(option, value);'.format(x) \
+ ['opts.handler().{}(option, value);'.format(x) \
for x in option.predicates]
else:
assert option.type != 'void'
predicates = \
- ['d_handler->{}(option, parsedval);'.format(x) \
+ ['opts.handler().{}(option, value);'.format(x) \
for x in option.predicates]
# Generate options_handler and getopt_long
@@ -820,12 +796,14 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
if option.type == 'bool' and option.name:
cases.append(
TPL_CALL_ASSIGN_BOOL.format(
+ module=module.id,
name=option.name,
option='option',
value='true'))
elif option.type != 'void' and option.name:
cases.append(
TPL_CALL_ASSIGN.format(
+ module=module.id,
name=option.name,
option='option',
value='optionarg'))
@@ -854,12 +832,14 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
if option.type == 'bool':
setoption_handlers.append(
TPL_CALL_ASSIGN_BOOL.format(
+ module=module.id,
name=option.name,
option='key',
value='optionarg == "true"'))
elif argument_req and option.name:
setoption_handlers.append(
TPL_CALL_ASSIGN.format(
+ module=module.id,
name=option.name,
option='key'))
elif option.handler:
@@ -878,17 +858,17 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
'if ({}) {{'.format(cond))
if option.type == 'bool':
getoption_handlers.append(
- 'return (*this)[options::{}] ? "true" : "false";'.format(option.name))
+ 'return options.{}.{} ? "true" : "false";'.format(module.id, option.name))
elif option.type == 'std::string':
getoption_handlers.append(
- 'return (*this)[options::{}];'.format(option.name))
+ 'return options.{}.{};'.format(module.id, option.name))
elif is_numeric_cpp_type(option.type):
getoption_handlers.append(
- 'return std::to_string((*this)[options::{}]);'.format(option.name))
+ 'return std::to_string(options.{}.{});'.format(module.id, option.name))
else:
getoption_handlers.append('std::stringstream ss;')
getoption_handlers.append(
- 'ss << (*this)[options::{}];'.format(option.name))
+ 'ss << options.{}.{};'.format(module.id, option.name))
getoption_handlers.append('return ss.str();')
getoption_handlers.append('}')
@@ -914,9 +894,9 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
cases.append(
TPL_CALL_ASSIGN_BOOL.format(
+ module=module.id,
name=option.name, option='option', value='false'))
cases.append(' break;')
-
options_handler.extend(cases)
optname = option.long
@@ -943,13 +923,15 @@ def codegen_all_modules(modules, build_dir, dst_dir, tpl_options_h, tpl_options_
# Define handler assign/assignBool
- tpl = None
if option.type == 'bool':
- tpl = TPL_IMPL_ASSIGN_BOOL
+ custom_handlers.append(TPL_ASSIGN_BOOL.format(
+ module=module.id,
+ name=option.name,
+ handler=handler,
+ predicates='\n'.join(predicates)
+ ))
elif option.short or option.long:
- tpl = TPL_IMPL_ASSIGN
- if tpl:
- custom_handlers.append(tpl.format(
+ custom_handlers.append(TPL_ASSIGN.format(
module=module.id,
name=option.name,
handler=handler,
diff --git a/src/options/options_public.cpp b/src/options/options_public.cpp
new file mode 100644
index 000000000..778056553
--- /dev/null
+++ b/src/options/options_public.cpp
@@ -0,0 +1,155 @@
+/******************************************************************************
+ * Top contributors (to current version):
+ * Tim King, Gereon Kremer, Andrew Reynolds
+ *
+ * This file is part of the cvc5 project.
+ *
+ * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
+ * in the top-level source directory and their institutional affiliations.
+ * All rights reserved. See the file COPYING in the top-level source
+ * directory for licensing information.
+ * ****************************************************************************
+ *
+ * Definitions of public facing interface functions for Options.
+ *
+ * These are all one line wrappers for accessing the internal option data.
+ */
+
+#include "options_public.h"
+
+#include <fstream>
+#include <ostream>
+#include <string>
+#include <vector>
+
+#include "base/listener.h"
+#include "base/modal_exception.h"
+#include "options/base_options.h"
+#include "options/language.h"
+#include "options/main_options.h"
+#include "options/option_exception.h"
+#include "options/options.h"
+#include "options/parser_options.h"
+#include "options/printer_modes.h"
+#include "options/printer_options.h"
+#include "options/resource_manager_options.h"
+#include "options/smt_options.h"
+#include "options/uf_options.h"
+
+namespace cvc5::options {
+
+InputLanguage getInputLanguage(const Options& opts)
+{
+ return opts.base.inputLanguage;
+}
+InstFormatMode getInstFormatMode(const Options& opts)
+{
+ return opts.printer.instFormatMode;
+}
+OutputLanguage getOutputLanguage(const Options& opts)
+{
+ return opts.base.outputLanguage;
+}
+bool getUfHo(const Options& opts) { return opts.uf.ufHo; }
+bool getDumpInstantiations(const Options& opts)
+{
+ return opts.smt.dumpInstantiations;
+}
+bool getDumpModels(const Options& opts) { return opts.smt.dumpModels; }
+bool getDumpProofs(const Options& opts) { return opts.smt.dumpProofs; }
+bool getDumpUnsatCores(const Options& opts)
+{
+ return opts.smt.dumpUnsatCores || opts.smt.dumpUnsatCoresFull;
+}
+bool getEarlyExit(const Options& opts) { return opts.driver.earlyExit; }
+bool getFilesystemAccess(const Options& opts)
+{
+ return opts.parser.filesystemAccess;
+}
+bool getForceNoLimitCpuWhileDump(const Options& opts)
+{
+ return opts.smt.forceNoLimitCpuWhileDump;
+}
+bool getHelp(const Options& opts) { return opts.driver.help; }
+bool getIncrementalSolving(const Options& opts)
+{
+ return opts.smt.incrementalSolving;
+}
+bool getInteractive(const Options& opts) { return opts.driver.interactive; }
+bool getInteractivePrompt(const Options& opts)
+{
+ return opts.driver.interactivePrompt;
+}
+bool getLanguageHelp(const Options& opts) { return opts.base.languageHelp; }
+bool getMemoryMap(const Options& opts) { return opts.parser.memoryMap; }
+bool getParseOnly(const Options& opts) { return opts.base.parseOnly; }
+bool getProduceModels(const Options& opts) { return opts.smt.produceModels; }
+bool getSegvSpin(const Options& opts) { return opts.driver.segvSpin; }
+bool getSemanticChecks(const Options& opts)
+{
+ return opts.parser.semanticChecks;
+}
+bool getStatistics(const Options& opts) { return opts.base.statistics; }
+bool getStatsEveryQuery(const Options& opts)
+{
+ return opts.base.statisticsEveryQuery;
+}
+bool getStrictParsing(const Options& opts)
+{
+ return opts.parser.strictParsing;
+}
+int32_t getTearDownIncremental(const Options& opts)
+{
+ return opts.driver.tearDownIncremental;
+}
+uint64_t getCumulativeTimeLimit(const Options& opts)
+{
+ return opts.resman.cumulativeMillisecondLimit;
+}
+bool getVersion(const Options& opts) { return opts.driver.version; }
+const std::string& getForceLogicString(const Options& opts)
+{
+ return opts.parser.forceLogicString;
+}
+int32_t getVerbosity(const Options& opts) { return opts.base.verbosity; }
+
+std::istream* getIn(const Options& opts) { return opts.base.in; }
+std::ostream* getErr(const Options& opts) { return opts.base.err; }
+std::ostream* getOut(const Options& opts) { return opts.base.out; }
+const std::string& getBinaryName(const Options& opts)
+{
+ return opts.base.binary_name;
+}
+
+void setInputLanguage(InputLanguage val, Options& opts)
+{
+ opts.base.inputLanguage = val;
+}
+void setInteractive(bool val, Options& opts)
+{
+ opts.driver.interactive = val;
+}
+void setOut(std::ostream* val, Options& opts) { opts.base.out = val; }
+void setOutputLanguage(OutputLanguage val, Options& opts)
+{
+ opts.base.outputLanguage = val;
+}
+
+bool wasSetByUserEarlyExit(const Options& opts)
+{
+ return opts.driver.earlyExit__setByUser;
+}
+bool wasSetByUserForceLogicString(const Options& opts)
+{
+ return opts.parser.forceLogicString__setByUser;
+}
+bool wasSetByUserIncrementalSolving(const Options& opts)
+{
+ return opts.smt.incrementalSolving__setByUser;
+}
+bool wasSetByUserInteractive(const Options& opts)
+{
+ return opts.driver.interactive__setByUser;
+}
+
+} // namespace cvc5::options
diff --git a/src/options/options_public.h b/src/options/options_public.h
new file mode 100644
index 000000000..a6d93cae7
--- /dev/null
+++ b/src/options/options_public.h
@@ -0,0 +1,79 @@
+/******************************************************************************
+ * Top contributors (to current version):
+ * Gereon Kremer
+ *
+ * This file is part of the cvc5 project.
+ *
+ * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
+ * in the top-level source directory and their institutional affiliations.
+ * All rights reserved. See the file COPYING in the top-level source
+ * directory for licensing information.
+ * ****************************************************************************
+ *
+ * Public facing functions for options that need to be accessed from the
+ * outside.
+ *
+ * These are all one line wrappers for accessing the internal option data so
+ * that external code (including parser/ and main/) does not need to include
+ * the option modules (*_options.h).
+ */
+
+#include "cvc5_public.h"
+
+#ifndef CVC5__OPTIONS__OPTIONS_PUBLIC_H
+#define CVC5__OPTIONS__OPTIONS_PUBLIC_H
+
+#include "options/language.h"
+#include "options/options.h"
+#include "options/printer_modes.h"
+
+namespace cvc5::options {
+
+InputLanguage getInputLanguage(const Options& opts) CVC5_EXPORT;
+InstFormatMode getInstFormatMode(const Options& opts) CVC5_EXPORT;
+OutputLanguage getOutputLanguage(const Options& opts) CVC5_EXPORT;
+bool getUfHo(const Options& opts) CVC5_EXPORT;
+bool getDumpInstantiations(const Options& opts) CVC5_EXPORT;
+bool getDumpModels(const Options& opts) CVC5_EXPORT;
+bool getDumpProofs(const Options& opts) CVC5_EXPORT;
+bool getDumpUnsatCores(const Options& opts) CVC5_EXPORT;
+bool getEarlyExit(const Options& opts) CVC5_EXPORT;
+bool getFilesystemAccess(const Options& opts) CVC5_EXPORT;
+bool getForceNoLimitCpuWhileDump(const Options& opts) CVC5_EXPORT;
+bool getHelp(const Options& opts) CVC5_EXPORT;
+bool getIncrementalSolving(const Options& opts) CVC5_EXPORT;
+bool getInteractive(const Options& opts) CVC5_EXPORT;
+bool getInteractivePrompt(const Options& opts) CVC5_EXPORT;
+bool getLanguageHelp(const Options& opts) CVC5_EXPORT;
+bool getMemoryMap(const Options& opts) CVC5_EXPORT;
+bool getParseOnly(const Options& opts) CVC5_EXPORT;
+bool getProduceModels(const Options& opts) CVC5_EXPORT;
+bool getSegvSpin(const Options& opts) CVC5_EXPORT;
+bool getSemanticChecks(const Options& opts) CVC5_EXPORT;
+bool getStatistics(const Options& opts) CVC5_EXPORT;
+bool getStatsEveryQuery(const Options& opts) CVC5_EXPORT;
+bool getStrictParsing(const Options& opts) CVC5_EXPORT;
+int32_t getTearDownIncremental(const Options& opts) CVC5_EXPORT;
+uint64_t getCumulativeTimeLimit(const Options& opts) CVC5_EXPORT;
+bool getVersion(const Options& opts) CVC5_EXPORT;
+const std::string& getForceLogicString(const Options& opts) CVC5_EXPORT;
+int32_t getVerbosity(const Options& opts) CVC5_EXPORT;
+
+std::istream* getIn(const Options& opts) CVC5_EXPORT;
+std::ostream* getErr(const Options& opts) CVC5_EXPORT;
+std::ostream* getOut(const Options& opts) CVC5_EXPORT;
+const std::string& getBinaryName(const Options& opts) CVC5_EXPORT;
+
+void setInputLanguage(InputLanguage val, Options& opts) CVC5_EXPORT;
+void setInteractive(bool val, Options& opts) CVC5_EXPORT;
+void setOut(std::ostream* val, Options& opts) CVC5_EXPORT;
+void setOutputLanguage(OutputLanguage val, Options& opts) CVC5_EXPORT;
+
+bool wasSetByUserEarlyExit(const Options& opts) CVC5_EXPORT;
+bool wasSetByUserForceLogicString(const Options& opts) CVC5_EXPORT;
+bool wasSetByUserIncrementalSolving(const Options& opts) CVC5_EXPORT;
+bool wasSetByUserInteractive(const Options& opts) CVC5_EXPORT;
+
+} // namespace cvc5::options
+
+#endif
diff --git a/src/options/options_public_functions.cpp b/src/options/options_public_functions.cpp
deleted file mode 100644
index 2789b2d68..000000000
--- a/src/options/options_public_functions.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-/******************************************************************************
- * Top contributors (to current version):
- * Tim King, Gereon Kremer, Andrew Reynolds
- *
- * This file is part of the cvc5 project.
- *
- * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
- * in the top-level source directory and their institutional affiliations.
- * All rights reserved. See the file COPYING in the top-level source
- * directory for licensing information.
- * ****************************************************************************
- *
- * Definitions of public facing interface functions for Options.
- *
- * These are all 1 line wrappers for Options::get<T>, Options::set<T>, and
- * Options::wasSetByUser<T> for different option types T.
- */
-
-#include <fstream>
-#include <ostream>
-#include <string>
-#include <vector>
-
-#include "base/listener.h"
-#include "base/modal_exception.h"
-#include "options/options.h"
-#include "options/base_options.h"
-#include "options/language.h"
-#include "options/main_options.h"
-#include "options/option_exception.h"
-#include "options/parser_options.h"
-#include "options/printer_modes.h"
-#include "options/printer_options.h"
-#include "options/quantifiers_options.h"
-#include "options/resource_manager_options.h"
-#include "options/smt_options.h"
-#include "options/uf_options.h"
-
-namespace cvc5 {
-
-// Get accessor functions.
-InputLanguage Options::getInputLanguage() const {
- return (*this)[options::inputLanguage];
-}
-
-options::InstFormatMode Options::getInstFormatMode() const
-{
- return (*this)[options::instFormatMode];
-}
-
-OutputLanguage Options::getOutputLanguage() const {
- return (*this)[options::outputLanguage];
-}
-
-bool Options::getUfHo() const { return (*this)[options::ufHo]; }
-
-bool Options::getDumpInstantiations() const{
- return (*this)[options::dumpInstantiations];
-}
-
-bool Options::getDumpModels() const{
- return (*this)[options::dumpModels];
-}
-
-bool Options::getDumpProofs() const{
- return (*this)[options::dumpProofs];
-}
-
-bool Options::getDumpUnsatCores() const{
- // dump unsat cores full enables dumpUnsatCores
- return (*this)[options::dumpUnsatCores]
- || (*this)[options::dumpUnsatCoresFull];
-}
-
-bool Options::getEarlyExit() const{
- return (*this)[options::earlyExit];
-}
-
-bool Options::getFilesystemAccess() const{
- return (*this)[options::filesystemAccess];
-}
-
-bool Options::getForceNoLimitCpuWhileDump() const{
- return (*this)[options::forceNoLimitCpuWhileDump];
-}
-
-bool Options::getHelp() const{
- return (*this)[options::help];
-}
-
-bool Options::getIncrementalSolving() const{
- return (*this)[options::incrementalSolving];
-}
-
-bool Options::getInteractive() const{
- return (*this)[options::interactive];
-}
-
-bool Options::getInteractivePrompt() const{
- return (*this)[options::interactivePrompt];
-}
-
-bool Options::getLanguageHelp() const{
- return (*this)[options::languageHelp];
-}
-
-bool Options::getMemoryMap() const{
- return (*this)[options::memoryMap];
-}
-
-bool Options::getParseOnly() const{
- return (*this)[options::parseOnly];
-}
-
-bool Options::getProduceModels() const{
- return (*this)[options::produceModels];
-}
-
-bool Options::getSegvSpin() const{
- return (*this)[options::segvSpin];
-}
-
-bool Options::getSemanticChecks() const{
- return (*this)[options::semanticChecks];
-}
-
-bool Options::getStatistics() const{
- // statsEveryQuery enables stats
- return (*this)[options::statistics] || (*this)[options::statisticsEveryQuery];
-}
-
-bool Options::getStatsEveryQuery() const{
- return (*this)[options::statisticsEveryQuery];
-}
-
-bool Options::getStrictParsing() const{
- return (*this)[options::strictParsing];
-}
-
-int Options::getTearDownIncremental() const{
- return (*this)[options::tearDownIncremental];
-}
-
-uint64_t Options::getCumulativeTimeLimit() const
-{
- return (*this)[options::cumulativeMillisecondLimit];
-}
-
-bool Options::getVersion() const{
- return (*this)[options::version];
-}
-
-const std::string& Options::getForceLogicString() const{
- return (*this)[options::forceLogicString];
-}
-
-int Options::getVerbosity() const{
- return (*this)[options::verbosity];
-}
-
-std::istream* Options::getIn() const{
- return (*this)[options::in];
-}
-
-std::ostream* Options::getErr(){
- return (*this)[options::err];
-}
-
-std::ostream* Options::getOut(){
- return (*this)[options::out];
-}
-
-std::ostream* Options::getOutConst() const{
- // #warning "Remove Options::getOutConst"
- return (*this)[options::out];
-}
-
-std::string Options::getBinaryName() const{
- return (*this)[options::binary_name];
-}
-
-std::ostream* Options::currentGetOut() {
- return current().getOut();
-}
-
-
-// TODO: Document these.
-
-void Options::setInputLanguage(InputLanguage value) {
- base.inputLanguage = value;
-}
-
-void Options::setInteractive(bool value) {
- driver.interactive = value;
-}
-
-void Options::setOut(std::ostream* value) {
- base.out = value;
-}
-
-void Options::setOutputLanguage(OutputLanguage value) {
- base.outputLanguage = value;
-}
-
-bool Options::wasSetByUserEarlyExit() const {
- return wasSetByUser(options::earlyExit);
-}
-
-bool Options::wasSetByUserForceLogicString() const {
- return wasSetByUser(options::forceLogicString);
-}
-
-bool Options::wasSetByUserIncrementalSolving() const {
- return wasSetByUser(options::incrementalSolving);
-}
-
-bool Options::wasSetByUserInteractive() const {
- return wasSetByUser(options::interactive);
-}
-
-
-void Options::flushErr() {
- if(getErr() != NULL) {
- *(getErr()) << std::flush;
- }
-}
-
-void Options::flushOut() {
- if(getOut() != NULL) {
- *(getOut()) << std::flush;
- }
-}
-
-} // namespace cvc5
diff --git a/src/options/options_template.cpp b/src/options/options_template.cpp
index 091acfd7a..0d6b7f01b 100644
--- a/src/options/options_template.cpp
+++ b/src/options/options_template.cpp
@@ -416,7 +416,7 @@ void Options::parseOptionsRecursive(int argc,
char* argv[],
std::vector<std::string>* nonoptions)
{
-
+ Options& opts = *this;
if(Debug.isOn("options")) {
Debug("options") << "starting a new parseOptionsRecursive with "
<< argc << " arguments" << std::endl;
@@ -553,6 +553,7 @@ void Options::setOptionInternal(const std::string& key,
const std::string& optionarg)
{
options::OptionsHandler* handler = d_handler;
+ Options& opts = *this;
${setoption_handlers}$
throw UnrecognizedOptionException(key);
}
@@ -562,6 +563,7 @@ void Options::setOptionInternal(const std::string& key,
std::string Options::getOption(const std::string& key) const
{
Trace("options") << "Options::getOption(" << key << ")" << std::endl;
+ const Options& options = *this;
${getoption_handlers}$
throw UnrecognizedOptionException(key);
diff --git a/src/options/options_template.h b/src/options/options_template.h
index 502dfb833..6ce77d7a1 100644
--- a/src/options/options_template.h
+++ b/src/options/options_template.h
@@ -63,13 +63,6 @@ ${holder_ref_decls}$
/** The current Options in effect */
static thread_local Options* s_current;
- /** Low-level assignment function for options */
- template <class T>
- void assign(T, std::string option, std::string value);
- /** Low-level assignment function for bool-valued options */
- template <class T>
- void assignBool(T, std::string option, bool value);
-
friend class options::OptionsHandler;
/**
@@ -113,6 +106,9 @@ public:
Options(OptionsListener* ol = nullptr);
~Options();
+ options::OptionsHandler& handler() const {
+ return *d_handler;
+ }
/**
* Copies the value of the options stored in OptionsHolder into the current
@@ -128,10 +124,6 @@ public:
*/
void setOption(const std::string& key, const std::string& optionarg);
- /** Get the value of the given option. Const access only. */
- template <class T>
- const typename T::type& operator[](T) const;
-
/**
* Gets the value of the given option by key and returns value as a string.
*
@@ -140,53 +132,6 @@ public:
*/
std::string getOption(const std::string& key) const;
- // Get accessor functions.
- InputLanguage getInputLanguage() const;
- options::InstFormatMode getInstFormatMode() const;
- OutputLanguage getOutputLanguage() const;
- bool getUfHo() const;
- bool getDumpInstantiations() const;
- bool getDumpModels() const;
- bool getDumpProofs() const;
- bool getDumpUnsatCores() const;
- bool getEarlyExit() const;
- bool getFilesystemAccess() const;
- bool getForceNoLimitCpuWhileDump() const;
- bool getHelp() const;
- bool getIncrementalSolving() const;
- bool getInteractive() const;
- bool getInteractivePrompt() const;
- bool getLanguageHelp() const;
- bool getMemoryMap() const;
- bool getParseOnly() const;
- bool getProduceModels() const;
- bool getSegvSpin() const;
- bool getSemanticChecks() const;
- bool getStatistics() const;
- bool getStatsEveryQuery() const;
- bool getStrictParsing() const;
- int getTearDownIncremental() const;
- uint64_t getCumulativeTimeLimit() const;
- bool getVersion() const;
- const std::string& getForceLogicString() const;
- int getVerbosity() const;
- std::istream* getIn() const;
- std::ostream* getErr();
- std::ostream* getOut();
- std::ostream* getOutConst() const; // TODO: Remove this.
- std::string getBinaryName() const;
-
- // TODO: Document these.
- void setInputLanguage(InputLanguage);
- void setInteractive(bool);
- void setOut(std::ostream*);
- void setOutputLanguage(OutputLanguage);
-
- bool wasSetByUserEarlyExit() const;
- bool wasSetByUserForceLogicString() const;
- bool wasSetByUserIncrementalSolving() const;
- bool wasSetByUserInteractive() const;
-
// Static accessor functions.
// TODO: Document these.
static std::ostream* currentGetOut();
diff --git a/src/options/printer_modes.cpp b/src/options/printer_modes.cpp
index fc765db01..b2d8ec79a 100644
--- a/src/options/printer_modes.cpp
+++ b/src/options/printer_modes.cpp
@@ -18,9 +18,9 @@
#include "options/printer_modes.h"
-namespace cvc5 {
+namespace cvc5::options {
-std::ostream& operator<<(std::ostream& out, options::InstFormatMode mode)
+std::ostream& operator<<(std::ostream& out, InstFormatMode mode)
{
out << "InstFormatMode::";
switch (mode)
diff --git a/src/options/printer_modes.h b/src/options/printer_modes.h
index e27cb133f..093bff7d9 100644
--- a/src/options/printer_modes.h
+++ b/src/options/printer_modes.h
@@ -36,9 +36,9 @@ enum class InstFormatMode
SZS,
};
-} // namespace options
+std::ostream& operator<<(std::ostream& out, InstFormatMode mode);
-std::ostream& operator<<(std::ostream& out, options::InstFormatMode mode);
+} // namespace options
} // namespace cvc5
diff --git a/src/options/strings_options.toml b/src/options/strings_options.toml
index 958136494..8ee25c265 100644
--- a/src/options/strings_options.toml
+++ b/src/options/strings_options.toml
@@ -26,14 +26,6 @@ name = "Strings Theory"
help = "strings eager check"
[[option]]
- name = "stringIgnNegMembership"
- category = "regular"
- long = "strings-inm"
- type = "bool"
- default = "false"
- help = "internal for strings: ignore negative membership constraints (fragment checking is needed, left to users for now)"
-
-[[option]]
name = "stringLazyPreproc"
category = "regular"
long = "strings-lazy-pp"
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp
index eb952f8db..f6592a931 100644
--- a/src/parser/parser.cpp
+++ b/src/parser/parser.cpp
@@ -27,6 +27,7 @@
#include "base/output.h"
#include "expr/kind.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "parser/input.h"
#include "parser/parser_exception.h"
#include "smt/command.h"
@@ -898,7 +899,8 @@ std::wstring Parser::processAdHocStringEsc(const std::string& s)
api::Term Parser::mkStringConstant(const std::string& s)
{
- if (language::isInputLang_smt2_6(d_solver->getOptions().getInputLanguage()))
+ if (language::isInputLang_smt2_6(
+ options::getInputLanguage(d_solver->getOptions())))
{
return d_solver->mkString(s, true);
}
diff --git a/src/parser/parser_builder.cpp b/src/parser/parser_builder.cpp
index 26a867f95..e4f46326f 100644
--- a/src/parser/parser_builder.cpp
+++ b/src/parser/parser_builder.cpp
@@ -22,6 +22,7 @@
#include "base/check.h"
#include "cvc/cvc.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "parser/antlr_input.h"
#include "parser/input.h"
#include "parser/parser.h"
@@ -116,16 +117,17 @@ ParserBuilder& ParserBuilder::withParseOnly(bool flag) {
return *this;
}
-ParserBuilder& ParserBuilder::withOptions(const Options& options) {
+ParserBuilder& ParserBuilder::withOptions(const Options& opts)
+{
ParserBuilder& retval = *this;
- retval =
- retval.withInputLanguage(options.getInputLanguage())
- .withChecks(options.getSemanticChecks())
- .withStrictMode(options.getStrictParsing())
- .withParseOnly(options.getParseOnly())
- .withIncludeFile(options.getFilesystemAccess());
- if(options.wasSetByUserForceLogicString()) {
- LogicInfo tmp(options.getForceLogicString());
+ retval = retval.withInputLanguage(options::getInputLanguage(opts))
+ .withChecks(options::getSemanticChecks(opts))
+ .withStrictMode(options::getStrictParsing(opts))
+ .withParseOnly(options::getParseOnly(opts))
+ .withIncludeFile(options::getFilesystemAccess(opts));
+ if (options::wasSetByUserForceLogicString(opts))
+ {
+ LogicInfo tmp(options::getForceLogicString(opts));
retval = retval.withForcedLogic(tmp.getLogicString());
}
return retval;
diff --git a/src/parser/parser_builder.h b/src/parser/parser_builder.h
index 992ca408a..aed3b06f1 100644
--- a/src/parser/parser_builder.h
+++ b/src/parser/parser_builder.h
@@ -109,7 +109,7 @@ class CVC5_EXPORT ParserBuilder
ParserBuilder& withParseOnly(bool flag = true);
/** Derive settings from the given options. */
- ParserBuilder& withOptions(const Options& options);
+ ParserBuilder& withOptions(const Options& opts);
/**
* Should the parser use strict mode?
diff --git a/src/parser/smt2/smt2.cpp b/src/parser/smt2/smt2.cpp
index d32f149bf..4f5440944 100644
--- a/src/parser/smt2/smt2.cpp
+++ b/src/parser/smt2/smt2.cpp
@@ -18,6 +18,7 @@
#include "base/check.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "parser/antlr_input.h"
#include "parser/parser.h"
#include "parser/smt2/smt2_input.h"
@@ -316,7 +317,7 @@ bool Smt2::isTheoryEnabled(theory::TheoryId theory) const
bool Smt2::isHoEnabled() const
{
- return getLogic().isHigherOrder() && d_solver->getOptions().getUfHo();
+ return getLogic().isHigherOrder() && options::getUfHo(d_solver->getOptions());
}
bool Smt2::logicIsSet() {
@@ -842,7 +843,7 @@ api::Term Smt2::mkAbstractValue(const std::string& name)
InputLanguage Smt2::getLanguage() const
{
- return d_solver->getOptions().getInputLanguage();
+ return options::getInputLanguage(d_solver->getOptions());
}
void Smt2::parseOpApplyTypeAscription(ParseOp& p, api::Sort type)
@@ -1094,7 +1095,8 @@ api::Term Smt2::applyParseOp(ParseOp& p, std::vector<api::Term>& args)
}
else if (isBuiltinOperator)
{
- if (!opts.getUfHo() && (kind == api::EQUAL || kind == api::DISTINCT))
+ if (!options::getUfHo(opts)
+ && (kind == api::EQUAL || kind == api::DISTINCT))
{
// need --uf-ho if these operators are applied over function args
for (std::vector<api::Term>::iterator i = args.begin(); i != args.end();
@@ -1146,7 +1148,7 @@ api::Term Smt2::applyParseOp(ParseOp& p, std::vector<api::Term>& args)
unsigned arity = argt.getFunctionArity();
if (args.size() - 1 < arity)
{
- if (!opts.getUfHo())
+ if (!options::getUfHo(opts))
{
parseError("Cannot partially apply functions unless --uf-ho is set.");
}
diff --git a/src/parser/tptp/tptp.cpp b/src/parser/tptp/tptp.cpp
index 156f2e1e6..764e83361 100644
--- a/src/parser/tptp/tptp.cpp
+++ b/src/parser/tptp/tptp.cpp
@@ -22,6 +22,7 @@
#include "api/cpp/cvc5.h"
#include "base/check.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "parser/parser.h"
#include "smt/command.h"
@@ -315,7 +316,8 @@ api::Term Tptp::applyParseOp(ParseOp& p, std::vector<api::Term>& args)
// Second phase: apply parse op to the arguments
if (isBuiltinKind)
{
- if (!opts.getUfHo() && (kind == api::EQUAL || kind == api::DISTINCT))
+ if (!options::getUfHo(opts)
+ && (kind == api::EQUAL || kind == api::DISTINCT))
{
// need --uf-ho if these operators are applied over function args
for (std::vector<api::Term>::iterator i = args.begin(); i != args.end();
@@ -362,7 +364,7 @@ api::Term Tptp::applyParseOp(ParseOp& p, std::vector<api::Term>& args)
unsigned arity = argt.getFunctionArity();
if (args.size() - 1 < arity)
{
- if (!opts.getUfHo())
+ if (!options::getUfHo(opts))
{
parseError("Cannot partially apply functions unless --uf-ho is set.");
}
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp
index 4607d2747..04a57e0e9 100644
--- a/src/printer/smt2/smt2_printer.cpp
+++ b/src/printer/smt2/smt2_printer.cpp
@@ -1698,21 +1698,20 @@ void Smt2Printer::toStreamCmdDefineFunctionRec(
out << funcs[i] << " (";
// print its type signature
vector<Node>::const_iterator itf = formals[i].cbegin();
- for (;;)
+ while (itf != formals[i].cend())
{
out << "(" << (*itf) << " " << (*itf).getType() << ")";
++itf;
- if (itf != formals[i].end())
+ if (itf != formals[i].cend())
{
out << " ";
}
- else
- {
- break;
- }
}
TypeNode type = funcs[i].getType();
- type = type.getRangeType();
+ if (type.isFunction())
+ {
+ type = type.getRangeType();
+ }
out << ") " << type;
if (funcs.size() > 1)
{
@@ -1723,6 +1722,10 @@ void Smt2Printer::toStreamCmdDefineFunctionRec(
{
out << ") (";
}
+ else
+ {
+ out << " ";
+ }
for (unsigned i = 0, size = formulas.size(); i < size; i++)
{
if (i > 0)
diff --git a/src/smt/env.cpp b/src/smt/env.cpp
index 647981ab3..1381ef87c 100644
--- a/src/smt/env.cpp
+++ b/src/smt/env.cpp
@@ -104,9 +104,9 @@ ResourceManager* Env::getResourceManager() const
const Printer& Env::getPrinter()
{
- return *Printer::getPrinter(d_options[options::outputLanguage]);
+ return *Printer::getPrinter(d_options.base.outputLanguage);
}
-std::ostream& Env::getDumpOut() { return *d_options.getOut(); }
+std::ostream& Env::getDumpOut() { return *d_options.base.out; }
} // namespace cvc5
diff --git a/src/smt/env.h b/src/smt/env.h
index 667497683..29a360209 100644
--- a/src/smt/env.h
+++ b/src/smt/env.h
@@ -91,12 +91,6 @@ class Env
/** Get a pointer to the underlying dump manager. */
smt::DumpManager* getDumpManager();
- template <typename Opt>
- const auto& getOption(Opt opt) const
- {
- return d_options[opt];
- }
-
/** Get the options object (const version only) owned by this Env. */
const Options& getOptions() const;
diff --git a/src/smt/options_manager.cpp b/src/smt/options_manager.cpp
index 3fc58ff05..37541751e 100644
--- a/src/smt/options_manager.cpp
+++ b/src/smt/options_manager.cpp
@@ -71,7 +71,7 @@ void OptionsManager::notifySetOption(const std::string& key)
<< std::endl;
if (key == options::expr::defaultExprDepth__name)
{
- int depth = (*d_options)[options::defaultExprDepth];
+ int depth = d_options->expr.defaultExprDepth;
Debug.getStream() << expr::ExprSetDepth(depth);
Trace.getStream() << expr::ExprSetDepth(depth);
Notice.getStream() << expr::ExprSetDepth(depth);
@@ -82,7 +82,7 @@ void OptionsManager::notifySetOption(const std::string& key)
}
else if (key == options::expr::defaultDagThresh__name)
{
- int dag = (*d_options)[options::defaultDagThresh];
+ int dag = d_options->expr.defaultDagThresh;
Debug.getStream() << expr::ExprDag(dag);
Trace.getStream() << expr::ExprDag(dag);
Notice.getStream() << expr::ExprDag(dag);
@@ -93,12 +93,12 @@ void OptionsManager::notifySetOption(const std::string& key)
}
else if (key == options::smt::dumpModeString__name)
{
- const std::string& value = (*d_options)[options::dumpModeString];
+ const std::string& value = d_options->smt.dumpModeString;
Dump.setDumpFromString(value);
}
else if (key == options::base::printSuccess__name)
{
- bool value = (*d_options)[options::printSuccess];
+ bool value = d_options->base.printSuccess;
Debug.getStream() << Command::printsuccess(value);
Trace.getStream() << Command::printsuccess(value);
Notice.getStream() << Command::printsuccess(value);
diff --git a/src/smt/output_manager.cpp b/src/smt/output_manager.cpp
index 6395a4c2c..aa91bb184 100644
--- a/src/smt/output_manager.cpp
+++ b/src/smt/output_manager.cpp
@@ -15,6 +15,7 @@
#include "smt/output_manager.h"
+#include "options/base_options.h"
#include "smt/smt_engine.h"
namespace cvc5 {
@@ -25,7 +26,7 @@ const Printer& OutputManager::getPrinter() const { return d_smt->getPrinter(); }
std::ostream& OutputManager::getDumpOut() const
{
- return *d_smt->getOptions().getOut();
+ return *d_smt->getOptions().base.out;
}
} // namespace cvc5
diff --git a/src/smt/proof_manager.cpp b/src/smt/proof_manager.cpp
index ad1e40c77..55cfc1f15 100644
--- a/src/smt/proof_manager.cpp
+++ b/src/smt/proof_manager.cpp
@@ -130,9 +130,8 @@ void PfManager::setFinalProof(std::shared_ptr<ProofNode> pfn, Assertions& as)
Trace("smt-proof") << "SmtEngine::setFinalProof(): make scope...\n";
// Now make the final scope, which ensures that the only open leaves of the
- // proof are the assertions, unless we are doing proofs to generate unsat
- // cores, in which case we do not care.
- d_finalProof = d_pnm->mkScope(pfn, assertions, !options::unsatCores());
+ // proof are the assertions.
+ d_finalProof = d_pnm->mkScope(pfn, assertions);
Trace("smt-proof") << "SmtEngine::setFinalProof(): finished.\n";
}
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index 135fabf5f..96081e97b 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -1523,12 +1523,12 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver)
if (opts.wasSetByUser(options::nlCad))
{
std::stringstream ss;
- ss << "Cannot use " << options::nlCad.name << " without configuring with --poly.";
+ ss << "Cannot use " << options::arith::nlCad__name << " without configuring with --poly.";
throw OptionException(ss.str());
}
else
{
- Notice() << "Cannot use --" << options::nlCad.name
+ Notice() << "Cannot use --" << options::arith::nlCad__name
<< " without configuring with --poly." << std::endl;
opts.arith.nlCad = false;
opts.arith.nlExt = options::NlExtMode::FULL;
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 7abeac44f..c84a29055 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -193,7 +193,7 @@ void SmtEngine::finishInit()
}
// set the random seed
- Random::getRandom().setSeed(d_env->getOption(options::seed));
+ Random::getRandom().setSeed(d_env->getOptions().driver.seed);
// Call finish init on the options manager. This inializes the resource
// manager based on the options, and sets up the best default options
@@ -201,7 +201,7 @@ void SmtEngine::finishInit()
d_optm->finishInit(d_env->d_logic, d_isInternalSubsolver);
ProofNodeManager* pnm = nullptr;
- if (d_env->getOption(options::produceProofs))
+ if (d_env->getOptions().smt.produceProofs)
{
// ensure bound variable uses canonical bound variables
getNodeManager()->getBoundVarManager()->enableKeepCacheValues();
@@ -262,11 +262,11 @@ void SmtEngine::finishInit()
getDumpManager()->finishInit();
// subsolvers
- if (d_env->getOption(options::produceAbducts))
+ if (d_env->getOptions().smt.produceAbducts)
{
d_abductSolver.reset(new AbductionSolver(this));
}
- if (d_env->getOption(options::produceInterpols)
+ if (d_env->getOptions().smt.produceInterpols
!= options::ProduceInterpols::NONE)
{
d_interpolSolver.reset(new InterpolationSolver(this));
@@ -459,10 +459,10 @@ void SmtEngine::setInfo(const std::string& key, const std::string& value)
if (!Options::current().wasSetByUser(options::outputLanguage))
{
language::output::Language olang = language::toOutputLanguage(ilang);
- if (d_env->getOption(options::outputLanguage) != olang)
+ if (d_env->getOptions().base.outputLanguage != olang)
{
getOptions().base.outputLanguage = olang;
- *d_env->getOption(options::out) << language::SetLanguage(olang);
+ *d_env->getOptions().base.out << language::SetLanguage(olang);
}
}
}
@@ -575,7 +575,7 @@ void SmtEngine::debugCheckFunctionBody(Node formula,
Node func)
{
TypeNode formulaType =
- formula.getType(d_env->getOption(options::typeChecking));
+ formula.getType(d_env->getOptions().expr.typeChecking);
TypeNode funcType = func.getType();
// We distinguish here between definitions of constants and functions,
// because the type checking for them is subtly different. Perhaps we
@@ -741,7 +741,7 @@ Result SmtEngine::quickCheck() {
Model* SmtEngine::getAvailableModel(const char* c) const
{
- if (!d_env->getOption(options::assignFunctionValues))
+ if (!d_env->getOptions().theory.assignFunctionValues)
{
std::stringstream ss;
ss << "Cannot " << c << " when --assign-function-values is false.";
@@ -758,7 +758,7 @@ Model* SmtEngine::getAvailableModel(const char* c) const
throw RecoverableModalException(ss.str().c_str());
}
- if (!d_env->getOption(options::produceModels))
+ if (!d_env->getOptions().smt.produceModels)
{
std::stringstream ss;
ss << "Cannot " << c << " when produce-models options is off.";
@@ -902,7 +902,7 @@ Result SmtEngine::checkSatInternal(const std::vector<Node>& assumptions,
<< "(" << assumptions << ") => " << r << endl;
// Check that SAT results generate a model correctly.
- if (d_env->getOption(options::checkModels))
+ if (d_env->getOptions().smt.checkModels)
{
if (r.asSatisfiabilityResult().isSat() == Result::SAT)
{
@@ -910,14 +910,14 @@ Result SmtEngine::checkSatInternal(const std::vector<Node>& assumptions,
}
}
// Check that UNSAT results generate a proof correctly.
- if (d_env->getOption(options::checkProofs)
- || d_env->getOption(options::proofEagerChecking))
+ if (d_env->getOptions().smt.checkProofs
+ || d_env->getOptions().proof.proofEagerChecking)
{
if (r.asSatisfiabilityResult().isSat() == Result::UNSAT)
{
- if ((d_env->getOption(options::checkProofs)
- || d_env->getOption(options::proofEagerChecking))
- && !d_env->getOption(options::produceProofs))
+ if ((d_env->getOptions().smt.checkProofs
+ || d_env->getOptions().proof.proofEagerChecking)
+ && !d_env->getOptions().smt.produceProofs)
{
throw ModalException(
"Cannot check-proofs because proofs were disabled.");
@@ -926,7 +926,7 @@ Result SmtEngine::checkSatInternal(const std::vector<Node>& assumptions,
}
}
// Check that UNSAT results generate an unsat core correctly.
- if (d_env->getOption(options::checkUnsatCores))
+ if (d_env->getOptions().smt.checkUnsatCores)
{
if (r.asSatisfiabilityResult().isSat() == Result::UNSAT)
{
@@ -955,7 +955,7 @@ std::vector<Node> SmtEngine::getUnsatAssumptions(void)
{
Trace("smt") << "SMT getUnsatAssumptions()" << endl;
SmtScope smts(this);
- if (!d_env->getOption(options::unsatAssumptions))
+ if (!d_env->getOptions().smt.unsatAssumptions)
{
throw ModalException(
"Cannot get unsat assumptions when produce-unsat-assumptions option "
@@ -1166,7 +1166,7 @@ Node SmtEngine::getValue(const Node& ex) const
Assert(m->hasApproximations() || resultNode.getKind() == kind::LAMBDA
|| resultNode.isConst());
- if (d_env->getOption(options::abstractValues)
+ if (d_env->getOptions().smt.abstractValues
&& resultNode.getType().isArray())
{
resultNode = d_absValues->mkAbstractValue(resultNode);
@@ -1207,7 +1207,7 @@ Model* SmtEngine::getModel() {
Assert(te != nullptr);
te->setEagerModelBuilding();
- if (d_env->getOption(options::modelCoresMode)
+ if (d_env->getOptions().smt.modelCoresMode
!= options::ModelCoresMode::NONE)
{
// If we enabled model cores, we compute a model core for m based on our
@@ -1215,7 +1215,7 @@ Model* SmtEngine::getModel() {
std::vector<Node> eassertsProc = getExpandedAssertions();
ModelCoreBuilder::setModelCore(eassertsProc,
m->getTheoryModel(),
- d_env->getOption(options::modelCoresMode));
+ d_env->getOptions().smt.modelCoresMode);
}
// set the information on the SMT-level model
Assert(m != nullptr);
@@ -1238,7 +1238,7 @@ Result SmtEngine::blockModel()
Model* m = getAvailableModel("block model");
- if (d_env->getOption(options::blockModelsMode)
+ if (d_env->getOptions().smt.blockModelsMode
== options::BlockModelsMode::NONE)
{
std::stringstream ss;
@@ -1251,7 +1251,7 @@ Result SmtEngine::blockModel()
Node eblocker =
ModelBlocker::getModelBlocker(eassertsProc,
m->getTheoryModel(),
- d_env->getOption(options::blockModelsMode));
+ d_env->getOptions().smt.blockModelsMode);
Trace("smt") << "Block formula: " << eblocker << std::endl;
return assertFormula(eblocker);
}
@@ -1349,17 +1349,17 @@ Node SmtEngine::getSepNilExpr() { return getSepHeapAndNilExpr().second; }
void SmtEngine::checkProof()
{
- Assert(d_env->getOption(options::produceProofs));
+ Assert(d_env->getOptions().smt.produceProofs);
// internal check the proof
PropEngine* pe = getPropEngine();
Assert(pe != nullptr);
- if (d_env->getOption(options::proofEagerChecking))
+ if (d_env->getOptions().proof.proofEagerChecking)
{
pe->checkProof(d_asserts->getAssertionList());
}
Assert(pe->getProof() != nullptr);
std::shared_ptr<ProofNode> pePfn = pe->getProof();
- if (d_env->getOption(options::checkProofs))
+ if (d_env->getOptions().smt.checkProofs)
{
d_pfManager->checkProof(pePfn, *d_asserts);
}
@@ -1372,7 +1372,7 @@ StatisticsRegistry& SmtEngine::getStatisticsRegistry()
UnsatCore SmtEngine::getUnsatCoreInternal()
{
- if (!d_env->getOption(options::unsatCores))
+ if (!d_env->getOptions().smt.unsatCores)
{
throw ModalException(
"Cannot get an unsat core when produce-unsat-cores or produce-proofs "
@@ -1405,7 +1405,7 @@ UnsatCore SmtEngine::getUnsatCoreInternal()
}
void SmtEngine::checkUnsatCore() {
- Assert(d_env->getOption(options::unsatCores))
+ Assert(d_env->getOptions().smt.unsatCores)
<< "cannot check unsat core if unsat cores are turned off";
Notice() << "SmtEngine::checkUnsatCore(): generating unsat core" << endl;
@@ -1514,7 +1514,7 @@ std::string SmtEngine::getProof()
{
getPrinter().toStreamCmdGetProof(getOutputManager().getDumpOut());
}
- if (!d_env->getOption(options::produceProofs))
+ if (!d_env->getOptions().smt.produceProofs)
{
throw ModalException("Cannot get a proof when proof option is off.");
}
@@ -1537,7 +1537,7 @@ std::string SmtEngine::getProof()
void SmtEngine::printInstantiations( std::ostream& out ) {
SmtScope smts(this);
finishInit();
- if (d_env->getOption(options::instFormatMode) == options::InstFormatMode::SZS)
+ if (d_env->getOptions().printer.instFormatMode == options::InstFormatMode::SZS)
{
out << "% SZS output start Proof for " << d_state->getFilename()
<< std::endl;
@@ -1546,9 +1546,9 @@ void SmtEngine::printInstantiations( std::ostream& out ) {
// First, extract and print the skolemizations
bool printed = false;
- bool reqNames = !d_env->getOption(options::printInstFull);
+ bool reqNames = !d_env->getOptions().printer.printInstFull;
// only print when in list mode
- if (d_env->getOption(options::printInstMode) == options::PrintInstMode::LIST)
+ if (d_env->getOptions().printer.printInstMode == options::PrintInstMode::LIST)
{
std::map<Node, std::vector<Node>> sks;
qe->getSkolemTermVectors(sks);
@@ -1583,14 +1583,14 @@ void SmtEngine::printInstantiations( std::ostream& out ) {
continue;
}
// must have a name
- if (d_env->getOption(options::printInstMode) == options::PrintInstMode::NUM)
+ if (d_env->getOptions().printer.printInstMode == options::PrintInstMode::NUM)
{
out << "(num-instantiations " << name << " " << i.second.size() << ")"
<< std::endl;
}
else
{
- Assert(d_env->getOption(options::printInstMode)
+ Assert(d_env->getOptions().printer.printInstMode
== options::PrintInstMode::LIST);
InstantiationList ilist(name, i.second);
out << ilist;
@@ -1602,7 +1602,7 @@ void SmtEngine::printInstantiations( std::ostream& out ) {
{
out << "No instantiations" << std::endl;
}
- if (d_env->getOption(options::instFormatMode) == options::InstFormatMode::SZS)
+ if (d_env->getOptions().printer.instFormatMode == options::InstFormatMode::SZS)
{
out << "% SZS output end Proof for " << d_state->getFilename() << std::endl;
}
@@ -1613,9 +1613,9 @@ void SmtEngine::getInstantiationTermVectors(
{
SmtScope smts(this);
finishInit();
- if (d_env->getOption(options::produceProofs)
- && (!d_env->getOption(options::unsatCores)
- || d_env->getOption(options::unsatCoresMode) == options::UnsatCoresMode::FULL_PROOF)
+ if (d_env->getOptions().smt.produceProofs
+ && (!d_env->getOptions().smt.unsatCores
+ || d_env->getOptions().smt.unsatCoresMode == options::UnsatCoresMode::FULL_PROOF)
&& getSmtMode() == SmtMode::UNSAT)
{
// minimize instantiations based on proof manager
@@ -1716,7 +1716,7 @@ std::vector<Node> SmtEngine::getAssertions()
getPrinter().toStreamCmdGetAssertions(getOutputManager().getDumpOut());
}
Trace("smt") << "SMT getAssertions()" << endl;
- if (!d_env->getOption(options::produceAssertions))
+ if (!d_env->getOptions().smt.produceAssertions)
{
const char* msg =
"Cannot query the current assertion list when not in produce-assertions mode.";
diff --git a/src/theory/arith/nl/nonlinear_extension.cpp b/src/theory/arith/nl/nonlinear_extension.cpp
index 7f97c4122..1bb558d1b 100644
--- a/src/theory/arith/nl/nonlinear_extension.cpp
+++ b/src/theory/arith/nl/nonlinear_extension.cpp
@@ -27,6 +27,7 @@
#include "theory/ext_theory.h"
#include "theory/rewriter.h"
#include "theory/theory_model.h"
+#include "util/rational.h"
using namespace cvc5::kind;
diff --git a/src/theory/booleans/proof_circuit_propagator.cpp b/src/theory/booleans/proof_circuit_propagator.cpp
index 6c4e0f96b..ed4f81cb3 100644
--- a/src/theory/booleans/proof_circuit_propagator.cpp
+++ b/src/theory/booleans/proof_circuit_propagator.cpp
@@ -169,11 +169,11 @@ std::shared_ptr<ProofNode> ProofCircuitPropagator::neqXFromY(bool y,
{
return nullptr;
}
- return mkResolution(
+ return mkNot(mkResolution(
mkProof(y ? PfRule::NOT_EQUIV_ELIM2 : PfRule::NOT_EQUIV_ELIM1,
{assume(parent.notNode())}),
parent[1],
- !y);
+ !y));
}
std::shared_ptr<ProofNode> ProofCircuitPropagator::neqYFromX(bool x,
@@ -183,11 +183,11 @@ std::shared_ptr<ProofNode> ProofCircuitPropagator::neqYFromX(bool x,
{
return nullptr;
}
- return mkResolution(
+ return mkNot(mkResolution(
mkProof(x ? PfRule::NOT_EQUIV_ELIM2 : PfRule::NOT_EQUIV_ELIM1,
{assume(parent.notNode())}),
parent[0],
- !x);
+ !x));
}
std::shared_ptr<ProofNode> ProofCircuitPropagator::xorXFromY(bool negated,
diff --git a/src/theory/logic_info.cpp b/src/theory/logic_info.cpp
index 5d741c942..ecebd27c9 100644
--- a/src/theory/logic_info.cpp
+++ b/src/theory/logic_info.cpp
@@ -383,24 +383,12 @@ void LogicInfo::setLogicString(std::string logicString)
// quantified Boolean formulas only; we're done.
enableQuantifiers();
p += 3;
- } else if(!strcmp(p, "QF_ALL_SUPPORTED")) {
- // the "all theories included" logic, no quantifiers
- enableEverything();
- disableQuantifiers();
- arithNonLinear();
- p += 16;
} else if(!strcmp(p, "QF_ALL")) {
// the "all theories included" logic, no quantifiers
enableEverything();
disableQuantifiers();
arithNonLinear();
p += 6;
- } else if(!strcmp(p, "ALL_SUPPORTED")) {
- // the "all theories included" logic, with quantifiers
- enableEverything();
- enableQuantifiers();
- arithNonLinear();
- p += 13;
} else if(!strcmp(p, "ALL")) {
// the "all theories included" logic, with quantifiers
enableEverything();
diff --git a/src/theory/quantifiers/expr_miner.cpp b/src/theory/quantifiers/expr_miner.cpp
index 582d67b31..6069745e0 100644
--- a/src/theory/quantifiers/expr_miner.cpp
+++ b/src/theory/quantifiers/expr_miner.cpp
@@ -76,7 +76,7 @@ void ExprMiner::initializeChecker(std::unique_ptr<SmtEngine>& checker,
Node query)
{
Assert (!query.isNull());
- if (Options::current().wasSetByUser(options::sygusExprMinerCheckTimeout))
+ if (Options::current().quantifiers.sygusExprMinerCheckTimeout__setByUser)
{
initializeSubsolver(checker, true, options::sygusExprMinerCheckTimeout());
}
diff --git a/src/theory/quantifiers/solution_filter.cpp b/src/theory/quantifiers/solution_filter.cpp
index 5a4c2d142..ccc0763b7 100644
--- a/src/theory/quantifiers/solution_filter.cpp
+++ b/src/theory/quantifiers/solution_filter.cpp
@@ -16,6 +16,8 @@
#include "theory/quantifiers/solution_filter.h"
#include <fstream>
+
+#include "options/base_options.h"
#include "options/quantifiers_options.h"
#include "smt/smt_engine.h"
#include "smt/smt_engine_scope.h"
@@ -90,7 +92,7 @@ bool SolutionFilterStrength::addTerm(Node n, std::ostream& out)
else
{
Options& opts = smt::currentSmtEngine()->getOptions();
- std::ostream* smtOut = opts.getOut();
+ std::ostream* smtOut = opts.base.out;
(*smtOut) << "; (filtered " << (d_isStrong ? s : s.negate()) << ")"
<< std::endl;
}
diff --git a/src/theory/quantifiers/sygus/synth_conjecture.cpp b/src/theory/quantifiers/sygus/synth_conjecture.cpp
index e4ec40325..62c61fe1e 100644
--- a/src/theory/quantifiers/sygus/synth_conjecture.cpp
+++ b/src/theory/quantifiers/sygus/synth_conjecture.cpp
@@ -444,7 +444,7 @@ bool SynthConjecture::doCheck(std::vector<Node>& lems)
if (printDebug)
{
Options& sopts = smt::currentSmtEngine()->getOptions();
- std::ostream& out = *sopts.getOut();
+ std::ostream& out = *sopts.base.out;
out << "(sygus-enum" << sygusEnumOut.str() << ")" << std::endl;
}
}
@@ -529,7 +529,7 @@ bool SynthConjecture::doCheck(std::vector<Node>& lems)
if (printDebug)
{
Options& sopts = smt::currentSmtEngine()->getOptions();
- std::ostream& out = *sopts.getOut();
+ std::ostream& out = *sopts.base.out;
out << "(sygus-candidate ";
Assert(d_quant[0].getNumChildren() == candidate_values.size());
for (unsigned i = 0, ncands = candidate_values.size(); i < ncands; i++)
@@ -995,7 +995,7 @@ void SynthConjecture::printAndContinueStream(const std::vector<Node>& enums,
// we have generated a solution, print it
// get the current output stream
Options& sopts = smt::currentSmtEngine()->getOptions();
- printSynthSolutionInternal(*sopts.getOut());
+ printSynthSolutionInternal(*sopts.base.out);
excludeCurrentSolution(enums, values);
}
diff --git a/src/theory/quantifiers/sygus_sampler.cpp b/src/theory/quantifiers/sygus_sampler.cpp
index 36602d3ae..48dce7cf3 100644
--- a/src/theory/quantifiers/sygus_sampler.cpp
+++ b/src/theory/quantifiers/sygus_sampler.cpp
@@ -828,7 +828,7 @@ void SygusSampler::checkEquivalent(Node bv, Node bvr)
}
// we have detected unsoundness in the rewriter
Options& sopts = smt::currentSmtEngine()->getOptions();
- std::ostream* out = sopts.getOut();
+ std::ostream* out = sopts.base.out;
(*out) << "(unsound-rewrite " << bv << " " << bvr << ")" << std::endl;
// debugging information
(*out) << "Terms are not equivalent for : " << std::endl;
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 40f5b901f..4f20fae22 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -15,6 +15,7 @@
#include "theory/quantifiers_engine.h"
+#include "options/base_options.h"
#include "options/printer_options.h"
#include "options/quantifiers_options.h"
#include "options/smt_options.h"
@@ -461,7 +462,7 @@ void QuantifiersEngine::check( Theory::Effort e ){
if (options::debugInst() || debugInstTrace)
{
Options& sopts = smt::currentSmtEngine()->getOptions();
- std::ostream& out = *sopts.getOut();
+ std::ostream& out = *sopts.base.out;
d_qim.getInstantiate()->debugPrint(out);
}
}
diff --git a/src/theory/strings/extf_solver.cpp b/src/theory/strings/extf_solver.cpp
index 8b5e35023..fc8fb15b0 100644
--- a/src/theory/strings/extf_solver.cpp
+++ b/src/theory/strings/extf_solver.cpp
@@ -547,7 +547,9 @@ void ExtfSolver::checkExtfInference(Node n,
if (d_state.areEqual(conc, d_false))
{
// we are in conflict
- d_im.sendInference(in.d_exp, conc, InferenceId::STRINGS_CTN_DECOMPOSE);
+ d_im.addToExplanation(conc, d_false, in.d_exp);
+ d_im.sendInference(
+ in.d_exp, d_false, InferenceId::STRINGS_CTN_DECOMPOSE);
Assert(d_state.isInConflict());
return;
}
diff --git a/src/theory/strings/regexp_solver.cpp b/src/theory/strings/regexp_solver.cpp
index 164e4e1c0..18815c731 100644
--- a/src/theory/strings/regexp_solver.cpp
+++ b/src/theory/strings/regexp_solver.cpp
@@ -125,11 +125,7 @@ void RegExpSolver::check(const std::map<Node, std::vector<Node> >& mems)
{
for (const Node& m : mr.second)
{
- bool polarity = m.getKind() != NOT;
- if (polarity || !options::stringIgnNegMembership())
- {
- allMems[m] = mr.first;
- }
+ allMems[m] = mr.first;
}
}
diff --git a/src/util/resource_manager.cpp b/src/util/resource_manager.cpp
index de9a32248..f0cc78789 100644
--- a/src/util/resource_manager.cpp
+++ b/src/util/resource_manager.cpp
@@ -164,7 +164,7 @@ ResourceManager::ResourceManager(StatisticsRegistry& stats,
d_infidWeights.fill(1);
d_resourceWeights.fill(1);
- for (const auto& opt : d_options[options::resourceWeightHolder])
+ for (const auto& opt : d_options.resman.resourceWeightHolder)
{
std::string name;
uint64_t weight;
@@ -189,9 +189,9 @@ uint64_t ResourceManager::getTimeUsage() const { return d_cumulativeTimeUsed; }
uint64_t ResourceManager::getResourceRemaining() const
{
- if (d_options[options::cumulativeResourceLimit] <= d_cumulativeResourceUsed)
+ if (d_options.resman.cumulativeResourceLimit <= d_cumulativeResourceUsed)
return 0;
- return d_options[options::cumulativeResourceLimit] - d_cumulativeResourceUsed;
+ return d_options.resman.cumulativeResourceLimit - d_cumulativeResourceUsed;
}
void ResourceManager::spendResource(uint64_t amount)
@@ -237,21 +237,21 @@ void ResourceManager::spendResource(theory::InferenceId iid)
void ResourceManager::beginCall()
{
- d_perCallTimer.set(d_options[options::perCallMillisecondLimit]);
+ d_perCallTimer.set(d_options.resman.perCallMillisecondLimit);
d_thisCallResourceUsed = 0;
- if (d_options[options::cumulativeResourceLimit] > 0)
+ if (d_options.resman.cumulativeResourceLimit > 0)
{
// Compute remaining cumulative resource budget
d_thisCallResourceBudget =
- d_options[options::cumulativeResourceLimit] - d_cumulativeResourceUsed;
+ d_options.resman.cumulativeResourceLimit - d_cumulativeResourceUsed;
}
- if (d_options[options::perCallResourceLimit] > 0)
+ if (d_options.resman.perCallResourceLimit > 0)
{
// Check if per-call resource budget is even smaller
- if (d_options[options::perCallResourceLimit] < d_thisCallResourceBudget)
+ if (d_options.resman.perCallResourceLimit < d_thisCallResourceBudget)
{
- d_thisCallResourceBudget = d_options[options::perCallResourceLimit];
+ d_thisCallResourceBudget = d_options.resman.perCallResourceLimit;
}
}
}
@@ -265,25 +265,25 @@ void ResourceManager::endCall()
bool ResourceManager::limitOn() const
{
- return (d_options[options::cumulativeResourceLimit] > 0)
- || (d_options[options::perCallMillisecondLimit] > 0)
- || (d_options[options::perCallResourceLimit] > 0);
+ return (d_options.resman.cumulativeResourceLimit > 0)
+ || (d_options.resman.perCallMillisecondLimit > 0)
+ || (d_options.resman.perCallResourceLimit > 0);
}
bool ResourceManager::outOfResources() const
{
- if (d_options[options::perCallResourceLimit] > 0)
+ if (d_options.resman.perCallResourceLimit > 0)
{
// Check if per-call resources are exhausted
- if (d_thisCallResourceUsed >= d_options[options::perCallResourceLimit])
+ if (d_thisCallResourceUsed >= d_options.resman.perCallResourceLimit)
{
return true;
}
}
- if (d_options[options::cumulativeResourceLimit] > 0)
+ if (d_options.resman.cumulativeResourceLimit > 0)
{
// Check if cumulative resources are exhausted
- if (d_cumulativeResourceUsed >= d_options[options::cumulativeResourceLimit])
+ if (d_cumulativeResourceUsed >= d_options.resman.cumulativeResourceLimit)
{
return true;
}
@@ -293,7 +293,7 @@ bool ResourceManager::outOfResources() const
bool ResourceManager::outOfTime() const
{
- if (d_options[options::perCallMillisecondLimit] == 0) return false;
+ if (d_options.resman.perCallMillisecondLimit == 0) return false;
return d_perCallTimer.expired();
}
diff --git a/test/api/CMakeLists.txt b/test/api/CMakeLists.txt
index b340ec8ba..e9fd47261 100644
--- a/test/api/CMakeLists.txt
+++ b/test/api/CMakeLists.txt
@@ -72,9 +72,3 @@ if (USE_EDITLINE)
)
endif()
endif()
-
-
-# add Python bindings tests if building with Python bindings
-if (BUILD_BINDINGS_PYTHON)
- add_subdirectory(python)
-endif()
diff --git a/test/api/python/CMakeLists.txt b/test/api/python/CMakeLists.txt
deleted file mode 100644
index 4e77c0ead..000000000
--- a/test/api/python/CMakeLists.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Top contributors (to current version):
-# Makai Mann
-#
-# This file is part of the cvc5 project.
-#
-# Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
-# in the top-level source directory and their institutional affiliations.
-# All rights reserved. See the file COPYING in the top-level source
-# directory for licensing information.
-# #############################################################################
-#
-# The build system configuration.
-##
-
-# Check if the pytest Python module is installed.
-execute_process(
- COMMAND
- ${PYTHON_EXECUTABLE} -c "import pytest"
- RESULT_VARIABLE
- RET_PYTEST
- ERROR_QUIET
-)
-
-if(RET_PYTEST)
- message(FATAL_ERROR
- "Could not find Python module pytest. Install via `pip install pytest'.")
-endif()
-
-macro(cvc5_add_python_api_test name filename)
-
- # we create test target 'api/<output_dir>/myapitest'
- # and run it with 'ctest -R "api/<output_dir>/myapitest"'.
- add_test (NAME api/api/python/${name}
- COMMAND ${PYTHON_EXECUTABLE} -m pytest ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
- # directory for importing the python bindings
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/api/python)
-
-endmacro()
-
-cvc5_add_python_api_test(pytest_to_python_obj test_to_python_obj.py)
diff --git a/test/api/sep_log_api.cpp b/test/api/sep_log_api.cpp
index 04d4ce41d..5d0e6b828 100644
--- a/test/api/sep_log_api.cpp
+++ b/test/api/sep_log_api.cpp
@@ -130,7 +130,7 @@ int validate_getters(void)
Solver slv;
/* Setup some options for cvc5 */
- slv.setLogic("QF_ALL_SUPPORTED");
+ slv.setLogic("QF_ALL");
slv.setOption("produce-models", "true");
slv.setOption("incremental", "false");
diff --git a/test/api/smt2_compliance.cpp b/test/api/smt2_compliance.cpp
index 04b366cf0..9794888b2 100644
--- a/test/api/smt2_compliance.cpp
+++ b/test/api/smt2_compliance.cpp
@@ -19,6 +19,7 @@
#include "api/cpp/cvc5.h"
#include "options/options.h"
+#include "options/options_public.h"
#include "options/set_language.h"
#include "parser/parser.h"
#include "parser/parser_builder.h"
@@ -34,8 +35,8 @@ void testGetInfo(api::Solver* solver, const char* s);
int main()
{
Options opts;
- opts.setInputLanguage(language::input::LANG_SMTLIB_V2);
- opts.setOutputLanguage(language::output::LANG_SMTLIB_V2);
+ options::setInputLanguage(language::input::LANG_SMTLIB_V2, opts);
+ options::setOutputLanguage(language::output::LANG_SMTLIB_V2, opts);
cout << language::SetLanguage(language::output::LANG_SMTLIB_V2);
diff --git a/test/python/CMakeLists.txt b/test/python/CMakeLists.txt
index 88fd817f2..54134b510 100644
--- a/test/python/CMakeLists.txt
+++ b/test/python/CMakeLists.txt
@@ -32,3 +32,4 @@ cvc5_add_python_api_test(pytest_sort unit/api/test_sort.py)
cvc5_add_python_api_test(pytest_term unit/api/test_term.py)
cvc5_add_python_api_test(pytest_datatype_api unit/api/test_datatype_api.py)
cvc5_add_python_api_test(pytest_grammar unit/api/test_grammar.py)
+cvc5_add_python_api_test(pytest_to_python_obj unit/api/test_to_python_obj.py)
diff --git a/test/python/unit/api/test_solver.py b/test/python/unit/api/test_solver.py
index 67174ad8e..44ce684dd 100644
--- a/test/python/unit/api/test_solver.py
+++ b/test/python/unit/api/test_solver.py
@@ -980,7 +980,7 @@ def test_get_value3(solver):
def test_declare_separation_heap(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
integer = solver.getIntegerSort()
solver.declareSeparationHeap(integer, integer)
# cannot declare separation logic heap more than once
@@ -1014,7 +1014,7 @@ def test_get_separation_heap_term1(solver):
def test_get_separation_heap_term2(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "false")
checkSimpleSeparationConstraints(solver)
@@ -1023,7 +1023,7 @@ def test_get_separation_heap_term2(solver):
def test_get_separation_heap_term3(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "true")
t = solver.mkFalse()
@@ -1034,7 +1034,7 @@ def test_get_separation_heap_term3(solver):
def test_get_separation_heap_term4(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "true")
t = solver.mkTrue()
@@ -1045,7 +1045,7 @@ def test_get_separation_heap_term4(solver):
def test_get_separation_heap_term5(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "true")
checkSimpleSeparationConstraints(solver)
@@ -1063,7 +1063,7 @@ def test_get_separation_nil_term1(solver):
def test_get_separation_nil_term2(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "false")
checkSimpleSeparationConstraints(solver)
@@ -1072,7 +1072,7 @@ def test_get_separation_nil_term2(solver):
def test_get_separation_nil_term3(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "true")
t = solver.mkFalse()
@@ -1083,7 +1083,7 @@ def test_get_separation_nil_term3(solver):
def test_get_separation_nil_term4(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "true")
t = solver.mkTrue()
@@ -1094,7 +1094,7 @@ def test_get_separation_nil_term4(solver):
def test_get_separation_nil_term5(solver):
- solver.setLogic("ALL_SUPPORTED")
+ solver.setLogic("ALL")
solver.setOption("incremental", "false")
solver.setOption("produce-models", "true")
checkSimpleSeparationConstraints(solver)
diff --git a/test/python/unit/api/test_term.py b/test/python/unit/api/test_term.py
index 5603655c6..32813e17f 100644
--- a/test/python/unit/api/test_term.py
+++ b/test/python/unit/api/test_term.py
@@ -930,6 +930,114 @@ def test_term_children(solver):
tnull[0]
+def test_get_const_array_base(solver):
+ intsort = solver.getIntegerSort()
+ arrsort = solver.mkArraySort(intsort, intsort)
+ one = solver.mkInteger(1)
+ constarr = solver.mkConstArray(arrsort, one)
+
+ assert constarr.isConstArray()
+ assert one == constarr.getConstArrayBase()
+
+
+def test_get_abstract_value(solver):
+ v1 = solver.mkAbstractValue(1)
+ v2 = solver.mkAbstractValue("15")
+ v3 = solver.mkAbstractValue("18446744073709551617")
+
+ assert v1.isAbstractValue()
+ assert v2.isAbstractValue()
+ assert v3.isAbstractValue()
+ assert "1" == v1.getAbstractValue()
+ assert "15" == v2.getAbstractValue()
+ assert "18446744073709551617" == v3.getAbstractValue()
+
+
+def test_get_tuple(solver):
+ s1 = solver.getIntegerSort()
+ s2 = solver.getRealSort()
+ s3 = solver.getStringSort()
+
+ t1 = solver.mkInteger(15)
+ t2 = solver.mkReal(17, 25)
+ t3 = solver.mkString("abc")
+
+ tup = solver.mkTuple([s1, s2, s3], [t1, t2, t3])
+
+ assert tup.isTupleValue()
+ assert [t1, t2, t3] == tup.getTupleValue()
+
+
+def test_get_set(solver):
+ s = solver.mkSetSort(solver.getIntegerSort())
+
+ i1 = solver.mkInteger(5)
+ i2 = solver.mkInteger(7)
+
+ s1 = solver.mkEmptySet(s)
+ s2 = solver.mkTerm(kinds.Singleton, i1)
+ s3 = solver.mkTerm(kinds.Singleton, i1)
+ s4 = solver.mkTerm(kinds.Singleton, i2)
+ s5 = solver.mkTerm(kinds.Union, s2, solver.mkTerm(kinds.Union, s3, s4))
+
+ assert s1.isSetValue()
+ assert s2.isSetValue()
+ assert s3.isSetValue()
+ assert s4.isSetValue()
+ assert not s5.isSetValue()
+ s5 = solver.simplify(s5)
+ assert s5.isSetValue()
+
+ assert set([]) == s1.getSetValue()
+ assert set([i1]) == s2.getSetValue()
+ assert set([i1]) == s3.getSetValue()
+ assert set([i2]) == s4.getSetValue()
+ assert set([i1, i2]) == s5.getSetValue()
+
+
+def test_get_sequence(solver):
+ s = solver.mkSequenceSort(solver.getIntegerSort())
+
+ i1 = solver.mkInteger(5)
+ i2 = solver.mkInteger(7)
+
+ s1 = solver.mkEmptySequence(s)
+ s2 = solver.mkTerm(kinds.SeqUnit, i1)
+ s3 = solver.mkTerm(kinds.SeqUnit, i1)
+ s4 = solver.mkTerm(kinds.SeqUnit, i2)
+ s5 = solver.mkTerm(kinds.SeqConcat, s2,
+ solver.mkTerm(kinds.SeqConcat, s3, s4))
+
+ assert s1.isSequenceValue()
+ assert not s2.isSequenceValue()
+ assert not s3.isSequenceValue()
+ assert not s4.isSequenceValue()
+ assert not s5.isSequenceValue()
+
+ s2 = solver.simplify(s2)
+ s3 = solver.simplify(s3)
+ s4 = solver.simplify(s4)
+ s5 = solver.simplify(s5)
+
+ assert [] == s1.getSequenceValue()
+ assert [i1] == s2.getSequenceValue()
+ assert [i1] == s3.getSequenceValue()
+ assert [i2] == s4.getSequenceValue()
+ assert [i1, i1, i2] == s5.getSequenceValue()
+
+
+def test_get_uninterpreted_const(solver):
+ s = solver.mkUninterpretedSort("test")
+ t1 = solver.mkUninterpretedConst(s, 3)
+ t2 = solver.mkUninterpretedConst(s, 5)
+
+ assert t1.isUninterpretedValue()
+ assert t2.isUninterpretedValue()
+
+ assert (s, 3) == t1.getUninterpretedValue()
+ assert (s, 5) == t2.getUninterpretedValue()
+
+
def test_get_floating_point(solver):
bvval = solver.mkBitVector("0000110000000011")
fp = solver.mkFloatingPoint(5, 11, bvval)
diff --git a/test/api/python/test_to_python_obj.py b/test/python/unit/api/test_to_python_obj.py
index 2ba685d50..2ba685d50 100644
--- a/test/api/python/test_to_python_obj.py
+++ b/test/python/unit/api/test_to_python_obj.py
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index d9b810524..6036b021b 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -800,6 +800,7 @@ set(regress_0_tests
regress0/printer/let_shadowing.smt2
regress0/printer/symbol_starting_w_digit.smt2
regress0/printer/tuples_and_records.cvc
+ regress0/proofs/issue277-circuit-propagator.smt2
regress0/proofs/scope.smt2
regress0/push-pop/boolean/fuzz_12.smt2
regress0/push-pop/boolean/fuzz_13.smt2
@@ -1150,6 +1151,7 @@ set(regress_0_tests
regress0/strings/issue6520.smt2
regress0/strings/issue6560-indexof-reduction.smt2
regress0/strings/issue6604-re-elim.smt2
+ regress0/strings/issue6643-ctn-decompose-conflict.smt2
regress0/strings/itos-entail.smt2
regress0/strings/large-model.smt2
regress0/strings/leadingzero001.smt2
@@ -1686,9 +1688,11 @@ set(regress_1_tests
regress1/non-fatal-errors.smt2
regress1/parsing_ringer.cvc
regress1/proof00.smt2
+ regress1/proofs/issue6625-unsat-core-proofs.smt2
regress1/proofs/macro-res-exp-crowding-lit-inside-unit.smt2
regress1/proofs/macro-res-exp-singleton-after-elimCrowd.smt2
regress1/proofs/sat-trivial-cycle.smt2
+ regress1/proofs/unsat-cores-proofs.smt2
regress1/push-pop/arith_lra_01.smt2
regress1/push-pop/arith_lra_02.smt2
regress1/push-pop/bug-fmf-fun-skolem.smt2
diff --git a/test/regress/regress0/bug521.minimized.smt2 b/test/regress/regress0/bug521.minimized.smt2
index 6751d4077..979887682 100644
--- a/test/regress/regress0/bug521.minimized.smt2
+++ b/test/regress/regress0/bug521.minimized.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun _substvar_301_ () Bool)
(declare-fun _substvar_300_ () Bool)
diff --git a/test/regress/regress0/bug541.smt2 b/test/regress/regress0/bug541.smt2
index 1847a9111..055a98dc8 100644
--- a/test/regress/regress0/bug541.smt2
+++ b/test/regress/regress0/bug541.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((Pair 2)) ((par (T1 T2) ((mk-pair (first T1) (second T2))))))
(assert (= (mk-pair 0.0 0.0) (mk-pair 1.5 2.5)))
(check-sat)
diff --git a/test/regress/regress0/bv/bv-int-collapse1.smt2 b/test/regress/regress0/bv/bv-int-collapse1.smt2
index 5968fe00c..a31036f71 100644
--- a/test/regress/regress0/bv/bv-int-collapse1.smt2
+++ b/test/regress/regress0/bv/bv-int-collapse1.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE:
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun t () (_ BitVec 16))
(assert (not (= t ((_ int2bv 16) (bv2nat t)))))
diff --git a/test/regress/regress0/bv/bv-int-collapse2.smt2 b/test/regress/regress0/bv/bv-int-collapse2.smt2
index b7e390592..5cf6a600c 100644
--- a/test/regress/regress0/bv/bv-int-collapse2.smt2
+++ b/test/regress/regress0/bv/bv-int-collapse2.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE:
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun t () Int)
(assert (= (+ t 1) (bv2nat ((_ int2bv 16) t))))
diff --git a/test/regress/regress0/bv/bv2nat-simp-range.smt2 b/test/regress/regress0/bv/bv2nat-simp-range.smt2
index bc3ce73b7..31e2b7bd1 100644
--- a/test/regress/regress0/bv/bv2nat-simp-range.smt2
+++ b/test/regress/regress0/bv/bv2nat-simp-range.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun t () (_ BitVec 16))
(assert (not (and (<= 0 (bv2nat t)) (< (bv2nat t) 65536))))
diff --git a/test/regress/regress0/bv/core/bitvec1.smtv1.smt2 b/test/regress/regress0/bv/core/bitvec1.smtv1.smt2
index 58cde43c2..78dd44d66 100644
--- a/test/regress/regress0/bv/core/bitvec1.smtv1.smt2
+++ b/test/regress/regress0/bv/core/bitvec1.smtv1.smt2
@@ -1,3 +1,5 @@
+; COMMAND-LINE: --no-check-proofs
+; EXPECT: unsat
(set-option :incremental false)
(set-info :source "Hand-crafted bit-vector benchmarks. Some are from the SVC benchmark suite.
Contributed by Vijay Ganesh (vganesh@stanford.edu). Translated into SMT-LIB
diff --git a/test/regress/regress0/bv/core/bitvec3.smtv1.smt2 b/test/regress/regress0/bv/core/bitvec3.smtv1.smt2
index bb8c0f7e0..b149c0570 100644
--- a/test/regress/regress0/bv/core/bitvec3.smtv1.smt2
+++ b/test/regress/regress0/bv/core/bitvec3.smtv1.smt2
@@ -1,3 +1,5 @@
+; COMMAND-LINE: --no-check-proofs
+; EXPECT: unsat
(set-option :incremental false)
(set-info :source "Hand-crafted bit-vector benchmarks. Some are from the SVC benchmark suite.
Contributed by Vijay Ganesh (vganesh@stanford.edu). Translated into SMT-LIB
diff --git a/test/regress/regress0/bv/core/constant_core.smt2 b/test/regress/regress0/bv/core/constant_core.smt2
index a353a5c6f..f9d2e022d 100644
--- a/test/regress/regress0/bv/core/constant_core.smt2
+++ b/test/regress/regress0/bv/core/constant_core.smt2
@@ -1,3 +1,5 @@
+; COMMAND-LINE: --no-check-proofs
+; EXPECT: unsat
(set-logic QF_BV)
(set-info :smt-lib-version 2.6)
(set-info :category "crafted")
diff --git a/test/regress/regress0/datatypes/bug597-rbt.smt2 b/test/regress/regress0/datatypes/bug597-rbt.smt2
index 236865aa3..4e1ae1784 100644
--- a/test/regress/regress0/datatypes/bug597-rbt.smt2
+++ b/test/regress/regress0/datatypes/bug597-rbt.smt2
@@ -1,5 +1,5 @@
(set-option :global-declarations true)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
; Tree type
diff --git a/test/regress/regress0/datatypes/bug604.smt2 b/test/regress/regress0/datatypes/bug604.smt2
index dfd11001d..bd48b93f0 100644
--- a/test/regress/regress0/datatypes/bug604.smt2
+++ b/test/regress/regress0/datatypes/bug604.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-datatypes ((PairIntInt 0)) ( ( (pair (firstPairIntInt Int)
(secondPairIntInt Int)) ) ))
diff --git a/test/regress/regress0/datatypes/bug625.smt2 b/test/regress/regress0/datatypes/bug625.smt2
index 1e9a18d9d..ab6d52275 100644
--- a/test/regress/regress0/datatypes/bug625.smt2
+++ b/test/regress/regress0/datatypes/bug625.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun x1 () Int)
(declare-fun x2 () Int)
diff --git a/test/regress/regress0/datatypes/cdt-model-cade15.smt2 b/test/regress/regress0/datatypes/cdt-model-cade15.smt2
index 8ddf7c52a..130ff62ad 100644
--- a/test/regress/regress0/datatypes/cdt-model-cade15.smt2
+++ b/test/regress/regress0/datatypes/cdt-model-cade15.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-codatatypes ((Stream 0)) (((C (c Stream)) (D (d Stream)) (E (e Stream)))))
diff --git a/test/regress/regress0/datatypes/cdt-non-canon-stream.smt2 b/test/regress/regress0/datatypes/cdt-non-canon-stream.smt2
index 0741b0ff0..4a9dfce0a 100644
--- a/test/regress/regress0/datatypes/cdt-non-canon-stream.smt2
+++ b/test/regress/regress0/datatypes/cdt-non-canon-stream.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-codatatypes ((list 0)) (((cons (head Int) (tail list)))))
diff --git a/test/regress/regress0/datatypes/coda_simp_model.smt2 b/test/regress/regress0/datatypes/coda_simp_model.smt2
index 3c30021b0..a895496c0 100644
--- a/test/regress/regress0/datatypes/coda_simp_model.smt2
+++ b/test/regress/regress0/datatypes/coda_simp_model.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort a_ 0)
(declare-fun __nun_card_witness_0 () a_)
diff --git a/test/regress/regress0/datatypes/conqueue-dt-enum-iloop.smt2 b/test/regress/regress0/datatypes/conqueue-dt-enum-iloop.smt2
index 1c2f22275..bbc25da68 100644
--- a/test/regress/regress0/datatypes/conqueue-dt-enum-iloop.smt2
+++ b/test/regress/regress0/datatypes/conqueue-dt-enum-iloop.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun start!13 () Bool)
diff --git a/test/regress/regress0/datatypes/dt-different-params.smt2 b/test/regress/regress0/datatypes/dt-different-params.smt2
index f73d82dc9..56bd79a47 100644
--- a/test/regress/regress0/datatypes/dt-different-params.smt2
+++ b/test/regress/regress0/datatypes/dt-different-params.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-datatypes ((Data 1)) ((par (T) ((data (first T))))))
diff --git a/test/regress/regress0/datatypes/dt-param-card4-bool-sat.smt2 b/test/regress/regress0/datatypes/dt-param-card4-bool-sat.smt2
index abcff3ddb..0baa867e8 100644
--- a/test/regress/regress0/datatypes/dt-param-card4-bool-sat.smt2
+++ b/test/regress/regress0/datatypes/dt-param-card4-bool-sat.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-datatypes ((Pair 2)) ((par (T S) ((pair (first T) (second S))))))
diff --git a/test/regress/regress0/datatypes/is_test.smt2 b/test/regress/regress0/datatypes/is_test.smt2
index c54a84859..4b0aa59ff 100644
--- a/test/regress/regress0/datatypes/is_test.smt2
+++ b/test/regress/regress0/datatypes/is_test.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((Unit 0)) (((u))))
(declare-fun x () Unit)
diff --git a/test/regress/regress0/datatypes/pair-real-bool.smt2 b/test/regress/regress0/datatypes/pair-real-bool.smt2
index c29eeb4e9..f8ed3dd3c 100644
--- a/test/regress/regress0/datatypes/pair-real-bool.smt2
+++ b/test/regress/regress0/datatypes/pair-real-bool.smt2
@@ -1,6 +1,6 @@
; EXPECT: sat
;(set-option :produce-models true)
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-datatypes ((RealTree 0)) (
(
diff --git a/test/regress/regress0/datatypes/sc-cdt1.smt2 b/test/regress/regress0/datatypes/sc-cdt1.smt2
index 3c88c49c0..cc508e2ed 100644
--- a/test/regress/regress0/datatypes/sc-cdt1.smt2
+++ b/test/regress/regress0/datatypes/sc-cdt1.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort term 0)
(declare-codatatypes ((llist_tree 0) (tree 0)) (
diff --git a/test/regress/regress0/datatypes/stream-singleton.smt2 b/test/regress/regress0/datatypes/stream-singleton.smt2
index 95d5f0c81..5ef101662 100644
--- a/test/regress/regress0/datatypes/stream-singleton.smt2
+++ b/test/regress/regress0/datatypes/stream-singleton.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-codatatypes ((Stream 0)) (((S (s Stream)))))
diff --git a/test/regress/regress0/datatypes/tenum-bug.smt2 b/test/regress/regress0/datatypes/tenum-bug.smt2
index 6d25aefd0..3dd418cf3 100644
--- a/test/regress/regress0/datatypes/tenum-bug.smt2
+++ b/test/regress/regress0/datatypes/tenum-bug.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-datatypes ((DNat 0) (Nat 0)) (((dnat (data Nat)))
diff --git a/test/regress/regress0/datatypes/tuple-no-clash.cvc b/test/regress/regress0/datatypes/tuple-no-clash.cvc
index ecdc8198f..586d5d259 100644
--- a/test/regress/regress0/datatypes/tuple-no-clash.cvc
+++ b/test/regress/regress0/datatypes/tuple-no-clash.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
x : [ REAL, REAL ];
y : REAL;
diff --git a/test/regress/regress0/decision/bug374b.smt2 b/test/regress/regress0/decision/bug374b.smt2
index f9d3f440d..be6d9d555 100644
--- a/test/regress/regress0/decision/bug374b.smt2
+++ b/test/regress/regress0/decision/bug374b.smt2
@@ -1,7 +1,7 @@
; COMMAND-LINE: --decision=justification --no-unconstrained
; EXPECT: unsat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-fun _substvar_245_ () Bool)
(declare-fun _substvar_246_ () Bool)
(declare-fun _substvar_247_ () Bool)
diff --git a/test/regress/regress0/fmf/fd-false.smt2 b/test/regress/regress0/fmf/fd-false.smt2
index 0d8737a90..20170ea1b 100644
--- a/test/regress/regress0/fmf/fd-false.smt2
+++ b/test/regress/regress0/fmf/fd-false.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --fmf-fun
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-fun-rec f ((x Int)) Bool false)
(assert (not (f 0)))
(check-sat)
diff --git a/test/regress/regress0/fmf/fmc_unsound_model.smt2 b/test/regress/regress0/fmf/fmc_unsound_model.smt2
index e4e1f65b4..cd577add4 100644
--- a/test/regress/regress0/fmf/fmc_unsound_model.smt2
+++ b/test/regress/regress0/fmf/fmc_unsound_model.smt2
@@ -1,7 +1,7 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
; this problem produced a model where incorrectly card(a)=1 due to --mbqi=fmc
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort a 0)
(declare-datatypes ((tree 0)) (((Leaf (lab a)))))
diff --git a/test/regress/regress0/fmf/forall_unit_data2.smt2 b/test/regress/regress0/fmf/forall_unit_data2.smt2
index 88f2631c5..7ceb74ad3 100644
--- a/test/regress/regress0/fmf/forall_unit_data2.smt2
+++ b/test/regress/regress0/fmf/forall_unit_data2.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort a 0)
(declare-datatypes ((prod 0)) (((Pair (gx a) (gy a)))))
(declare-fun p () prod)
diff --git a/test/regress/regress0/fmf/krs-sat.smt2 b/test/regress/regress0/fmf/krs-sat.smt2
index 17c6d9748..317f755d8 100644
--- a/test/regress/regress0/fmf/krs-sat.smt2
+++ b/test/regress/regress0/fmf/krs-sat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort $$unsorted 0)
(declare-fun cowlNothing ($$unsorted) Bool)
diff --git a/test/regress/regress0/fmf/sc_bad_model_1221.smt2 b/test/regress/regress0/fmf/sc_bad_model_1221.smt2
index d951e6c50..7c9b54594 100644
--- a/test/regress/regress0/fmf/sc_bad_model_1221.smt2
+++ b/test/regress/regress0/fmf/sc_bad_model_1221.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort a 0)
(declare-fun __nun_card_witness_0 () a)
diff --git a/test/regress/regress0/fmf/syn002-si-real-int.smt2 b/test/regress/regress0/fmf/syn002-si-real-int.smt2
index 769bc88af..1e72650c2 100644
--- a/test/regress/regress0/fmf/syn002-si-real-int.smt2
+++ b/test/regress/regress0/fmf/syn002-si-real-int.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort $$unsorted 0)
(declare-fun $$rtu (Real) $$unsorted)
diff --git a/test/regress/regress0/fmf/tail_rec.smt2 b/test/regress/regress0/fmf/tail_rec.smt2
index 2651db3f2..05ca33aac 100644
--- a/test/regress/regress0/fmf/tail_rec.smt2
+++ b/test/regress/regress0/fmf/tail_rec.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --fmf-fun --no-check-models
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort elem 0)
(declare-datatypes ((list 0)) (((Nil) (Cons (hd elem) (tl list)))))
(define-fun-rec f ((x list)) elem
diff --git a/test/regress/regress0/hung10_itesdk_output1.smt2 b/test/regress/regress0/hung10_itesdk_output1.smt2
index 2dcbf1fcd..37b180ad2 100644
--- a/test/regress/regress0/hung10_itesdk_output1.smt2
+++ b/test/regress/regress0/hung10_itesdk_output1.smt2
@@ -1,4 +1,4 @@
-( set-logic QF_ALL_SUPPORTED)
+( set-logic QF_ALL)
( set-info :source | SMT-COMP'06 organizers |)
( set-info :smt-lib-version 2.6)
( set-info :category "check")
diff --git a/test/regress/regress0/hung13sdk_output1.smt2 b/test/regress/regress0/hung13sdk_output1.smt2
index 7886153b0..d1c8da682 100644
--- a/test/regress/regress0/hung13sdk_output1.smt2
+++ b/test/regress/regress0/hung13sdk_output1.smt2
@@ -1,4 +1,4 @@
-( set-logic QF_ALL_SUPPORTED)
+( set-logic QF_ALL)
( set-info :source | SMT-COMP'06 organizers |)
( set-info :smt-lib-version 2.6)
( set-info :category "check")
diff --git a/test/regress/regress0/proofs/issue277-circuit-propagator.smt2 b/test/regress/regress0/proofs/issue277-circuit-propagator.smt2
new file mode 100644
index 000000000..f0815e8f2
--- /dev/null
+++ b/test/regress/regress0/proofs/issue277-circuit-propagator.smt2
@@ -0,0 +1,47 @@
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+(set-logic QF_UF)
+(set-option :produce-proofs true)
+(set-option :incremental true)
+(declare-fun p () Bool)
+(declare-fun q () Bool)
+
+(push)
+(assert (not (= p (not q))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not q) p)))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not p) (not (not q)))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not (not q)) (not p))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not (not p)) (not (not (not q))))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not (not (not q))) (not (not p)))))
+(assert p)
+(check-sat)
+(pop) \ No newline at end of file
diff --git a/test/regress/regress0/push-pop/bug654-dd.smt2 b/test/regress/regress0/push-pop/bug654-dd.smt2
index bd8419b57..a3f64d2b1 100644
--- a/test/regress/regress0/push-pop/bug654-dd.smt2
+++ b/test/regress/regress0/push-pop/bug654-dd.smt2
@@ -1,5 +1,5 @@
; COMMAND-LINE: --incremental --fmf-fun --strings-exp
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((List_T_C 0) (T_CustomerType 0)) (
((List_T_C$CNil_T_CustomerType) (ListTC (ListTC$head T_CustomerType) (ListTC$tail List_T_C)))
((T_CustomerType$C_T_CustomerType (T_CustomerType$C_T_CustomerType$a_CompanyName Int) (T_CustomerType$C_T_CustomerType$a_ContactName Int) (ID Int)))
diff --git a/test/regress/regress0/quantifiers/cbqi-lia-dt-simp.smt2 b/test/regress/regress0/quantifiers/cbqi-lia-dt-simp.smt2
index a39aa4ef5..c48593a36 100644
--- a/test/regress/regress0/quantifiers/cbqi-lia-dt-simp.smt2
+++ b/test/regress/regress0/quantifiers/cbqi-lia-dt-simp.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --cegqi --dt-rewrite-error-sel
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((List 0)) (((cons (head Int) (tail List)) (nil))))
(assert (exists ((y Int)) (forall ((x List)) (not (= (head x) (+ y 7))))))
(check-sat)
diff --git a/test/regress/regress0/quantifiers/is-even-pred.smt2 b/test/regress/regress0/quantifiers/is-even-pred.smt2
index 9808f4936..e4559df2a 100644
--- a/test/regress/regress0/quantifiers/is-even-pred.smt2
+++ b/test/regress/regress0/quantifiers/is-even-pred.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(define-funs-rec ((is-even ((x Int)) Bool) (is-odd ((x Int)) Bool)) ((or (= x 0) (is-odd (- x 1))) (and (not (= x 0)) (is-even (- x 1)))))
diff --git a/test/regress/regress0/quantifiers/matching-lia-1arg.smt2 b/test/regress/regress0/quantifiers/matching-lia-1arg.smt2
index aaf9b2c1f..3712b5a42 100644
--- a/test/regress/regress0/quantifiers/matching-lia-1arg.smt2
+++ b/test/regress/regress0/quantifiers/matching-lia-1arg.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --purify-triggers
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-fun P (Int) Bool)
(assert (forall ((x Int)) (P (* 2 x))))
(assert (not (P 38)))
diff --git a/test/regress/regress0/quantifiers/mix-match.smt2 b/test/regress/regress0/quantifiers/mix-match.smt2
index 110df2fa4..9329f4c56 100644
--- a/test/regress/regress0/quantifiers/mix-match.smt2
+++ b/test/regress/regress0/quantifiers/mix-match.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE:
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun P (Real) Bool)
(assert (forall ((x Int)) (P x)))
diff --git a/test/regress/regress0/quantifiers/partial-trigger.smt2 b/test/regress/regress0/quantifiers/partial-trigger.smt2
index beea57bdb..47a60d4bf 100644
--- a/test/regress/regress0/quantifiers/partial-trigger.smt2
+++ b/test/regress/regress0/quantifiers/partial-trigger.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --partial-triggers
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun P (Int) Bool)
(assert (forall ((x Int) (y Int)) (=> (> y 6) (or (> x y) (P x)))))
diff --git a/test/regress/regress0/quantifiers/pure_dt_cbqi.smt2 b/test/regress/regress0/quantifiers/pure_dt_cbqi.smt2
index 67fb5bf24..764c2dbed 100644
--- a/test/regress/regress0/quantifiers/pure_dt_cbqi.smt2
+++ b/test/regress/regress0/quantifiers/pure_dt_cbqi.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --cegqi
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-datatypes ((nat 0)) (( (Suc (pred nat)) (zero))))
(declare-fun y () nat)
diff --git a/test/regress/regress0/quantifiers/rew-to-scala.smt2 b/test/regress/regress0/quantifiers/rew-to-scala.smt2
index 343458bee..7e8d70126 100644
--- a/test/regress/regress0/quantifiers/rew-to-scala.smt2
+++ b/test/regress/regress0/quantifiers/rew-to-scala.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((Formula!953 0)) (((And!954 (lhs!955 Formula!953) (rhs!956 Formula!953)) (Not!957 (f!958 Formula!953)) (Or!959 (lhs!960 Formula!953) (rhs!961 Formula!953)) (Variable!962 (id!963 (_ BitVec 32))))))
(declare-fun error_value!964 () Bool)
diff --git a/test/regress/regress0/quantifiers/simp-len.smt2 b/test/regress/regress0/quantifiers/simp-len.smt2
index 06ae23f8d..3d132e435 100644
--- a/test/regress/regress0/quantifiers/simp-len.smt2
+++ b/test/regress/regress0/quantifiers/simp-len.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((Lst 0)) (((cons (head Int) (tail Lst)) (nil))))
diff --git a/test/regress/regress0/rec-fun-const-parse-bug.smt2 b/test/regress/regress0/rec-fun-const-parse-bug.smt2
index b8c054833..a2f30eec3 100644
--- a/test/regress/regress0/rec-fun-const-parse-bug.smt2
+++ b/test/regress/regress0/rec-fun-const-parse-bug.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(define-funs-rec (
diff --git a/test/regress/regress0/rels/addr_book_0.cvc b/test/regress/regress0/rels/addr_book_0.cvc
index 5b1ecefd8..bae21f178 100644
--- a/test/regress/regress0/rels/addr_book_0.cvc
+++ b/test/regress/regress0/rels/addr_book_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom : TYPE;
AtomTup : TYPE = [Atom];
AtomBinTup : TYPE = [Atom, Atom];
diff --git a/test/regress/regress0/rels/atom_univ2.cvc b/test/regress/regress0/rels/atom_univ2.cvc
index e01d99dee..b290a2bb0 100644
--- a/test/regress/regress0/rels/atom_univ2.cvc
+++ b/test/regress/regress0/rels/atom_univ2.cvc
@@ -1,6 +1,6 @@
% EXPECT: unsat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom: TYPE;
a : SET OF [Atom];
diff --git a/test/regress/regress0/rels/card_transpose.cvc b/test/regress/regress0/rels/card_transpose.cvc
index bde7fe53e..383b0bc21 100644
--- a/test/regress/regress0/rels/card_transpose.cvc
+++ b/test/regress/regress0/rels/card_transpose.cvc
@@ -1,5 +1,5 @@
% EXPECT: unknown (INCOMPLETE)
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
ASSERT (CARD(TRANSPOSE(x)) > 0);
diff --git a/test/regress/regress0/rels/iden_0.cvc b/test/regress/regress0/rels/iden_0.cvc
index 4c2693084..70e365b8f 100644
--- a/test/regress/regress0/rels/iden_0.cvc
+++ b/test/regress/regress0/rels/iden_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom: TYPE;
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/iden_1.cvc b/test/regress/regress0/rels/iden_1.cvc
index 4f0581706..d874c9381 100644
--- a/test/regress/regress0/rels/iden_1.cvc
+++ b/test/regress/regress0/rels/iden_1.cvc
@@ -1,6 +1,6 @@
% EXPECT: unsat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom:TYPE;
AtomPair: TYPE = [Atom, Atom];
x : SET OF AtomPair;
diff --git a/test/regress/regress0/rels/join-eq-u-sat.cvc b/test/regress/regress0/rels/join-eq-u-sat.cvc
index 0202cbb41..1c45aa46b 100644
--- a/test/regress/regress0/rels/join-eq-u-sat.cvc
+++ b/test/regress/regress0/rels/join-eq-u-sat.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/join-eq-u.cvc b/test/regress/regress0/rels/join-eq-u.cvc
index 4bc498aec..174e5dc16 100644
--- a/test/regress/regress0/rels/join-eq-u.cvc
+++ b/test/regress/regress0/rels/join-eq-u.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/joinImg_0.cvc b/test/regress/regress0/rels/joinImg_0.cvc
index 297898a81..b3dc944fd 100644
--- a/test/regress/regress0/rels/joinImg_0.cvc
+++ b/test/regress/regress0/rels/joinImg_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
OPTION "sets-ext";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_1tup_0.cvc b/test/regress/regress0/rels/rel_1tup_0.cvc
index 50d4defd5..90a22856e 100644
--- a/test/regress/regress0/rels/rel_1tup_0.cvc
+++ b/test/regress/regress0/rels/rel_1tup_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntTup: TYPE = [INT];
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_complex_0.cvc b/test/regress/regress0/rels/rel_complex_0.cvc
index dcb753973..c4cf0a01f 100644
--- a/test/regress/regress0/rels/rel_complex_0.cvc
+++ b/test/regress/regress0/rels/rel_complex_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_complex_1.cvc b/test/regress/regress0/rels/rel_complex_1.cvc
index 969d0d71c..4b23cdd2b 100644
--- a/test/regress/regress0/rels/rel_complex_1.cvc
+++ b/test/regress/regress0/rels/rel_complex_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_conflict_0.cvc b/test/regress/regress0/rels/rel_conflict_0.cvc
index c1b82339f..bc6750035 100644
--- a/test/regress/regress0/rels/rel_conflict_0.cvc
+++ b/test/regress/regress0/rels/rel_conflict_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
e : IntPair;
diff --git a/test/regress/regress0/rels/rel_join_0.cvc b/test/regress/regress0/rels/rel_join_0.cvc
index 406b8d312..e0b76f2c9 100644
--- a/test/regress/regress0/rels/rel_join_0.cvc
+++ b/test/regress/regress0/rels/rel_join_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_0_1.cvc b/test/regress/regress0/rels/rel_join_0_1.cvc
index a7fa7efb9..5fa5f14ef 100644
--- a/test/regress/regress0/rels/rel_join_0_1.cvc
+++ b/test/regress/regress0/rels/rel_join_0_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_1.cvc b/test/regress/regress0/rels/rel_join_1.cvc
index c8921afb9..da3217642 100644
--- a/test/regress/regress0/rels/rel_join_1.cvc
+++ b/test/regress/regress0/rels/rel_join_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_1_1.cvc b/test/regress/regress0/rels/rel_join_1_1.cvc
index 75fc08387..ab00ed8b3 100644
--- a/test/regress/regress0/rels/rel_join_1_1.cvc
+++ b/test/regress/regress0/rels/rel_join_1_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_2.cvc b/test/regress/regress0/rels/rel_join_2.cvc
index cac7ce84d..0f50757fc 100644
--- a/test/regress/regress0/rels/rel_join_2.cvc
+++ b/test/regress/regress0/rels/rel_join_2.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_2_1.cvc b/test/regress/regress0/rels/rel_join_2_1.cvc
index 3e27b9cc5..4d412c649 100644
--- a/test/regress/regress0/rels/rel_join_2_1.cvc
+++ b/test/regress/regress0/rels/rel_join_2_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_3.cvc b/test/regress/regress0/rels/rel_join_3.cvc
index 6e190cecf..fb48aba77 100644
--- a/test/regress/regress0/rels/rel_join_3.cvc
+++ b/test/regress/regress0/rels/rel_join_3.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_3_1.cvc b/test/regress/regress0/rels/rel_join_3_1.cvc
index dedc4ae44..238028e18 100644
--- a/test/regress/regress0/rels/rel_join_3_1.cvc
+++ b/test/regress/regress0/rels/rel_join_3_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_4.cvc b/test/regress/regress0/rels/rel_join_4.cvc
index 030810f3d..c5210af1c 100644
--- a/test/regress/regress0/rels/rel_join_4.cvc
+++ b/test/regress/regress0/rels/rel_join_4.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_5.cvc b/test/regress/regress0/rels/rel_join_5.cvc
index 590e581a7..541e7bf37 100644
--- a/test/regress/regress0/rels/rel_join_5.cvc
+++ b/test/regress/regress0/rels/rel_join_5.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_6.cvc b/test/regress/regress0/rels/rel_join_6.cvc
index 17318872f..cd76d9afe 100644
--- a/test/regress/regress0/rels/rel_join_6.cvc
+++ b/test/regress/regress0/rels/rel_join_6.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_join_7.cvc b/test/regress/regress0/rels/rel_join_7.cvc
index fff5b6efe..c2f581114 100644
--- a/test/regress/regress0/rels/rel_join_7.cvc
+++ b/test/regress/regress0/rels/rel_join_7.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_product_0.cvc b/test/regress/regress0/rels/rel_product_0.cvc
index 09981be0b..3765fa8cb 100644
--- a/test/regress/regress0/rels/rel_product_0.cvc
+++ b/test/regress/regress0/rels/rel_product_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT, INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_product_0_1.cvc b/test/regress/regress0/rels/rel_product_0_1.cvc
index f141c7bd4..160543407 100644
--- a/test/regress/regress0/rels/rel_product_0_1.cvc
+++ b/test/regress/regress0/rels/rel_product_0_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT, INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_product_1.cvc b/test/regress/regress0/rels/rel_product_1.cvc
index 1826e5a75..6f64ee892 100644
--- a/test/regress/regress0/rels/rel_product_1.cvc
+++ b/test/regress/regress0/rels/rel_product_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT, INT];
IntTup: TYPE = [INT, INT, INT, INT,INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_product_1_1.cvc b/test/regress/regress0/rels/rel_product_1_1.cvc
index 2d79cbc0c..8371632b9 100644
--- a/test/regress/regress0/rels/rel_product_1_1.cvc
+++ b/test/regress/regress0/rels/rel_product_1_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT, INT];
IntTup: TYPE = [INT, INT, INT, INT,INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_symbolic_1.cvc b/test/regress/regress0/rels/rel_symbolic_1.cvc
index 08ed32411..91df3e6de 100644
--- a/test/regress/regress0/rels/rel_symbolic_1.cvc
+++ b/test/regress/regress0/rels/rel_symbolic_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_symbolic_1_1.cvc b/test/regress/regress0/rels/rel_symbolic_1_1.cvc
index df2d7f412..7890ca2e2 100644
--- a/test/regress/regress0/rels/rel_symbolic_1_1.cvc
+++ b/test/regress/regress0/rels/rel_symbolic_1_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_symbolic_2_1.cvc b/test/regress/regress0/rels/rel_symbolic_2_1.cvc
index 082604dc2..ae0eeffae 100644
--- a/test/regress/regress0/rels/rel_symbolic_2_1.cvc
+++ b/test/regress/regress0/rels/rel_symbolic_2_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_symbolic_3_1.cvc b/test/regress/regress0/rels/rel_symbolic_3_1.cvc
index da0906dd2..bdfcaf5a8 100644
--- a/test/regress/regress0/rels/rel_symbolic_3_1.cvc
+++ b/test/regress/regress0/rels/rel_symbolic_3_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tc_11.cvc b/test/regress/regress0/rels/rel_tc_11.cvc
index 813b8235b..c3447622d 100644
--- a/test/regress/regress0/rels/rel_tc_11.cvc
+++ b/test/regress/regress0/rels/rel_tc_11.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT, INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tc_2_1.cvc b/test/regress/regress0/rels/rel_tc_2_1.cvc
index d5d42eaad..e396b886d 100644
--- a/test/regress/regress0/rels/rel_tc_2_1.cvc
+++ b/test/regress/regress0/rels/rel_tc_2_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tc_3.cvc b/test/regress/regress0/rels/rel_tc_3.cvc
index dc2138357..080c676a8 100644
--- a/test/regress/regress0/rels/rel_tc_3.cvc
+++ b/test/regress/regress0/rels/rel_tc_3.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tc_3_1.cvc b/test/regress/regress0/rels/rel_tc_3_1.cvc
index a9b2e8b98..f1d9bbadc 100644
--- a/test/regress/regress0/rels/rel_tc_3_1.cvc
+++ b/test/regress/regress0/rels/rel_tc_3_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tc_7.cvc b/test/regress/regress0/rels/rel_tc_7.cvc
index 1958c0eee..d68779310 100644
--- a/test/regress/regress0/rels/rel_tc_7.cvc
+++ b/test/regress/regress0/rels/rel_tc_7.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tc_8.cvc b/test/regress/regress0/rels/rel_tc_8.cvc
index ecf938c23..1a81ab569 100644
--- a/test/regress/regress0/rels/rel_tc_8.cvc
+++ b/test/regress/regress0/rels/rel_tc_8.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_3_1.cvc b/test/regress/regress0/rels/rel_tp_3_1.cvc
index 00c83e2d2..6284d3041 100644
--- a/test/regress/regress0/rels/rel_tp_3_1.cvc
+++ b/test/regress/regress0/rels/rel_tp_3_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_0.cvc b/test/regress/regress0/rels/rel_tp_join_0.cvc
index 9aaf6d9b1..7ea179d26 100644
--- a/test/regress/regress0/rels/rel_tp_join_0.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_1.cvc b/test/regress/regress0/rels/rel_tp_join_1.cvc
index 5d9b5447f..845f26dce 100644
--- a/test/regress/regress0/rels/rel_tp_join_1.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_2.cvc b/test/regress/regress0/rels/rel_tp_join_2.cvc
index 40471c1f9..a7b96b83b 100644
--- a/test/regress/regress0/rels/rel_tp_join_2.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_2.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_3.cvc b/test/regress/regress0/rels/rel_tp_join_3.cvc
index 008b2aa1e..3f39f5773 100644
--- a/test/regress/regress0/rels/rel_tp_join_3.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_3.cvc
@@ -1,6 +1,6 @@
% EXPECT: unsat
% crash on this
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
w : SET OF IntPair;
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_eq_0.cvc b/test/regress/regress0/rels/rel_tp_join_eq_0.cvc
index c5a90ff29..852e93466 100644
--- a/test/regress/regress0/rels/rel_tp_join_eq_0.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_eq_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_int_0.cvc b/test/regress/regress0/rels/rel_tp_join_int_0.cvc
index 8d149a48d..6ab678881 100644
--- a/test/regress/regress0/rels/rel_tp_join_int_0.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_int_0.cvc
@@ -1,6 +1,6 @@
% EXPECT: unsat
% crash on this
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
w : SET OF IntPair;
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_pro_0.cvc b/test/regress/regress0/rels/rel_tp_join_pro_0.cvc
index 77de6b829..18eaa51a9 100644
--- a/test/regress/regress0/rels/rel_tp_join_pro_0.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_pro_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT, INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_tp_join_var_0.cvc b/test/regress/regress0/rels/rel_tp_join_var_0.cvc
index aacf6c054..08a9d0bb5 100644
--- a/test/regress/regress0/rels/rel_tp_join_var_0.cvc
+++ b/test/regress/regress0/rels/rel_tp_join_var_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
w : SET OF IntPair;
x : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_transpose_0.cvc b/test/regress/regress0/rels/rel_transpose_0.cvc
index d46cacead..4687bd47c 100644
--- a/test/regress/regress0/rels/rel_transpose_0.cvc
+++ b/test/regress/regress0/rels/rel_transpose_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_transpose_1.cvc b/test/regress/regress0/rels/rel_transpose_1.cvc
index bbd6e5743..c205edabc 100644
--- a/test/regress/regress0/rels/rel_transpose_1.cvc
+++ b/test/regress/regress0/rels/rel_transpose_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntTup: TYPE = [INT, INT, INT];
x : SET OF IntTup;
y : SET OF IntTup;
diff --git a/test/regress/regress0/rels/rel_transpose_1_1.cvc b/test/regress/regress0/rels/rel_transpose_1_1.cvc
index 627e20fbf..62afa7a93 100644
--- a/test/regress/regress0/rels/rel_transpose_1_1.cvc
+++ b/test/regress/regress0/rels/rel_transpose_1_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntTup: TYPE = [INT, INT, INT];
x : SET OF IntTup;
y : SET OF IntTup;
diff --git a/test/regress/regress0/rels/rel_transpose_3.cvc b/test/regress/regress0/rels/rel_transpose_3.cvc
index 06cc82c45..7208b4ce6 100644
--- a/test/regress/regress0/rels/rel_transpose_3.cvc
+++ b/test/regress/regress0/rels/rel_transpose_3.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_transpose_4.cvc b/test/regress/regress0/rels/rel_transpose_4.cvc
index 882148013..0cf2c3b63 100644
--- a/test/regress/regress0/rels/rel_transpose_4.cvc
+++ b/test/regress/regress0/rels/rel_transpose_4.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_transpose_5.cvc b/test/regress/regress0/rels/rel_transpose_5.cvc
index 203e8b3d2..8f6d48e35 100644
--- a/test/regress/regress0/rels/rel_transpose_5.cvc
+++ b/test/regress/regress0/rels/rel_transpose_5.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_transpose_6.cvc b/test/regress/regress0/rels/rel_transpose_6.cvc
index 3923e26b6..c7b8ebbae 100644
--- a/test/regress/regress0/rels/rel_transpose_6.cvc
+++ b/test/regress/regress0/rels/rel_transpose_6.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rel_transpose_7.cvc b/test/regress/regress0/rels/rel_transpose_7.cvc
index bcc3babc8..4d1426990 100644
--- a/test/regress/regress0/rels/rel_transpose_7.cvc
+++ b/test/regress/regress0/rels/rel_transpose_7.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress0/rels/rels-sharing-simp.cvc b/test/regress/regress0/rels/rels-sharing-simp.cvc
index 26bc94a43..641d71d5a 100644
--- a/test/regress/regress0/rels/rels-sharing-simp.cvc
+++ b/test/regress/regress0/rels/rels-sharing-simp.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
w : SET OF IntPair;
z : SET OF IntPair;
diff --git a/test/regress/regress0/sep/dispose-1.smt2 b/test/regress/regress0/sep/dispose-1.smt2
index aff32e241..45dd29459 100644
--- a/test/regress/regress0/sep/dispose-1.smt2
+++ b/test/regress/regress0/sep/dispose-1.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/dup-nemp.smt2 b/test/regress/regress0/sep/dup-nemp.smt2
index 454b73f64..5682a0a02 100644
--- a/test/regress/regress0/sep/dup-nemp.smt2
+++ b/test/regress/regress0/sep/dup-nemp.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-sort Loc 0)
(declare-const l Loc)
diff --git a/test/regress/regress0/sep/issue5343-err.smt2 b/test/regress/regress0/sep/issue5343-err.smt2
index ea37815fa..b3246de59 100644
--- a/test/regress/regress0/sep/issue5343-err.smt2
+++ b/test/regress/regress0/sep/issue5343-err.smt2
@@ -3,6 +3,6 @@
; EXPECT: (error "ERROR: the type of the separation logic heap has not been declared (e.g. via a declare-heap command), and we have a separation logic constraint (wand true true)
; EXPECT: ")
; EXIT: 1
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(assert (wand true true))
(check-sat)
diff --git a/test/regress/regress0/sep/nspatial-simp.smt2 b/test/regress/regress0/sep/nspatial-simp.smt2
index e57e50ea2..953c5252d 100644
--- a/test/regress/regress0/sep/nspatial-simp.smt2
+++ b/test/regress/regress0/sep/nspatial-simp.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-fun x () Int)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/pto-01.smt2 b/test/regress/regress0/sep/pto-01.smt2
index f980ac13f..380e95f7c 100644
--- a/test/regress/regress0/sep/pto-01.smt2
+++ b/test/regress/regress0/sep/pto-01.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/pto-02.smt2 b/test/regress/regress0/sep/pto-02.smt2
index 111048c70..2e293558e 100644
--- a/test/regress/regress0/sep/pto-02.smt2
+++ b/test/regress/regress0/sep/pto-02.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/sep-01.smt2 b/test/regress/regress0/sep/sep-01.smt2
index 8e577d5b7..f2ca28413 100644
--- a/test/regress/regress0/sep/sep-01.smt2
+++ b/test/regress/regress0/sep/sep-01.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/sep-plus1.smt2 b/test/regress/regress0/sep/sep-plus1.smt2
index b843c1eda..ad97e2725 100644
--- a/test/regress/regress0/sep/sep-plus1.smt2
+++ b/test/regress/regress0/sep/sep-plus1.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/sep-simp-unsat-emp.smt2 b/test/regress/regress0/sep/sep-simp-unsat-emp.smt2
index fc7bd0a51..312c97542 100644
--- a/test/regress/regress0/sep/sep-simp-unsat-emp.smt2
+++ b/test/regress/regress0/sep/sep-simp-unsat-emp.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-sort U 0)
(declare-heap (U U))
diff --git a/test/regress/regress0/sep/simple-080420-const-sets.smt2 b/test/regress/regress0/sep/simple-080420-const-sets.smt2
index 785017d5c..a8039ce5b 100644
--- a/test/regress/regress0/sep/simple-080420-const-sets.smt2
+++ b/test/regress/regress0/sep/simple-080420-const-sets.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-option :produce-models true)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress0/sep/skolem_emp.smt2 b/test/regress/regress0/sep/skolem_emp.smt2
index aac8382a7..2a836bef9 100644
--- a/test/regress/regress0/sep/skolem_emp.smt2
+++ b/test/regress/regress0/sep/skolem_emp.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models --sep-pre-skolem-emp
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-heap (Int Int))
(assert (not (_ emp Int Int)))
(check-sat)
diff --git a/test/regress/regress0/sep/trees-1.smt2 b/test/regress/regress0/sep/trees-1.smt2
index 46d96e84c..2c742c60f 100644
--- a/test/regress/regress0/sep/trees-1.smt2
+++ b/test/regress/regress0/sep/trees-1.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-sort Loc 0)
diff --git a/test/regress/regress0/sep/wand-crash.smt2 b/test/regress/regress0/sep/wand-crash.smt2
index 95156a20c..02511bbae 100644
--- a/test/regress/regress0/sep/wand-crash.smt2
+++ b/test/regress/regress0/sep/wand-crash.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-heap (Int Int))
(assert (wand (_ emp Int Int) (_ emp Int Int)))
(check-sat)
diff --git a/test/regress/regress0/sets/card-3sets.cvc b/test/regress/regress0/sets/card-3sets.cvc
index cac10f39c..7422df91c 100644
--- a/test/regress/regress0/sets/card-3sets.cvc
+++ b/test/regress/regress0/sets/card-3sets.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
x : SET OF INT;
y : SET OF INT;
z : SET OF INT;
diff --git a/test/regress/regress0/sets/card3-ground.smt2 b/test/regress/regress0/sets/card3-ground.smt2
index 54a9a5cfc..7b42b8a8a 100644
--- a/test/regress/regress0/sets/card3-ground.smt2
+++ b/test/regress/regress0/sets/card3-ground.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun S () (Set Int))
(assert (>= (card S) 3))
diff --git a/test/regress/regress0/sets/complement.cvc b/test/regress/regress0/sets/complement.cvc
index 91388a56c..64df0790a 100644
--- a/test/regress/regress0/sets/complement.cvc
+++ b/test/regress/regress0/sets/complement.cvc
@@ -1,6 +1,6 @@
% EXPECT: sat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom: TYPE;
a : SET OF [Atom];
b : SET OF [Atom];
diff --git a/test/regress/regress0/sets/complement2.cvc b/test/regress/regress0/sets/complement2.cvc
index b8100bf5f..a3dd25477 100644
--- a/test/regress/regress0/sets/complement2.cvc
+++ b/test/regress/regress0/sets/complement2.cvc
@@ -1,6 +1,6 @@
% EXPECT: unsat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom: TYPE;
a : SET OF Atom;
b : SET OF Atom;
diff --git a/test/regress/regress0/sets/complement3.cvc b/test/regress/regress0/sets/complement3.cvc
index fa0a31e40..762d186ed 100644
--- a/test/regress/regress0/sets/complement3.cvc
+++ b/test/regress/regress0/sets/complement3.cvc
@@ -1,6 +1,6 @@
% EXPECT: sat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom : TYPE;
C32 : SET OF [Atom];
C2 : SET OF [Atom];
diff --git a/test/regress/regress0/sets/cvc-sample.cvc b/test/regress/regress0/sets/cvc-sample.cvc
index 06d2b5049..11f9428c3 100644
--- a/test/regress/regress0/sets/cvc-sample.cvc
+++ b/test/regress/regress0/sets/cvc-sample.cvc
@@ -6,7 +6,7 @@
% EXPECT: unsat
% EXPECT: not_entailed
OPTION "incremental" true;
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
SetInt : TYPE = SET OF INT;
x : SET OF INT;
y : SET OF INT;
diff --git a/test/regress/regress0/sets/dt-simp-mem.smt2 b/test/regress/regress0/sets/dt-simp-mem.smt2
index 51400a05a..47bc7aa58 100644
--- a/test/regress/regress0/sets/dt-simp-mem.smt2
+++ b/test/regress/regress0/sets/dt-simp-mem.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-datatypes ((D 0)) (((A (a Int)))))
(declare-fun x1 () D)
diff --git a/test/regress/regress0/sets/emptyset.smt2 b/test/regress/regress0/sets/emptyset.smt2
index 2b2322d46..7296fcc28 100644
--- a/test/regress/regress0/sets/emptyset.smt2
+++ b/test/regress/regress0/sets/emptyset.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(assert (member 5 (as emptyset (Set Int) )))
(check-sat)
diff --git a/test/regress/regress0/sets/eqtest.smt2 b/test/regress/regress0/sets/eqtest.smt2
index cb816a306..06f86ae3c 100644
--- a/test/regress/regress0/sets/eqtest.smt2
+++ b/test/regress/regress0/sets/eqtest.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-fun A () (Set Int) )
(declare-fun B () (Set Int) )
diff --git a/test/regress/regress0/sets/error2.smt2 b/test/regress/regress0/sets/error2.smt2
index 0b8c5ab65..7b8f78218 100644
--- a/test/regress/regress0/sets/error2.smt2
+++ b/test/regress/regress0/sets/error2.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(assert (= (as emptyset (Set Int)) (singleton 5)))
(check-sat)
diff --git a/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.cvc4.47.smt2 b/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.cvc4.47.smt2
index 71bb8a3e6..448022a2e 100644
--- a/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.cvc4.47.smt2
+++ b/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.cvc4.47.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.small.smt2 b/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.small.smt2
index 652307645..a7c2bec8d 100644
--- a/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.small.smt2
+++ b/test/regress/regress0/sets/jan24/deepmeas0.hs.fqout.small.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun x () Int)
diff --git a/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.177minimized.smt2 b/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.177minimized.smt2
index c4ee3b710..ff83b0fb5 100644
--- a/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.177minimized.smt2
+++ b/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.177minimized.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.cvc4.177.smt2 b/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.cvc4.177.smt2
index eb48b023a..90d3a6372 100644
--- a/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.cvc4.177.smt2
+++ b/test/regress/regress0/sets/jan27/ListConcat.hs.fqout.cvc4.177.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress0/sets/jan28/TalkingAboutSets.hs.fqout.3577minimized.smt2 b/test/regress/regress0/sets/jan28/TalkingAboutSets.hs.fqout.3577minimized.smt2
index 35110d831..b20fb4f3d 100644
--- a/test/regress/regress0/sets/jan28/TalkingAboutSets.hs.fqout.3577minimized.smt2
+++ b/test/regress/regress0/sets/jan28/TalkingAboutSets.hs.fqout.3577minimized.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
; Observed behavior
diff --git a/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized10.smt2 b/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized10.smt2
index df659f0fb..1c28759b6 100644
--- a/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized10.smt2
+++ b/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized10.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
; Observed
diff --git a/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized1832.smt2 b/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized1832.smt2
index af67a69a7..8b879b3ec 100644
--- a/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized1832.smt2
+++ b/test/regress/regress0/sets/jan30/UniqueZipper.hs.fqout.minimized1832.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(define-sort Elt () Int)
(define-sort mySet ()
diff --git a/test/regress/regress0/sets/setel-eq.smt2 b/test/regress/regress0/sets/setel-eq.smt2
index b5d85c7e8..35b89645a 100644
--- a/test/regress/regress0/sets/setel-eq.smt2
+++ b/test/regress/regress0/sets/setel-eq.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun S () (Set Int))
(declare-fun T () (Set Int))
diff --git a/test/regress/regress0/sets/sets-equal.smt2 b/test/regress/regress0/sets/sets-equal.smt2
index 8fd29a244..adccd51c5 100644
--- a/test/regress/regress0/sets/sets-equal.smt2
+++ b/test/regress/regress0/sets/sets-equal.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun x () Int)
(declare-fun y () Int)
diff --git a/test/regress/regress0/sets/sets-inter.smt2 b/test/regress/regress0/sets/sets-inter.smt2
index d3d8a9044..2faf72768 100644
--- a/test/regress/regress0/sets/sets-inter.smt2
+++ b/test/regress/regress0/sets/sets-inter.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(define-sort SetInt () (Set Int))
(declare-fun a () (Set Int))
diff --git a/test/regress/regress0/sets/sets-new.smt2 b/test/regress/regress0/sets/sets-new.smt2
index 0f43ee10d..8ac414829 100644
--- a/test/regress/regress0/sets/sets-new.smt2
+++ b/test/regress/regress0/sets/sets-new.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(define-sort SetInt () (Set Int))
diff --git a/test/regress/regress0/sets/sets-sample.smt2 b/test/regress/regress0/sets/sets-sample.smt2
index 3bc2da065..b92c4b2cf 100644
--- a/test/regress/regress0/sets/sets-sample.smt2
+++ b/test/regress/regress0/sets/sets-sample.smt2
@@ -4,7 +4,7 @@
; EXPECT: unsat
; EXPECT: unsat
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-sort SetInt () (Set Int))
; Something simple to test parsing
diff --git a/test/regress/regress0/sets/sets-sharing.smt2 b/test/regress/regress0/sets/sets-sharing.smt2
index caada9606..1ac2e1603 100644
--- a/test/regress/regress0/sets/sets-sharing.smt2
+++ b/test/regress/regress0/sets/sets-sharing.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun S () (Set Int))
diff --git a/test/regress/regress0/sets/sets-union.smt2 b/test/regress/regress0/sets/sets-union.smt2
index 56ba520dc..b794633e3 100644
--- a/test/regress/regress0/sets/sets-union.smt2
+++ b/test/regress/regress0/sets/sets-union.smt2
@@ -1,7 +1,7 @@
; COMMAND-LINE: --incremental
; EXPECT: sat
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-sort SetInt () (Set Int))
(declare-fun a () (Set Int))
(declare-fun b () (Set Int))
diff --git a/test/regress/regress0/sets/union-1a-flip.smt2 b/test/regress/regress0/sets/union-1a-flip.smt2
index 6a73c5b91..bb969f866 100644
--- a/test/regress/regress0/sets/union-1a-flip.smt2
+++ b/test/regress/regress0/sets/union-1a-flip.smt2
@@ -3,7 +3,7 @@
; EXPECT: sat
; x not in A U B => x not in A
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-sort SetInt () (Set Int))
(declare-fun A () (Set Int))
(declare-fun B () (Set Int))
diff --git a/test/regress/regress0/sets/union-1a.smt2 b/test/regress/regress0/sets/union-1a.smt2
index 8636cb220..ad684070f 100644
--- a/test/regress/regress0/sets/union-1a.smt2
+++ b/test/regress/regress0/sets/union-1a.smt2
@@ -3,7 +3,7 @@
; EXPECT: sat
; x not in A U B => x not in A
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-sort SetInt () (Set Int))
(declare-fun A () (Set Int))
(declare-fun B () (Set Int))
diff --git a/test/regress/regress0/sets/union-1b-flip.smt2 b/test/regress/regress0/sets/union-1b-flip.smt2
index e2b19b31a..228452f54 100644
--- a/test/regress/regress0/sets/union-1b-flip.smt2
+++ b/test/regress/regress0/sets/union-1b-flip.smt2
@@ -3,7 +3,7 @@
; EXPECT: sat
; x not in A U B => x not in A
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-sort SetInt () (Set Int))
(declare-fun A () (Set Int))
(declare-fun B () (Set Int))
diff --git a/test/regress/regress0/sets/union-1b.smt2 b/test/regress/regress0/sets/union-1b.smt2
index c354923c9..8829b6152 100644
--- a/test/regress/regress0/sets/union-1b.smt2
+++ b/test/regress/regress0/sets/union-1b.smt2
@@ -3,7 +3,7 @@
; EXPECT: sat
; x not in A U B => x not in A
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-sort SetInt () (Set Int))
(declare-fun A () (Set Int))
(declare-fun B () (Set Int))
diff --git a/test/regress/regress0/sets/union-2.smt2 b/test/regress/regress0/sets/union-2.smt2
index 6e2933975..52d2e7e8c 100644
--- a/test/regress/regress0/sets/union-2.smt2
+++ b/test/regress/regress0/sets/union-2.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(define-sort SetInt () (Set Int))
(declare-fun A () (Set Int))
diff --git a/test/regress/regress0/strings/idof-rewrites.smt2 b/test/regress/regress0/strings/idof-rewrites.smt2
index f52f0c9f3..ce77fed0a 100644
--- a/test/regress/regress0/strings/idof-rewrites.smt2
+++ b/test/regress/regress0/strings/idof-rewrites.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
(declare-fun s () String)
diff --git a/test/regress/regress0/strings/ilc-like.smt2 b/test/regress/regress0/strings/ilc-like.smt2
index bb708ee5c..6c7b0b501 100644
--- a/test/regress/regress0/strings/ilc-like.smt2
+++ b/test/regress/regress0/strings/ilc-like.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
diff --git a/test/regress/regress0/strings/indexof-sym-simp.smt2 b/test/regress/regress0/strings/indexof-sym-simp.smt2
index f4cf5c055..f492ca2b0 100644
--- a/test/regress/regress0/strings/indexof-sym-simp.smt2
+++ b/test/regress/regress0/strings/indexof-sym-simp.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :strings-exp true)
(declare-fun s () String)
diff --git a/test/regress/regress0/strings/issue1189.smt2 b/test/regress/regress0/strings/issue1189.smt2
index 3200c815d..18905ae65 100644
--- a/test/regress/regress0/strings/issue1189.smt2
+++ b/test/regress/regress0/strings/issue1189.smt2
@@ -1,5 +1,5 @@
(set-info :smt-lib-version 2.6)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :strings-exp true)
(declare-const x Int)
diff --git a/test/regress/regress0/strings/issue6643-ctn-decompose-conflict.smt2 b/test/regress/regress0/strings/issue6643-ctn-decompose-conflict.smt2
new file mode 100644
index 000000000..41a515640
--- /dev/null
+++ b/test/regress/regress0/strings/issue6643-ctn-decompose-conflict.smt2
@@ -0,0 +1,7 @@
+; COMMAND-LINE: --strings-exp
+(set-logic QF_SLIA)
+(declare-fun y () String)
+(declare-fun z () String)
+(assert (not (= (str.contains y (str.replace "A" "" z)) (str.contains y "A"))))
+(set-info :status sat)
+(check-sat)
diff --git a/test/regress/regress0/strings/tolower-simple.smt2 b/test/regress/regress0/strings/tolower-simple.smt2
index 9d2273f8d..5de5a2447 100644
--- a/test/regress/regress0/strings/tolower-simple.smt2
+++ b/test/regress/regress0/strings/tolower-simple.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status sat)
(declare-const x String)
diff --git a/test/regress/regress0/sygus/dt-sel-parse1.sy b/test/regress/regress0/sygus/dt-sel-parse1.sy
index 52f068055..05ba6b85e 100644
--- a/test/regress/regress0/sygus/dt-sel-parse1.sy
+++ b/test/regress/regress0/sygus/dt-sel-parse1.sy
@@ -1,6 +1,6 @@
; COMMAND-LINE: --lang=sygus2 --sygus-out=status
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((IntRange 0))
(((IntRange (lower Int) (upper Int)))))
diff --git a/test/regress/regress1/bug507.smt2 b/test/regress/regress1/bug507.smt2
index 0176d1043..fb6998d71 100644
--- a/test/regress/regress1/bug507.smt2
+++ b/test/regress/regress1/bug507.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: -q
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/test/regress/regress1/bug516.smt2 b/test/regress/regress1/bug516.smt2
index 43d18575e..f9d478b07 100644
--- a/test/regress/regress1/bug516.smt2
+++ b/test/regress/regress1/bug516.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --fmf-bound-int -q
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :incremental true)
(declare-fun P (Int) Bool)
diff --git a/test/regress/regress1/bug519.smt2 b/test/regress/regress1/bug519.smt2
index 6f413ad8b..fdc906faf 100644
--- a/test/regress/regress1/bug519.smt2
+++ b/test/regress/regress1/bug519.smt2
@@ -2,7 +2,7 @@
; EXPECT: sat
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
; must make parts 1 through 6 with different deadlines
diff --git a/test/regress/regress1/bug521.smt2 b/test/regress/regress1/bug521.smt2
index 73153e71b..276c60c58 100644
--- a/test/regress/regress1/bug521.smt2
+++ b/test/regress/regress1/bug521.smt2
@@ -4,7 +4,7 @@
(set-info :smt-lib-version 2.6)
(set-info :status sat)
(set-option :produce-models true)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
; done setting options
; Boogie universal background predicate
diff --git a/test/regress/regress1/bug543.smt2 b/test/regress/regress1/bug543.smt2
index 9155de7a9..d28540331 100644
--- a/test/regress/regress1/bug543.smt2
+++ b/test/regress/regress1/bug543.smt2
@@ -1,7 +1,7 @@
; COMMAND-LINE: --incremental
; EXPECT: sat
(set-option :produce-models true)
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-fun _substvar_1807_ () Bool)
(declare-fun local_id_x$1 () (_ BitVec 32))
(declare-fun local_id_x$2 () (_ BitVec 32))
diff --git a/test/regress/regress1/bug567.smt2 b/test/regress/regress1/bug567.smt2
index 94cf3b547..15af93632 100644
--- a/test/regress/regress1/bug567.smt2
+++ b/test/regress/regress1/bug567.smt2
@@ -2,7 +2,7 @@
; EXPECT: unknown
; EXPECT: unsat
; EXPECT: unknown
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((OptInt0 0)) (((Some (value0 Int)) (None))))
(declare-datatypes ((List0 0)) (((Cons (head0 Int) (tail0 List0)) (Nil))))
diff --git a/test/regress/regress1/bug681.smt2 b/test/regress/regress1/bug681.smt2
index 8bc1bd6d0..1d77cf270 100644
--- a/test/regress/regress1/bug681.smt2
+++ b/test/regress/regress1/bug681.smt2
@@ -1,6 +1,6 @@
; EXIT: 1
; EXPECT: (error "Array theory solver does not yet support write-chains connecting two different constant arrays")
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-fun start!1 () Bool)
(assert start!1)
diff --git a/test/regress/regress1/bv/bv-int-collapse2-sat.smt2 b/test/regress/regress1/bv/bv-int-collapse2-sat.smt2
index 07f2dae6a..19627c288 100644
--- a/test/regress/regress1/bv/bv-int-collapse2-sat.smt2
+++ b/test/regress/regress1/bv/bv-int-collapse2-sat.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun t () Int)
(assert (> t 0))
diff --git a/test/regress/regress1/bv/bv2nat-simp-range-sat.smt2 b/test/regress/regress1/bv/bv2nat-simp-range-sat.smt2
index 7e98460b8..9da8d4ca8 100644
--- a/test/regress/regress1/bv/bv2nat-simp-range-sat.smt2
+++ b/test/regress/regress1/bv/bv2nat-simp-range-sat.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun t () (_ BitVec 16))
(assert (not (and (<= 0 (bv2nat t)) (< (bv2nat t) 65535))))
diff --git a/test/regress/regress1/bv/cmu-rdk-3.smt2 b/test/regress/regress1/bv/cmu-rdk-3.smt2
index 742dd593b..a667da854 100644
--- a/test/regress/regress1/bv/cmu-rdk-3.smt2
+++ b/test/regress/regress1/bv/cmu-rdk-3.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun y () Int)
diff --git a/test/regress/regress1/datatypes/dt-param-card4-unsat.smt2 b/test/regress/regress1/datatypes/dt-param-card4-unsat.smt2
index 29a21a577..1e43e3cdc 100644
--- a/test/regress/regress1/datatypes/dt-param-card4-unsat.smt2
+++ b/test/regress/regress1/datatypes/dt-param-card4-unsat.smt2
@@ -1,5 +1,6 @@
+; COMMAND-LINE: --no-check-proofs
; EXPECT: unsat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-datatypes ((Pair 2)) ((par (T S) ((pair (first T) (second S))))))
diff --git a/test/regress/regress1/datatypes/manos-model.smt2 b/test/regress/regress1/datatypes/manos-model.smt2
index e418743fb..24e3d350b 100644
--- a/test/regress/regress1/datatypes/manos-model.smt2
+++ b/test/regress/regress1/datatypes/manos-model.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((tuple2!879 0)) (((tuple2!879!880 (_1!881 Int) (_2!882 Int)))))
diff --git a/test/regress/regress1/fmf/LeftistHeap.scala-8-ncm.smt2 b/test/regress/regress1/fmf/LeftistHeap.scala-8-ncm.smt2
index f1d20befc..54668bb1c 100644
--- a/test/regress/regress1/fmf/LeftistHeap.scala-8-ncm.smt2
+++ b/test/regress/regress1/fmf/LeftistHeap.scala-8-ncm.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-datatypes ((array!896 0)) (((array!896!897 (size!898 (_ BitVec 32)) (content!899 (Array (_ BitVec 32) (_ BitVec 32)))))))
(declare-datatypes ((tuple2!900 0)) (((tuple2!900!901 (_1!902 array!896) (_2!903 (_ BitVec 32))))))
diff --git a/test/regress/regress1/fmf/bug0909.smt2 b/test/regress/regress1/fmf/bug0909.smt2
index 3823e4bcc..84b4af6be 100644
--- a/test/regress/regress1/fmf/bug0909.smt2
+++ b/test/regress/regress1/fmf/bug0909.smt2
@@ -2,7 +2,7 @@
; EXPECT: unsat
; Preamble --------------
(set-option :produce-models true)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
;(declare-datatypes ((x2 0)) (((x1))))
(declare-datatypes ((x5 0)) (((x3) (x4))))
(declare-sort x6 0)
diff --git a/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2 b/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2
index d700d3b18..8a853c4b6 100644
--- a/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2
+++ b/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --fmf-fun-rlv --no-check-models
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(define-fun $$isTrue$$ ((b Bool)) Bool b)
(define-fun $$isFalse$$ ((b Bool)) Bool (not b))
(define-fun $$toString$$ ((b Bool)) String (ite b "true" "false"))
diff --git a/test/regress/regress1/fmf/datatypes-ufinite-nested.smt2 b/test/regress/regress1/fmf/datatypes-ufinite-nested.smt2
index 6b30907ae..1b7974861 100644
--- a/test/regress/regress1/fmf/datatypes-ufinite-nested.smt2
+++ b/test/regress/regress1/fmf/datatypes-ufinite-nested.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort U 0)
(declare-fun a () U)
(declare-fun b () U)
diff --git a/test/regress/regress1/fmf/datatypes-ufinite.smt2 b/test/regress/regress1/fmf/datatypes-ufinite.smt2
index b0ff1d11b..32fa954c5 100644
--- a/test/regress/regress1/fmf/datatypes-ufinite.smt2
+++ b/test/regress/regress1/fmf/datatypes-ufinite.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort U 0)
(declare-fun a () U)
(declare-fun b () U)
diff --git a/test/regress/regress1/fmf/dt-proper-model.smt2 b/test/regress/regress1/fmf/dt-proper-model.smt2
index 0e66db996..f5164b741 100644
--- a/test/regress/regress1/fmf/dt-proper-model.smt2
+++ b/test/regress/regress1/fmf/dt-proper-model.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort U 0)
(declare-datatypes ((D 0)) (((cons (x Int) (y U)))))
diff --git a/test/regress/regress1/fmf/fib-core.smt2 b/test/regress/regress1/fmf/fib-core.smt2
index e00f19ad4..1a7950a6d 100644
--- a/test/regress/regress1/fmf/fib-core.smt2
+++ b/test/regress/regress1/fmf/fib-core.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --fmf-inst-engine
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort I_fb 0)
(declare-fun fb_arg_0_1 (I_fb) Int)
diff --git a/test/regress/regress1/fmf/forall_unit_data.smt2 b/test/regress/regress1/fmf/forall_unit_data.smt2
index 5ede5f72d..411c03c8a 100644
--- a/test/regress/regress1/fmf/forall_unit_data.smt2
+++ b/test/regress/regress1/fmf/forall_unit_data.smt2
@@ -2,7 +2,7 @@
; EXPECT: sat
(set-option :produce-models true)
(set-option :interactive-mode true)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort a 0)
(declare-datatypes ((w 0)) (((Wrap (unw a)))))
(declare-fun x () w)
diff --git a/test/regress/regress1/fmf/fore19-exp2-core.smt2 b/test/regress/regress1/fmf/fore19-exp2-core.smt2
index efa38fcfc..475151c59 100644
--- a/test/regress/regress1/fmf/fore19-exp2-core.smt2
+++ b/test/regress/regress1/fmf/fore19-exp2-core.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((St 0) (Ex 0) (List!2293 0))
(((Block!2236 (body!2237 List!2293)) (For!2238 (init!2239 St) (expr!2240 Ex) (step!2241 St) (body!2242 St)) (IfTE (expr!2244 Ex) (then!2245 St) (elze!2246 St)) (Skip!2250) (While (expr!2252 Ex) (body St)))
diff --git a/test/regress/regress1/fmf/german169.smt2 b/test/regress/regress1/fmf/german169.smt2
index c4a40ccc1..c0203312b 100644
--- a/test/regress/regress1/fmf/german169.smt2
+++ b/test/regress/regress1/fmf/german169.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-datatypes ((UNIT 0)) (((Unit))))
(declare-datatypes ((BOOL 0)) (((Truth) (Falsity))))
diff --git a/test/regress/regress1/fmf/german73.smt2 b/test/regress/regress1/fmf/german73.smt2
index fbe011cfd..1cb241084 100644
--- a/test/regress/regress1/fmf/german73.smt2
+++ b/test/regress/regress1/fmf/german73.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((UNIT 0)) (((Unit))))
(declare-datatypes ((BOOL 0)) (((Truth) (Falsity))))
diff --git a/test/regress/regress1/fmf/jasmin-cdt-crash.smt2 b/test/regress/regress1/fmf/jasmin-cdt-crash.smt2
index 7f3a5b28f..7241dab4b 100644
--- a/test/regress/regress1/fmf/jasmin-cdt-crash.smt2
+++ b/test/regress/regress1/fmf/jasmin-cdt-crash.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --fmf-inst-engine --uf-ss-fair-monotone
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort a_ 0)
(declare-fun __nun_card_witness_0 () a_)
diff --git a/test/regress/regress1/fmf/loopy_coda.smt2 b/test/regress/regress1/fmf/loopy_coda.smt2
index 378380779..2b91b8c7a 100644
--- a/test/regress/regress1/fmf/loopy_coda.smt2
+++ b/test/regress/regress1/fmf/loopy_coda.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --fmf-inst-engine --uf-ss-fair-monotone
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-sort a 0)
(declare-fun __nun_card_witness_0 () a)
diff --git a/test/regress/regress1/fmf/lst-no-self-rev-exp.smt2 b/test/regress/regress1/fmf/lst-no-self-rev-exp.smt2
index b2c42d7c5..2ed01adc6 100644
--- a/test/regress/regress1/fmf/lst-no-self-rev-exp.smt2
+++ b/test/regress/regress1/fmf/lst-no-self-rev-exp.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --dt-rewrite-error-sel
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((Nat 0) (Lst 0)) (((succ (pred Nat)) (zero)) ((cons (hd Nat) (tl Lst)) (nil))))
(declare-fun app (Lst Lst) Lst)
diff --git a/test/regress/regress1/fmf/nun-0208-to.smt2 b/test/regress/regress1/fmf/nun-0208-to.smt2
index 25851f6e0..32974ef41 100644
--- a/test/regress/regress1/fmf/nun-0208-to.smt2
+++ b/test/regress/regress1/fmf/nun-0208-to.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort b__ 0)
(declare-fun __nun_card_witness_0_ () b__)
(declare-sort a__ 0)
diff --git a/test/regress/regress1/fmf/pow2-bool.smt2 b/test/regress/regress1/fmf/pow2-bool.smt2
index 93814578d..b92aec228 100644
--- a/test/regress/regress1/fmf/pow2-bool.smt2
+++ b/test/regress/regress1/fmf/pow2-bool.smt2
@@ -2,16 +2,16 @@
; EXPECT: sat
(set-logic ALL)
-(define-fun-rec pow2 ((n Int) (p Int)) Bool (
+(define-fun-rec p2 ((n Int) (p Int)) Bool (
or
(and (= n 0) (= p 1))
- (and (> n 0) (> p 1) (= 0 (mod p 2)) (pow2 (- n 1) (div p 2)))
+ (and (> n 0) (> p 1) (= 0 (mod p 2)) (p2 (- n 1) (div p 2)))
))
(declare-const n Int)
(declare-const p Int)
(assert (= n 10))
-(assert (pow2 n p))
+(assert (p2 n p))
(check-sat)
diff --git a/test/regress/regress1/fmf/radu-quant-set.smt2 b/test/regress/regress1/fmf/radu-quant-set.smt2
index 09d5cc706..180894ca5 100644
--- a/test/regress/regress1/fmf/radu-quant-set.smt2
+++ b/test/regress/regress1/fmf/radu-quant-set.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --fmf-bound
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-const A (Set Int))
(declare-const B (Set Int))
diff --git a/test/regress/regress1/fmf/refcount24.cvc.smt2 b/test/regress/regress1/fmf/refcount24.cvc.smt2
index 75bf89380..54354cab2 100644
--- a/test/regress/regress1/fmf/refcount24.cvc.smt2
+++ b/test/regress/regress1/fmf/refcount24.cvc.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :smt-lib-version 2.6)
(set-info :category "unknown")
(set-info :status sat)
diff --git a/test/regress/regress1/fmf/sc-crash-052316.smt2 b/test/regress/regress1/fmf/sc-crash-052316.smt2
index 5c695e482..5decff044 100644
--- a/test/regress/regress1/fmf/sc-crash-052316.smt2
+++ b/test/regress/regress1/fmf/sc-crash-052316.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort g_ 0)
(declare-fun __nun_card_witness_0_ () g_)
diff --git a/test/regress/regress1/fmf/with-ind-104-core.smt2 b/test/regress/regress1/fmf/with-ind-104-core.smt2
index 508629f8e..2ff74dd48 100644
--- a/test/regress/regress1/fmf/with-ind-104-core.smt2
+++ b/test/regress/regress1/fmf/with-ind-104-core.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((Nat!2409 0)) (((succ!2410 (pred!2411 Nat!2409)) (zero!2412))
))
diff --git a/test/regress/regress1/hole6.cvc b/test/regress/regress1/hole6.cvc
index 5ec31d801..c191de6ba 100644
--- a/test/regress/regress1/hole6.cvc
+++ b/test/regress/regress1/hole6.cvc
@@ -1,3 +1,4 @@
+% COMMAND-LINE: --no-check-proofs
% EXPECT: entailed
x_1 : BOOLEAN;
x_2 : BOOLEAN;
diff --git a/test/regress/regress1/proofs/issue6625-unsat-core-proofs.smt2 b/test/regress/regress1/proofs/issue6625-unsat-core-proofs.smt2
new file mode 100644
index 000000000..e71ae7d92
--- /dev/null
+++ b/test/regress/regress1/proofs/issue6625-unsat-core-proofs.smt2
@@ -0,0 +1,16 @@
+; COMMAND-LINE: -i
+; EXPECT: unsat
+; EXPECT: unsat
+(set-logic ALL)
+(declare-const a String)
+(declare-const b String)
+(declare-const c String)
+(push)
+(assert (= (str.++ a b) c))
+(assert (= a "A"))
+(assert (= c ""))
+(check-sat)
+(pop)
+(assert (= (str.++ a b) (str.++ "A" c)))
+(assert (= c (str.++ a b)))
+(check-sat)
diff --git a/test/regress/regress1/proofs/unsat-cores-proofs.smt2 b/test/regress/regress1/proofs/unsat-cores-proofs.smt2
new file mode 100644
index 000000000..847cd598e
--- /dev/null
+++ b/test/regress/regress1/proofs/unsat-cores-proofs.smt2
@@ -0,0 +1,10 @@
+; COMMAND-LINE: --produce-proofs -i
+; EXPECT: unsat
+; EXPECT: unsat
+(set-logic ALL)
+(push)
+(assert (= "A" ""))
+(check-sat)
+(pop)
+(assert (= "" "A"))
+(check-sat)
diff --git a/test/regress/regress1/push-pop/bug-fmf-fun-skolem.smt2 b/test/regress/regress1/push-pop/bug-fmf-fun-skolem.smt2
index 01a274e8a..e483abcb8 100644
--- a/test/regress/regress1/push-pop/bug-fmf-fun-skolem.smt2
+++ b/test/regress/regress1/push-pop/bug-fmf-fun-skolem.smt2
@@ -1,5 +1,5 @@
; COMMAND-LINE: --incremental --fmf-fun
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((Lst 0)) (((cons (head Int) (tail Lst)) (nil))))
(define-fun-rec sum ((l Lst)) Int (ite ((_ is nil) l) 0 (+ (head l) (sum (tail l)))))
diff --git a/test/regress/regress1/quantifiers/anti-sk-simp.smt2 b/test/regress/regress1/quantifiers/anti-sk-simp.smt2
index a9f06d8f0..d6304ec1f 100644
--- a/test/regress/regress1/quantifiers/anti-sk-simp.smt2
+++ b/test/regress/regress1/quantifiers/anti-sk-simp.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --sygus-inference
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-fun f (Int) Int)
(declare-fun a () Int)
diff --git a/test/regress/regress1/quantifiers/bi-artm-s.smt2 b/test/regress/regress1/quantifiers/bi-artm-s.smt2
index b97c339fc..af8ee945d 100644
--- a/test/regress/regress1/quantifiers/bi-artm-s.smt2
+++ b/test/regress/regress1/quantifiers/bi-artm-s.smt2
@@ -2,7 +2,7 @@
; EXPECT: unsat
(set-option :incremental "false")
(set-info :status unsat)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-fun Y () String)
(set-info :notes "ufP_1 is uf type conv P")
(declare-fun ufP_1 (Int) Int)
diff --git a/test/regress/regress1/quantifiers/cdt-0208-to.smt2 b/test/regress/regress1/quantifiers/cdt-0208-to.smt2
index 8f0312616..76e747168 100644
--- a/test/regress/regress1/quantifiers/cdt-0208-to.smt2
+++ b/test/regress/regress1/quantifiers/cdt-0208-to.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --full-saturate-quant
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort A$ 0)
(declare-sort A_set$ 0)
diff --git a/test/regress/regress1/quantifiers/ext-ex-deq-trigger.smt2 b/test/regress/regress1/quantifiers/ext-ex-deq-trigger.smt2
index f6f96fe02..bac3f375d 100644
--- a/test/regress/regress1/quantifiers/ext-ex-deq-trigger.smt2
+++ b/test/regress/regress1/quantifiers/ext-ex-deq-trigger.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --relational-triggers
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort U 0)
diff --git a/test/regress/regress1/quantifiers/is-even.smt2 b/test/regress/regress1/quantifiers/is-even.smt2
index 9aaac5e09..0ccfff31f 100644
--- a/test/regress/regress1/quantifiers/is-even.smt2
+++ b/test/regress/regress1/quantifiers/is-even.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(define-funs-rec ((is-even ((x Int)) Int) (is-odd ((y Int)) Int)) ((ite (= x 0) 1 (ite (= (is-odd (- x 1)) 0) 1 0)) (ite (= y 0) 0 (ite (= (is-even (- y 1)) 0) 1 0))))
diff --git a/test/regress/regress1/quantifiers/macro-subtype-param.smt2 b/test/regress/regress1/quantifiers/macro-subtype-param.smt2
index 97ff827a7..4a0fc3f06 100644
--- a/test/regress/regress1/quantifiers/macro-subtype-param.smt2
+++ b/test/regress/regress1/quantifiers/macro-subtype-param.smt2
@@ -6,7 +6,7 @@
; EXPECT: in term : (R (as x (List Real)))")
; EXIT: 1
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((List 1)) ((par (T) ((cons (hd T) (tl (List T))) (nil)))))
diff --git a/test/regress/regress1/quantifiers/parametric-lists.smt2 b/test/regress/regress1/quantifiers/parametric-lists.smt2
index f236c1ec7..4fe8221ab 100644
--- a/test/regress/regress1/quantifiers/parametric-lists.smt2
+++ b/test/regress/regress1/quantifiers/parametric-lists.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((List 1)) ((par (T) ((cons (head T) (tail (List T))) (nil)))))
(declare-datatypes ((KV 0)) (((kv (key Int) (value Int)) (nilKV))))
diff --git a/test/regress/regress1/quantifiers/stream-x2014-09-18-unsat.smt2 b/test/regress/regress1/quantifiers/stream-x2014-09-18-unsat.smt2
index fe593e8c0..f810b00ff 100644
--- a/test/regress/regress1/quantifiers/stream-x2014-09-18-unsat.smt2
+++ b/test/regress/regress1/quantifiers/stream-x2014-09-18-unsat.smt2
@@ -1,5 +1,5 @@
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort A$ 0)
(declare-sort B$ 0)
diff --git a/test/regress/regress1/quantifiers/subtype-param-unk.smt2 b/test/regress/regress1/quantifiers/subtype-param-unk.smt2
index 1828a68b2..69bf38c3f 100644
--- a/test/regress/regress1/quantifiers/subtype-param-unk.smt2
+++ b/test/regress/regress1/quantifiers/subtype-param-unk.smt2
@@ -6,7 +6,7 @@
; EXIT: 1
; this will fail if type rule for APPLY_UF requires arguments to be subtypes
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((List 1)) ((par (T) ((cons (hd T) (tl (List T))) (nil)))))
diff --git a/test/regress/regress1/quantifiers/subtype-param.smt2 b/test/regress/regress1/quantifiers/subtype-param.smt2
index c4cdfb244..eea7a366e 100644
--- a/test/regress/regress1/quantifiers/subtype-param.smt2
+++ b/test/regress/regress1/quantifiers/subtype-param.smt2
@@ -5,7 +5,7 @@
; EXPECT: in term : (Q (as x (Array Int Real)))")
; EXIT: 1
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((List 1)) ((par (T) ((cons (hd T) (tl (List T))) (nil)))))
diff --git a/test/regress/regress1/quantifiers/sygus-inst-ufnia-sat-t3_rw1505.smt2 b/test/regress/regress1/quantifiers/sygus-inst-ufnia-sat-t3_rw1505.smt2
index 1dae93eb5..39790c38d 100644
--- a/test/regress/regress1/quantifiers/sygus-inst-ufnia-sat-t3_rw1505.smt2
+++ b/test/regress/regress1/quantifiers/sygus-inst-ufnia-sat-t3_rw1505.smt2
@@ -11,36 +11,36 @@ Publications: "Towards Bit-Width-Independent Proofs in SMT Solvers " by A. Nieme
(set-info :license "https://creativecommons.org/licenses/by/4.0/")
(set-info :category "crafted")
(set-info :status sat)
-(declare-fun pow2 (Int) Int)
+(declare-fun p2 (Int) Int)
(declare-fun intand (Int Int Int) Int)
(declare-fun intor (Int Int Int) Int)
(declare-fun intxor (Int Int Int) Int)
-(define-fun bitof ((k Int) (l Int) (a Int)) Int (mod (div a (pow2 l)) 2))
-(define-fun int_all_but_msb ((k Int) (a Int)) Int (mod a (pow2 (- k 1))))
-(define-fun intmax ((k Int)) Int (- (pow2 k) 1))
+(define-fun bitof ((k Int) (l Int) (a Int)) Int (mod (div a (p2 l)) 2))
+(define-fun int_all_but_msb ((k Int) (a Int)) Int (mod a (p2 (- k 1))))
+(define-fun intmax ((k Int)) Int (- (p2 k) 1))
(define-fun intmin ((k Int)) Int 0)
(define-fun in_range ((k Int) (x Int)) Bool (and (>= x 0) (<= x (intmax k))))
-(define-fun intudivtotal ((k Int) (a Int) (b Int)) Int (ite (= b 0) (- (pow2 k) 1) (div a b) ))
+(define-fun intudivtotal ((k Int) (a Int) (b Int)) Int (ite (= b 0) (- (p2 k) 1) (div a b) ))
(define-fun intmodtotal ((k Int) (a Int) (b Int)) Int (ite (= b 0) a (mod a b)))
-(define-fun intneg ((k Int) (a Int)) Int (intmodtotal k (- (pow2 k) a) (pow2 k)))
+(define-fun intneg ((k Int) (a Int)) Int (intmodtotal k (- (p2 k) a) (p2 k)))
(define-fun intnot ((k Int) (a Int)) Int (- (intmax k) a))
-(define-fun intmins ((k Int)) Int (pow2 (- k 1)))
+(define-fun intmins ((k Int)) Int (p2 (- k 1)))
(define-fun intmaxs ((k Int)) Int (intnot k (intmins k)))
-(define-fun intshl ((k Int) (a Int) (b Int)) Int (intmodtotal k (* a (pow2 b)) (pow2 k)))
-(define-fun intlshr ((k Int) (a Int) (b Int)) Int (intmodtotal k (intudivtotal k a (pow2 b)) (pow2 k)))
+(define-fun intshl ((k Int) (a Int) (b Int)) Int (intmodtotal k (* a (p2 b)) (p2 k)))
+(define-fun intlshr ((k Int) (a Int) (b Int)) Int (intmodtotal k (intudivtotal k a (p2 b)) (p2 k)))
(define-fun intashr ((k Int) (a Int) (b Int) ) Int (ite (= (bitof k (- k 1) a) 0) (intlshr k a b) (intnot k (intlshr k (intnot k a) b))))
-(define-fun intconcat ((k Int) (m Int) (a Int) (b Int)) Int (+ (* a (pow2 m)) b))
-(define-fun intadd ((k Int) (a Int) (b Int) ) Int (intmodtotal k (+ a b) (pow2 k)))
-(define-fun intmul ((k Int) (a Int) (b Int)) Int (intmodtotal k (* a b) (pow2 k)))
+(define-fun intconcat ((k Int) (m Int) (a Int) (b Int)) Int (+ (* a (p2 m)) b))
+(define-fun intadd ((k Int) (a Int) (b Int) ) Int (intmodtotal k (+ a b) (p2 k)))
+(define-fun intmul ((k Int) (a Int) (b Int)) Int (intmodtotal k (* a b) (p2 k)))
(define-fun intsub ((k Int) (a Int) (b Int)) Int (intadd k a (intneg k b)))
(define-fun unsigned_to_signed ((k Int) (x Int)) Int (- (* 2 (int_all_but_msb k x)) x))
(define-fun intslt ((k Int) (a Int) (b Int)) Bool (< (unsigned_to_signed k a) (unsigned_to_signed k b)) )
(define-fun intsgt ((k Int) (a Int) (b Int)) Bool (> (unsigned_to_signed k a) (unsigned_to_signed k b)) )
(define-fun intsle ((k Int) (a Int) (b Int)) Bool (<= (unsigned_to_signed k a) (unsigned_to_signed k b)) )
(define-fun intsge ((k Int) (a Int) (b Int)) Bool (>= (unsigned_to_signed k a) (unsigned_to_signed k b)) )
-(define-fun pow2_base_cases () Bool (and (= (pow2 0) 1) (= (pow2 1) 2) (= (pow2 2) 4) (= (pow2 3) 8) ) )
+(define-fun p2_base_cases () Bool (and (= (p2 0) 1) (= (p2 1) 2) (= (p2 2) 4) (= (p2 3) 8) ) )
;qf axioms
-(define-fun pow2_ax () Bool pow2_base_cases)
+(define-fun p2_ax () Bool p2_base_cases)
(define-fun and_ax ((k Int)) Bool true)
(define-fun or_ax ((k Int)) Bool true)
(define-fun xor_ax ((k Int)) Bool true)
@@ -59,7 +59,7 @@ Publications: "Towards Bit-Width-Independent Proofs in SMT Solvers " by A. Nieme
; problem start
-(assert pow2_ax)
+(assert p2_ax)
(assert (not (forall ((s Int) (t Int) (k Int))
(=>
(and (is_bv_var k s) (is_bv_var k t) (is_bv_width k))
diff --git a/test/regress/regress1/rels/addr_book_1.cvc b/test/regress/regress1/rels/addr_book_1.cvc
index 34176f274..8e7cdbd9d 100644
--- a/test/regress/regress1/rels/addr_book_1.cvc
+++ b/test/regress/regress1/rels/addr_book_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom : TYPE;
AtomTup : TYPE = [Atom];
AtomBinTup : TYPE = [Atom, Atom];
diff --git a/test/regress/regress1/rels/addr_book_1_1.cvc b/test/regress/regress1/rels/addr_book_1_1.cvc
index 3273ade3a..c320d925f 100644
--- a/test/regress/regress1/rels/addr_book_1_1.cvc
+++ b/test/regress/regress1/rels/addr_book_1_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom : TYPE;
AtomTup : TYPE = [Atom];
AtomBinTup : TYPE = [Atom, Atom];
diff --git a/test/regress/regress1/rels/bv1-unit.cvc b/test/regress/regress1/rels/bv1-unit.cvc
index 970ebdc8c..95fb5f02c 100644
--- a/test/regress/regress1/rels/bv1-unit.cvc
+++ b/test/regress/regress1/rels/bv1-unit.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
DATATYPE unit = u END;
BvPair: TYPE = [BITVECTOR(1), unit, BITVECTOR(1)];
x : SET OF BvPair;
diff --git a/test/regress/regress1/rels/bv1-unitb.cvc b/test/regress/regress1/rels/bv1-unitb.cvc
index 50a5bb48a..0a09614a7 100644
--- a/test/regress/regress1/rels/bv1-unitb.cvc
+++ b/test/regress/regress1/rels/bv1-unitb.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
DATATYPE unitb = ub(data : BITVECTOR(1)) END;
BvPair: TYPE = [BITVECTOR(1), unitb, BITVECTOR(1)];
x : SET OF BvPair;
diff --git a/test/regress/regress1/rels/bv1.cvc b/test/regress/regress1/rels/bv1.cvc
index 95e7419ba..7e0f18953 100644
--- a/test/regress/regress1/rels/bv1.cvc
+++ b/test/regress/regress1/rels/bv1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
BvPair: TYPE = [BITVECTOR(1), BITVECTOR(1)];
x : SET OF BvPair;
y : SET OF BvPair;
diff --git a/test/regress/regress1/rels/bv1p-sat.cvc b/test/regress/regress1/rels/bv1p-sat.cvc
index 5eceb214c..a48cb6407 100644
--- a/test/regress/regress1/rels/bv1p-sat.cvc
+++ b/test/regress/regress1/rels/bv1p-sat.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
BvPair: TYPE = [BITVECTOR(1), BITVECTOR(1)];
x : SET OF BvPair;
y : SET OF BvPair;
diff --git a/test/regress/regress1/rels/bv1p.cvc b/test/regress/regress1/rels/bv1p.cvc
index 130ccae97..0e8803ce6 100644
--- a/test/regress/regress1/rels/bv1p.cvc
+++ b/test/regress/regress1/rels/bv1p.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
BvPair: TYPE = [BITVECTOR(1), BITVECTOR(1)];
x : SET OF BvPair;
y : SET OF BvPair;
diff --git a/test/regress/regress1/rels/bv2.cvc b/test/regress/regress1/rels/bv2.cvc
index d7162de7c..f3a729f2e 100644
--- a/test/regress/regress1/rels/bv2.cvc
+++ b/test/regress/regress1/rels/bv2.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
BvPair: TYPE = [BITVECTOR(2), BITVECTOR(2)];
x : SET OF BvPair;
y : SET OF BvPair;
diff --git a/test/regress/regress1/rels/iden_1_1.cvc b/test/regress/regress1/rels/iden_1_1.cvc
index 985a35a89..16bf42115 100644
--- a/test/regress/regress1/rels/iden_1_1.cvc
+++ b/test/regress/regress1/rels/iden_1_1.cvc
@@ -1,6 +1,6 @@
% EXPECT: sat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
Atom:TYPE;
AtomPair: TYPE = [Atom, Atom];
x : SET OF AtomPair;
diff --git a/test/regress/regress1/rels/join-eq-structure-and.cvc b/test/regress/regress1/rels/join-eq-structure-and.cvc
index 177410b1e..329946c46 100644
--- a/test/regress/regress1/rels/join-eq-structure-and.cvc
+++ b/test/regress/regress1/rels/join-eq-structure-and.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/join-eq-structure.cvc b/test/regress/regress1/rels/join-eq-structure.cvc
index e27d3811c..3cfb309c9 100644
--- a/test/regress/regress1/rels/join-eq-structure.cvc
+++ b/test/regress/regress1/rels/join-eq-structure.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/joinImg_0_1.cvc b/test/regress/regress1/rels/joinImg_0_1.cvc
index 4e69394bd..789e36a92 100644
--- a/test/regress/regress1/rels/joinImg_0_1.cvc
+++ b/test/regress/regress1/rels/joinImg_0_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
OPTION "sets-ext";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress1/rels/joinImg_0_2.cvc b/test/regress/regress1/rels/joinImg_0_2.cvc
index e15920804..89d767c7f 100644
--- a/test/regress/regress1/rels/joinImg_0_2.cvc
+++ b/test/regress/regress1/rels/joinImg_0_2.cvc
@@ -1,6 +1,6 @@
% EXPECT: sat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/joinImg_1.cvc b/test/regress/regress1/rels/joinImg_1.cvc
index 81f208fc4..1849ffb84 100644
--- a/test/regress/regress1/rels/joinImg_1.cvc
+++ b/test/regress/regress1/rels/joinImg_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
OPTION "sets-ext";
Atom: TYPE;
x : SET OF [Atom, Atom];
diff --git a/test/regress/regress1/rels/joinImg_1_1.cvc b/test/regress/regress1/rels/joinImg_1_1.cvc
index 003770a1b..748b57062 100644
--- a/test/regress/regress1/rels/joinImg_1_1.cvc
+++ b/test/regress/regress1/rels/joinImg_1_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
OPTION "sets-ext";
Atom: TYPE;
x : SET OF [Atom, Atom];
diff --git a/test/regress/regress1/rels/joinImg_2.cvc b/test/regress/regress1/rels/joinImg_2.cvc
index a4acfe6c6..2ce3f3f69 100644
--- a/test/regress/regress1/rels/joinImg_2.cvc
+++ b/test/regress/regress1/rels/joinImg_2.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
OPTION "sets-ext";
Atom: TYPE;
x : SET OF [Atom, Atom];
diff --git a/test/regress/regress1/rels/joinImg_2_1.cvc b/test/regress/regress1/rels/joinImg_2_1.cvc
index 03f88be37..0238b253f 100644
--- a/test/regress/regress1/rels/joinImg_2_1.cvc
+++ b/test/regress/regress1/rels/joinImg_2_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
OPTION "sets-ext";
Atom: TYPE;
x : SET OF [Atom, Atom];
diff --git a/test/regress/regress1/rels/prod-mod-eq.cvc b/test/regress/regress1/rels/prod-mod-eq.cvc
index 96ef2ffba..0e6a00fb4 100644
--- a/test/regress/regress1/rels/prod-mod-eq.cvc
+++ b/test/regress/regress1/rels/prod-mod-eq.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntPairPair: TYPE = [INT, INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress1/rels/prod-mod-eq2.cvc b/test/regress/regress1/rels/prod-mod-eq2.cvc
index b9341a216..871b1b7d7 100644
--- a/test/regress/regress1/rels/prod-mod-eq2.cvc
+++ b/test/regress/regress1/rels/prod-mod-eq2.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntPairPair: TYPE = [INT, INT, INT, INT];
x : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_complex_3.cvc b/test/regress/regress1/rels/rel_complex_3.cvc
index 492c94432..94639eff0 100644
--- a/test/regress/regress1/rels/rel_complex_3.cvc
+++ b/test/regress/regress1/rels/rel_complex_3.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_complex_4.cvc b/test/regress/regress1/rels/rel_complex_4.cvc
index f473b00aa..d75bf0cd4 100644
--- a/test/regress/regress1/rels/rel_complex_4.cvc
+++ b/test/regress/regress1/rels/rel_complex_4.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_complex_5.cvc b/test/regress/regress1/rels/rel_complex_5.cvc
index d64817187..27225e72c 100644
--- a/test/regress/regress1/rels/rel_complex_5.cvc
+++ b/test/regress/regress1/rels/rel_complex_5.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT];
x : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_mix_0_1.cvc b/test/regress/regress1/rels/rel_mix_0_1.cvc
index 723a9b2e2..75f4965f2 100644
--- a/test/regress/regress1/rels/rel_mix_0_1.cvc
+++ b/test/regress/regress1/rels/rel_mix_0_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
IntTup: TYPE = [INT];
x : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_pressure_0.cvc b/test/regress/regress1/rels/rel_pressure_0.cvc
index 0e9646f95..5648b7ba8 100644
--- a/test/regress/regress1/rels/rel_pressure_0.cvc
+++ b/test/regress/regress1/rels/rel_pressure_0.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tc_10_1.cvc b/test/regress/regress1/rels/rel_tc_10_1.cvc
index 65686ef08..391b58bfb 100644
--- a/test/regress/regress1/rels/rel_tc_10_1.cvc
+++ b/test/regress/regress1/rels/rel_tc_10_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tc_4.cvc b/test/regress/regress1/rels/rel_tc_4.cvc
index a32e8b66d..b194902cb 100644
--- a/test/regress/regress1/rels/rel_tc_4.cvc
+++ b/test/regress/regress1/rels/rel_tc_4.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tc_4_1.cvc b/test/regress/regress1/rels/rel_tc_4_1.cvc
index 484d09ec3..6dae90f80 100644
--- a/test/regress/regress1/rels/rel_tc_4_1.cvc
+++ b/test/regress/regress1/rels/rel_tc_4_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tc_5_1.cvc b/test/regress/regress1/rels/rel_tc_5_1.cvc
index a4b2fe1db..d49a19217 100644
--- a/test/regress/regress1/rels/rel_tc_5_1.cvc
+++ b/test/regress/regress1/rels/rel_tc_5_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tc_6.cvc b/test/regress/regress1/rels/rel_tc_6.cvc
index 2bc552170..b751dc201 100644
--- a/test/regress/regress1/rels/rel_tc_6.cvc
+++ b/test/regress/regress1/rels/rel_tc_6.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tc_9_1.cvc b/test/regress/regress1/rels/rel_tc_9_1.cvc
index 8a9e8eeca..af7bbb044 100644
--- a/test/regress/regress1/rels/rel_tc_9_1.cvc
+++ b/test/regress/regress1/rels/rel_tc_9_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tp_2.cvc b/test/regress/regress1/rels/rel_tp_2.cvc
index 441e79c45..73702ea8e 100644
--- a/test/regress/regress1/rels/rel_tp_2.cvc
+++ b/test/regress/regress1/rels/rel_tp_2.cvc
@@ -1,5 +1,5 @@
% EXPECT: unsat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/rel_tp_join_2_1.cvc b/test/regress/regress1/rels/rel_tp_join_2_1.cvc
index 9a79582b7..51d6c1050 100644
--- a/test/regress/regress1/rels/rel_tp_join_2_1.cvc
+++ b/test/regress/regress1/rels/rel_tp_join_2_1.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [INT, INT];
x : SET OF IntPair;
y : SET OF IntPair;
diff --git a/test/regress/regress1/rels/set-strat.cvc b/test/regress/regress1/rels/set-strat.cvc
index 0dee0e84d..c56a2b16e 100644
--- a/test/regress/regress1/rels/set-strat.cvc
+++ b/test/regress/regress1/rels/set-strat.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [ INT, INT];
SetIntPair: TYPE = [ SET OF IntPair, SET OF IntPair ];
x : SET OF IntPair;
diff --git a/test/regress/regress1/rels/strat.cvc b/test/regress/regress1/rels/strat.cvc
index b91ddbbe8..dc5c2f37d 100644
--- a/test/regress/regress1/rels/strat.cvc
+++ b/test/regress/regress1/rels/strat.cvc
@@ -1,5 +1,5 @@
% EXPECT: sat
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
IntPair: TYPE = [ INT, INT];
IntIntPair: TYPE = [ IntPair, IntPair];
x : SET OF IntIntPair;
diff --git a/test/regress/regress1/sep/chain-int.smt2 b/test/regress/regress1/sep/chain-int.smt2
index 6aaca31c5..14cd98ae2 100644
--- a/test/regress/regress1/sep/chain-int.smt2
+++ b/test/regress/regress1/sep/chain-int.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/crash1220.smt2 b/test/regress/regress1/sep/crash1220.smt2
index 4df23fd80..241f69b77 100644
--- a/test/regress/regress1/sep/crash1220.smt2
+++ b/test/regress/regress1/sep/crash1220.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/dispose-list-4-init.smt2 b/test/regress/regress1/sep/dispose-list-4-init.smt2
index 0ee63cc8a..e9915bf4b 100644
--- a/test/regress/regress1/sep/dispose-list-4-init.smt2
+++ b/test/regress/regress1/sep/dispose-list-4-init.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-sort Loc 0)
(declare-heap (Loc Loc))
diff --git a/test/regress/regress1/sep/emp2-quant-unsat.smt2 b/test/regress/regress1/sep/emp2-quant-unsat.smt2
index a0921aa31..cdca1a909 100644
--- a/test/regress/regress1/sep/emp2-quant-unsat.smt2
+++ b/test/regress/regress1/sep/emp2-quant-unsat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --quant-epr
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort U 0)
(declare-fun u () U)
diff --git a/test/regress/regress1/sep/finite-witness-sat.smt2 b/test/regress/regress1/sep/finite-witness-sat.smt2
index ce16e6f14..479dbe2b2 100644
--- a/test/regress/regress1/sep/finite-witness-sat.smt2
+++ b/test/regress/regress1/sep/finite-witness-sat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --quant-epr
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort Loc 0)
(declare-const l Loc)
(declare-heap (Loc Loc))
diff --git a/test/regress/regress1/sep/fmf-nemp-2.smt2 b/test/regress/regress1/sep/fmf-nemp-2.smt2
index 49420145e..e6e2aca98 100644
--- a/test/regress/regress1/sep/fmf-nemp-2.smt2
+++ b/test/regress/regress1/sep/fmf-nemp-2.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --no-check-models
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort U 0)
(declare-heap (U Int))
(declare-fun u1 () U)
diff --git a/test/regress/regress1/sep/loop-1220.smt2 b/test/regress/regress1/sep/loop-1220.smt2
index 41078391a..c6d239ec0 100644
--- a/test/regress/regress1/sep/loop-1220.smt2
+++ b/test/regress/regress1/sep/loop-1220.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/pto-04.smt2 b/test/regress/regress1/sep/pto-04.smt2
index e3d3ea7a1..7c430da06 100644
--- a/test/regress/regress1/sep/pto-04.smt2
+++ b/test/regress/regress1/sep/pto-04.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/quant_wand.smt2 b/test/regress/regress1/sep/quant_wand.smt2
index bb4e40308..87f0a974b 100644
--- a/test/regress/regress1/sep/quant_wand.smt2
+++ b/test/regress/regress1/sep/quant_wand.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --full-saturate-quant
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-02.smt2 b/test/regress/regress1/sep/sep-02.smt2
index a67394d90..befb36090 100644
--- a/test/regress/regress1/sep/sep-02.smt2
+++ b/test/regress/regress1/sep/sep-02.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-03.smt2 b/test/regress/regress1/sep/sep-03.smt2
index f29d081fc..aabdaa100 100644
--- a/test/regress/regress1/sep/sep-03.smt2
+++ b/test/regress/regress1/sep/sep-03.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-fmf-priority.smt2 b/test/regress/regress1/sep/sep-fmf-priority.smt2
index d916a50e5..9b72898cd 100644
--- a/test/regress/regress1/sep/sep-fmf-priority.smt2
+++ b/test/regress/regress1/sep/sep-fmf-priority.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --quant-epr
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-sort Loc 0)
(declare-const l Loc)
diff --git a/test/regress/regress1/sep/sep-neg-1refine.smt2 b/test/regress/regress1/sep/sep-neg-1refine.smt2
index 81b107ab5..867d4ccb8 100644
--- a/test/regress/regress1/sep/sep-neg-1refine.smt2
+++ b/test/regress/regress1/sep/sep-neg-1refine.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-neg-nstrict.smt2 b/test/regress/regress1/sep/sep-neg-nstrict.smt2
index 6594a1075..0896d9180 100644
--- a/test/regress/regress1/sep/sep-neg-nstrict.smt2
+++ b/test/regress/regress1/sep/sep-neg-nstrict.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-neg-nstrict2.smt2 b/test/regress/regress1/sep/sep-neg-nstrict2.smt2
index 0243282a3..e66a39f23 100644
--- a/test/regress/regress1/sep/sep-neg-nstrict2.smt2
+++ b/test/regress/regress1/sep/sep-neg-nstrict2.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-neg-simple.smt2 b/test/regress/regress1/sep/sep-neg-simple.smt2
index 8b23a6da8..dc114b0dd 100644
--- a/test/regress/regress1/sep/sep-neg-simple.smt2
+++ b/test/regress/regress1/sep/sep-neg-simple.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-neg-swap.smt2 b/test/regress/regress1/sep/sep-neg-swap.smt2
index ba83f2575..b34e6031f 100644
--- a/test/regress/regress1/sep/sep-neg-swap.smt2
+++ b/test/regress/regress1/sep/sep-neg-swap.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-nterm-again.smt2 b/test/regress/regress1/sep/sep-nterm-again.smt2
index 43fb7b00d..0b38bd189 100644
--- a/test/regress/regress1/sep/sep-nterm-again.smt2
+++ b/test/regress/regress1/sep/sep-nterm-again.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-nterm-val-model.smt2 b/test/regress/regress1/sep/sep-nterm-val-model.smt2
index 635f0895a..34349a5cc 100644
--- a/test/regress/regress1/sep/sep-nterm-val-model.smt2
+++ b/test/regress/regress1/sep/sep-nterm-val-model.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/sep-simp-unc.smt2 b/test/regress/regress1/sep/sep-simp-unc.smt2
index 88950d655..eee6fa211 100644
--- a/test/regress/regress1/sep/sep-simp-unc.smt2
+++ b/test/regress/regress1/sep/sep-simp-unc.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-sort U 0)
(declare-heap (U U))
diff --git a/test/regress/regress1/sep/simple-neg-sat.smt2 b/test/regress/regress1/sep/simple-neg-sat.smt2
index 929a8e66f..612776cfa 100644
--- a/test/regress/regress1/sep/simple-neg-sat.smt2
+++ b/test/regress/regress1/sep/simple-neg-sat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/split-find-unsat-w-emp.smt2 b/test/regress/regress1/sep/split-find-unsat-w-emp.smt2
index 1b7932dc4..c6fa301f0 100644
--- a/test/regress/regress1/sep/split-find-unsat-w-emp.smt2
+++ b/test/regress/regress1/sep/split-find-unsat-w-emp.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/split-find-unsat.smt2 b/test/regress/regress1/sep/split-find-unsat.smt2
index ff725f048..346c0083e 100644
--- a/test/regress/regress1/sep/split-find-unsat.smt2
+++ b/test/regress/regress1/sep/split-find-unsat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE:
; EXPECT: unsat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(declare-heap (Int Int))
diff --git a/test/regress/regress1/sep/wand-0526-sat.smt2 b/test/regress/regress1/sep/wand-0526-sat.smt2
index 556be6c18..a07d0b8ae 100644
--- a/test/regress/regress1/sep/wand-0526-sat.smt2
+++ b/test/regress/regress1/sep/wand-0526-sat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-heap (Int Int))
(declare-fun x () Int)
(declare-fun y () Int)
diff --git a/test/regress/regress1/sep/wand-false.smt2 b/test/regress/regress1/sep/wand-false.smt2
index 9f95c06b7..3d496782c 100644
--- a/test/regress/regress1/sep/wand-false.smt2
+++ b/test/regress/regress1/sep/wand-false.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
(declare-fun x () Int)
diff --git a/test/regress/regress1/sep/wand-nterm-simp.smt2 b/test/regress/regress1/sep/wand-nterm-simp.smt2
index 4ecc8ad1e..47d39eb0b 100644
--- a/test/regress/regress1/sep/wand-nterm-simp.smt2
+++ b/test/regress/regress1/sep/wand-nterm-simp.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-heap (Int Int))
(declare-fun x () Int)
(assert (wand (_ emp Int Int) (pto x 3)))
diff --git a/test/regress/regress1/sep/wand-nterm-simp2.smt2 b/test/regress/regress1/sep/wand-nterm-simp2.smt2
index 5b7c92a4a..647421665 100644
--- a/test/regress/regress1/sep/wand-nterm-simp2.smt2
+++ b/test/regress/regress1/sep/wand-nterm-simp2.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
(declare-fun x () Int)
diff --git a/test/regress/regress1/sep/wand-simp-sat.smt2 b/test/regress/regress1/sep/wand-simp-sat.smt2
index ec63a762e..79c12c028 100644
--- a/test/regress/regress1/sep/wand-simp-sat.smt2
+++ b/test/regress/regress1/sep/wand-simp-sat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-heap (Int Int))
(declare-fun x () Int)
(assert (wand (pto x 1) (pto x 1)))
diff --git a/test/regress/regress1/sep/wand-simp-sat2.smt2 b/test/regress/regress1/sep/wand-simp-sat2.smt2
index 315071c05..76aed570f 100644
--- a/test/regress/regress1/sep/wand-simp-sat2.smt2
+++ b/test/regress/regress1/sep/wand-simp-sat2.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --no-check-models
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(declare-heap (Int Int))
(declare-fun x () Int)
diff --git a/test/regress/regress1/sep/wand-simp-unsat.smt2 b/test/regress/regress1/sep/wand-simp-unsat.smt2
index dabdc18e4..2e90dfb26 100644
--- a/test/regress/regress1/sep/wand-simp-unsat.smt2
+++ b/test/regress/regress1/sep/wand-simp-unsat.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE:
; EXPECT: unsat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(declare-fun x () Int)
(declare-heap (Int Int))
(assert (wand (pto x 1) (pto x 3)))
diff --git a/test/regress/regress1/sets/ListElem.hs.fqout.cvc4.38.smt2 b/test/regress/regress1/sets/ListElem.hs.fqout.cvc4.38.smt2
index 3c0ef1dda..666d16367 100644
--- a/test/regress/regress1/sets/ListElem.hs.fqout.cvc4.38.smt2
+++ b/test/regress/regress1/sets/ListElem.hs.fqout.cvc4.38.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
; What was the bug?
diff --git a/test/regress/regress1/sets/ListElts.hs.fqout.cvc4.317.smt2 b/test/regress/regress1/sets/ListElts.hs.fqout.cvc4.317.smt2
index 7b5294aec..4863baa64 100644
--- a/test/regress/regress1/sets/ListElts.hs.fqout.cvc4.317.smt2
+++ b/test/regress/regress1/sets/ListElts.hs.fqout.cvc4.317.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress1/sets/TalkingAboutSets.hs.fqout.cvc4.3577.smt2 b/test/regress/regress1/sets/TalkingAboutSets.hs.fqout.cvc4.3577.smt2
index 282325f14..dcfd13521 100644
--- a/test/regress/regress1/sets/TalkingAboutSets.hs.fqout.cvc4.3577.smt2
+++ b/test/regress/regress1/sets/TalkingAboutSets.hs.fqout.cvc4.3577.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress1/sets/UniqueZipper.hs.1030minimized.cvc4.smt2 b/test/regress/regress1/sets/UniqueZipper.hs.1030minimized.cvc4.smt2
index 38477c46a..9e5962a24 100644
--- a/test/regress/regress1/sets/UniqueZipper.hs.1030minimized.cvc4.smt2
+++ b/test/regress/regress1/sets/UniqueZipper.hs.1030minimized.cvc4.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
(define-fun smt_set_emp () mySet (as emptyset mySet))
diff --git a/test/regress/regress1/sets/UniqueZipper.hs.1030minimized2.cvc4.smt2 b/test/regress/regress1/sets/UniqueZipper.hs.1030minimized2.cvc4.smt2
index e282e446e..88cf21aa8 100644
--- a/test/regress/regress1/sets/UniqueZipper.hs.1030minimized2.cvc4.smt2
+++ b/test/regress/regress1/sets/UniqueZipper.hs.1030minimized2.cvc4.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
(define-fun smt_set_emp () mySet (as emptyset mySet))
diff --git a/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.10.smt2 b/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.10.smt2
index 10ed4be7c..1967497da 100644
--- a/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.10.smt2
+++ b/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.10.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.1832.smt2 b/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.1832.smt2
index 6165b98de..cb1dfc842 100644
--- a/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.1832.smt2
+++ b/test/regress/regress1/sets/UniqueZipper.hs.fqout.cvc4.1832.smt2
@@ -1,4 +1,4 @@
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status unsat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress1/sets/deepmeas0.hs.fqout.cvc4.41.smt2 b/test/regress/regress1/sets/deepmeas0.hs.fqout.cvc4.41.smt2
index 83dfe41e5..426661ba2 100644
--- a/test/regress/regress1/sets/deepmeas0.hs.fqout.cvc4.41.smt2
+++ b/test/regress/regress1/sets/deepmeas0.hs.fqout.cvc4.41.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bool-1.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bool-1.smt2
index c455caa28..eded56674 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bool-1.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bool-1.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bool-2.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bool-2.smt2
index 977bf3795..7d3421463 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bool-2.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bool-2.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bool-3.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bool-3.smt2
index 623376e37..4c83655ed 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bool-3.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bool-3.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bv-1.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bv-1.smt2
index 1388b9bfa..535646c7b 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bv-1.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bv-1.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bv-2.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bv-2.smt2
index 26ee05f3c..4eb8fc269 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bv-2.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bv-2.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bv-3.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bv-3.smt2
index 8c92d1c6b..6e26ef4c7 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bv-3.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bv-3.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-bv-4.smt2 b/test/regress/regress1/sets/finite-type/sets-card-bv-4.smt2
index d2c8a744d..4fc6b7347 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-bv-4.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-bv-4.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-datatype-1.smt2 b/test/regress/regress1/sets/finite-type/sets-card-datatype-1.smt2
index 0121479e9..681033794 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-datatype-1.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-datatype-1.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/finite-type/sets-card-datatype-2.smt2 b/test/regress/regress1/sets/finite-type/sets-card-datatype-2.smt2
index 708ebb2ca..eb45d9ef9 100644
--- a/test/regress/regress1/sets/finite-type/sets-card-datatype-2.smt2
+++ b/test/regress/regress1/sets/finite-type/sets-card-datatype-2.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :produce-models true)
(set-option :sets-ext true)
diff --git a/test/regress/regress1/sets/is_singleton1.smt2 b/test/regress/regress1/sets/is_singleton1.smt2
index 5764a7d45..a6f1961cd 100644
--- a/test/regress/regress1/sets/is_singleton1.smt2
+++ b/test/regress/regress1/sets/is_singleton1.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE:
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun S () (Set Int))
(declare-fun x () Int)
diff --git a/test/regress/regress1/sets/issue2904.smt2 b/test/regress/regress1/sets/issue2904.smt2
index e9fca1716..49268953d 100644
--- a/test/regress/regress1/sets/issue2904.smt2
+++ b/test/regress/regress1/sets/issue2904.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
; conjecture set nonempty(~b & ~c)
diff --git a/test/regress/regress1/sets/lemmabug-ListElts317minimized.smt2 b/test/regress/regress1/sets/lemmabug-ListElts317minimized.smt2
index 0fc8ca067..be1e36a97 100644
--- a/test/regress/regress1/sets/lemmabug-ListElts317minimized.smt2
+++ b/test/regress/regress1/sets/lemmabug-ListElts317minimized.smt2
@@ -19,7 +19,7 @@
; adding terms to d_pendingEverInserted was moved from addToPending()
; to getLemma().
-(set-logic QF_ALL_SUPPORTED)
+(set-logic QF_ALL)
(set-info :status sat)
(define-sort Elt () Int)
(define-sort mySet () (Set Elt ))
diff --git a/test/regress/regress1/sets/sets-disequal.smt2 b/test/regress/regress1/sets/sets-disequal.smt2
index 3acf77108..22cdde8e4 100644
--- a/test/regress/regress1/sets/sets-disequal.smt2
+++ b/test/regress/regress1/sets/sets-disequal.smt2
@@ -1,4 +1,4 @@
-; COMMAND-LINE: --incremental
+; COMMAND-LINE: --incremental --no-check-proofs
; EXPECT: sat
; EXPECT: sat
; EXPECT: unsat
diff --git a/test/regress/regress1/sets/sets-tuple-poly.cvc b/test/regress/regress1/sets/sets-tuple-poly.cvc
index 3f8662ef7..d286e46e4 100644
--- a/test/regress/regress1/sets/sets-tuple-poly.cvc
+++ b/test/regress/regress1/sets/sets-tuple-poly.cvc
@@ -1,7 +1,7 @@
% COMMAND-LINE:
% EXPECT: sat
OPTION "sets-ext";
-OPTION "logic" "ALL_SUPPORTED";
+OPTION "logic" "ALL";
a : SET OF [REAL, INT];
b : SET OF [INT, REAL];
diff --git a/test/regress/regress1/strings/cmu-2db2-extf-reg.smt2 b/test/regress/regress1/strings/cmu-2db2-extf-reg.smt2
index b513494b8..b3d108ef7 100644
--- a/test/regress/regress1/strings/cmu-2db2-extf-reg.smt2
+++ b/test/regress/regress1/strings/cmu-2db2-extf-reg.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
diff --git a/test/regress/regress1/strings/cmu-5042-0707-2.smt2 b/test/regress/regress1/strings/cmu-5042-0707-2.smt2
index 637142dfb..4b3e08eae 100644
--- a/test/regress/regress1/strings/cmu-5042-0707-2.smt2
+++ b/test/regress/regress1/strings/cmu-5042-0707-2.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
diff --git a/test/regress/regress1/strings/cmu-inc-nlpp-071516.smt2 b/test/regress/regress1/strings/cmu-inc-nlpp-071516.smt2
index 1208ca169..f41e68d2d 100644
--- a/test/regress/regress1/strings/cmu-inc-nlpp-071516.smt2
+++ b/test/regress/regress1/strings/cmu-inc-nlpp-071516.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :strings-exp true)
diff --git a/test/regress/regress1/strings/cmu-substr-rw.smt2 b/test/regress/regress1/strings/cmu-substr-rw.smt2
index a4d649d7f..4f7e61948 100644
--- a/test/regress/regress1/strings/cmu-substr-rw.smt2
+++ b/test/regress/regress1/strings/cmu-substr-rw.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
diff --git a/test/regress/regress1/strings/crash-1019.smt2 b/test/regress/regress1/strings/crash-1019.smt2
index 317840ddb..ae7c79ee7 100644
--- a/test/regress/regress1/strings/crash-1019.smt2
+++ b/test/regress/regress1/strings/crash-1019.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status unsat)
diff --git a/test/regress/regress1/strings/gm-inc-071516-2.smt2 b/test/regress/regress1/strings/gm-inc-071516-2.smt2
index 1650190f8..305bdd58a 100644
--- a/test/regress/regress1/strings/gm-inc-071516-2.smt2
+++ b/test/regress/regress1/strings/gm-inc-071516-2.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :strings-exp true)
diff --git a/test/regress/regress1/strings/idof-handg.smt2 b/test/regress/regress1/strings/idof-handg.smt2
index 40aff3168..3766a6d85 100644
--- a/test/regress/regress1/strings/idof-handg.smt2
+++ b/test/regress/regress1/strings/idof-handg.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status sat)
(declare-fun s () String)
diff --git a/test/regress/regress1/strings/idof-nconst-index.smt2 b/test/regress/regress1/strings/idof-nconst-index.smt2
index eba492220..954d446d2 100644
--- a/test/regress/regress1/strings/idof-nconst-index.smt2
+++ b/test/regress/regress1/strings/idof-nconst-index.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status sat)
(declare-fun s () String)
diff --git a/test/regress/regress1/strings/idof-neg-index.smt2 b/test/regress/regress1/strings/idof-neg-index.smt2
index c24fcc00a..e886a53fd 100644
--- a/test/regress/regress1/strings/idof-neg-index.smt2
+++ b/test/regress/regress1/strings/idof-neg-index.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status unsat)
(declare-fun s () String)
diff --git a/test/regress/regress1/strings/idof-triv.smt2 b/test/regress/regress1/strings/idof-triv.smt2
index 314adedf8..ce8439f0c 100644
--- a/test/regress/regress1/strings/idof-triv.smt2
+++ b/test/regress/regress1/strings/idof-triv.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
(declare-fun string () String)
diff --git a/test/regress/regress1/strings/ilc-l-nt.smt2 b/test/regress/regress1/strings/ilc-l-nt.smt2
index 9e1cc2bc5..efd733530 100644
--- a/test/regress/regress1/strings/ilc-l-nt.smt2
+++ b/test/regress/regress1/strings/ilc-l-nt.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(set-option :strings-exp true)
diff --git a/test/regress/regress1/strings/issue3090.smt2 b/test/regress/regress1/strings/issue3090.smt2
index dc04289d6..dc89ea650 100644
--- a/test/regress/regress1/strings/issue3090.smt2
+++ b/test/regress/regress1/strings/issue3090.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status unsat)
(declare-const id String)
diff --git a/test/regress/regress1/strings/issue3217.smt2 b/test/regress/regress1/strings/issue3217.smt2
index 4fd35999d..7e9acbd78 100644
--- a/test/regress/regress1/strings/issue3217.smt2
+++ b/test/regress/regress1/strings/issue3217.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status unsat)
(declare-fun a () String)
diff --git a/test/regress/regress1/strings/issue3272.smt2 b/test/regress/regress1/strings/issue3272.smt2
index 622e294d8..0fc8cee26 100644
--- a/test/regress/regress1/strings/issue3272.smt2
+++ b/test/regress/regress1/strings/issue3272.smt2
@@ -1,5 +1,5 @@
(set-info :smt-lib-version 2.6)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status sat)
(declare-fun a () String)
diff --git a/test/regress/regress1/strings/issue3357.smt2 b/test/regress/regress1/strings/issue3357.smt2
index 6951d47e1..ca80f7f81 100644
--- a/test/regress/regress1/strings/issue3357.smt2
+++ b/test/regress/regress1/strings/issue3357.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status unsat)
(declare-fun a () String)
diff --git a/test/regress/regress1/strings/regexp002.smt2 b/test/regress/regress1/strings/regexp002.smt2
index 35501ac10..7bb4e8aca 100644
--- a/test/regress/regress1/strings/regexp002.smt2
+++ b/test/regress/regress1/strings/regexp002.smt2
@@ -2,10 +2,6 @@
(set-logic QF_S)
(set-info :status sat)
(set-option :strings-exp true)
-; this option requires user to check whether the constraint is in the fragment
-; currently we do not provide only positive membership constraint checking
-; if users use this option but the constraint is not in this fragment, the result will fail
-(set-option :strings-inm true)
(declare-fun x () String)
(declare-fun y () String)
diff --git a/test/regress/regress1/strings/tolower-find.smt2 b/test/regress/regress1/strings/tolower-find.smt2
index ff27a285a..80c797b3e 100644
--- a/test/regress/regress1/strings/tolower-find.smt2
+++ b/test/regress/regress1/strings/tolower-find.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status sat)
(declare-const x String)
diff --git a/test/regress/regress1/sygus/clock-inc-tuple.sy b/test/regress/regress1/sygus/clock-inc-tuple.sy
index b5d7bff91..5af4407f7 100644
--- a/test/regress/regress1/sygus/clock-inc-tuple.sy
+++ b/test/regress/regress1/sygus/clock-inc-tuple.sy
@@ -1,7 +1,7 @@
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-si=all --sygus-out=status --decision=justification
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-var m Int)
(declare-var s Int)
(declare-var inc Int)
diff --git a/test/regress/regress1/sygus/error1-dt.sy b/test/regress/regress1/sygus/error1-dt.sy
index d0027d685..9b57339db 100644
--- a/test/regress/regress1/sygus/error1-dt.sy
+++ b/test/regress/regress1/sygus/error1-dt.sy
@@ -1,7 +1,7 @@
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-out=status --sygus-si=none --sygus-active-gen=enum
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((IntRange 0))
(((IntRange (lower Int) (upper Int)))))
diff --git a/test/regress/regress1/sygus/extract.sy b/test/regress/regress1/sygus/extract.sy
index f3cfa09a2..fef48f364 100644
--- a/test/regress/regress1/sygus/extract.sy
+++ b/test/regress/regress1/sygus/extract.sy
@@ -1,7 +1,7 @@
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-out=status
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatype Ex ((Ex2 (ex Int))))
(synth-fun ident ((x1 Ex)) Int
diff --git a/test/regress/regress1/sygus/issue3461.sy b/test/regress/regress1/sygus/issue3461.sy
index 08b5738c1..ebd6dd346 100644
--- a/test/regress/regress1/sygus/issue3461.sy
+++ b/test/regress/regress1/sygus/issue3461.sy
@@ -1,7 +1,7 @@
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-out=status
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatype Doc ((D (owner Int) (body Int))))
diff --git a/test/regress/regress1/sygus/list-head-x.sy b/test/regress/regress1/sygus/list-head-x.sy
index c6b7d032a..f1c99a28f 100644
--- a/test/regress/regress1/sygus/list-head-x.sy
+++ b/test/regress/regress1/sygus/list-head-x.sy
@@ -1,6 +1,6 @@
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-si=all --sygus-out=status
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((List 0)) (((cons (head Int) (tail List)) (nil))))
diff --git a/test/regress/regress2/bug394.smt2 b/test/regress/regress2/bug394.smt2
index 79fbf2e44..c0c8ca48c 100644
--- a/test/regress/regress2/bug394.smt2
+++ b/test/regress/regress2/bug394.smt2
@@ -15,7 +15,7 @@
(set-option :print-success false)
(set-info :smt-lib-version 2.6)
;(set-option :produce-models true)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
; done setting options
; Boogie universal background predicate
diff --git a/test/regress/regress2/bug674.smt2 b/test/regress/regress2/bug674.smt2
index cce0c963a..dc736539a 100644
--- a/test/regress/regress2/bug674.smt2
+++ b/test/regress/regress2/bug674.smt2
@@ -1,5 +1,5 @@
; COMMAND-LINE: --quant-ind --incremental
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((Lst 0)) (((cons (head Int) (tail Lst)) (nil))))
(define-fun-rec app ((l1 Lst) (l2 Lst)) Lst (ite ((_ is nil) l1) l2 (cons (head l1) (app (tail l1) l2))))
(define-fun-rec rev ((l Lst)) Lst (ite ((_ is nil) l) nil (app (rev (tail l)) (cons (head l) nil))))
diff --git a/test/regress/regress2/bug765.smt2 b/test/regress/regress2/bug765.smt2
index 6c1c633a9..b0d85363d 100644
--- a/test/regress/regress2/bug765.smt2
+++ b/test/regress/regress2/bug765.smt2
@@ -1,5 +1,5 @@
; COMMAND-LINE: --incremental --fmf-fun-rlv --no-check-models
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((Color 0)) (
((red) (white) (blue))
diff --git a/test/regress/regress2/issue6495-dup-pat-term.smt2 b/test/regress/regress2/issue6495-dup-pat-term.smt2
index 3c8d0df61..c619bb37d 100644
--- a/test/regress/regress2/issue6495-dup-pat-term.smt2
+++ b/test/regress/regress2/issue6495-dup-pat-term.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: -i -q
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-sort |T@[Int]Int| 0)
(declare-datatypes ((T@Vec_2846 0)) (((Vec_2846 (|v#Vec_2846| |T@[Int]Int|) (|l#Vec_2846| Int) ) ) ))
diff --git a/test/regress/regress2/nl/ufnia-factor-open-proof.smt2 b/test/regress/regress2/nl/ufnia-factor-open-proof.smt2
index 6d910b464..dc61155e8 100644
--- a/test/regress/regress2/nl/ufnia-factor-open-proof.smt2
+++ b/test/regress/regress2/nl/ufnia-factor-open-proof.smt2
@@ -1,15 +1,15 @@
; COMMAND-LINE: --no-check-unsat-cores
(set-logic QF_UFNIA)
(set-info :status unsat)
-(declare-fun pow2 (Int) Int)
-(define-fun intmax ((k Int)) Int (- (pow2 k) 1))
-(define-fun intmodtotal ((pow2 Int) (a Int) (b Int)) Int (mod a b))
+(declare-fun p2 (Int) Int)
+(define-fun intmax ((k Int)) Int (- (p2 k) 1))
+(define-fun intmodtotal ((p2 Int) (a Int) (b Int)) Int (mod a b))
(define-fun intneg ((k Int) (a Int)) Int 1)
-(define-fun intmul ((k Int) (a Int) (b Int)) Int (mod (* a b) (pow2 k)))
+(define-fun intmul ((k Int) (a Int) (b Int)) Int (mod (* a b) (p2 k)))
(declare-fun k () Int)
(assert (> k 0))
-(assert (= 1 (pow2 1)))
+(assert (= 1 (p2 1)))
(declare-fun %x () Int)
(assert (> %x 0))
-(assert (not (= (intmul k %x (intmax k)) (mod (- (pow2 k) %x) (pow2 k)))))
+(assert (not (= (intmul k %x (intmax k)) (mod (- (p2 k) %x) (p2 k)))))
(check-sat)
diff --git a/test/regress/regress2/quantifiers/nunchaku2309663.nun.min.smt2 b/test/regress/regress2/quantifiers/nunchaku2309663.nun.min.smt2
index 2ae8a60f4..c6f8a1be2 100644
--- a/test/regress/regress2/quantifiers/nunchaku2309663.nun.min.smt2
+++ b/test/regress/regress2/quantifiers/nunchaku2309663.nun.min.smt2
@@ -1,6 +1,6 @@
; EXPECT: unsat
; COMMAND-LINE: --finite-model-find
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status unsat)
(declare-datatypes ((nat__ 0)) (((Suc__ (_select_Suc___0 nat__)) (zero__))))
(declare-sort a__ 0)
diff --git a/test/regress/regress2/strings/cmu-dis-0707-3.smt2 b/test/regress/regress2/strings/cmu-dis-0707-3.smt2
index fcdcded39..4df45e833 100644
--- a/test/regress/regress2/strings/cmu-dis-0707-3.smt2
+++ b/test/regress/regress2/strings/cmu-dis-0707-3.smt2
@@ -1,5 +1,5 @@
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-info :smt-lib-version 2.6)
(set-option :strings-exp true)
diff --git a/test/regress/regress2/strings/cmu-disagree-0707-dd.smt2 b/test/regress/regress2/strings/cmu-disagree-0707-dd.smt2
index 140c7c659..02e5f6492 100644
--- a/test/regress/regress2/strings/cmu-disagree-0707-dd.smt2
+++ b/test/regress/regress2/strings/cmu-disagree-0707-dd.smt2
@@ -1,4 +1,4 @@
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(set-option :strings-exp true)
(set-option :strings-fmf true)
diff --git a/test/regress/regress2/strings/cmu-prereg-fmf.smt2 b/test/regress/regress2/strings/cmu-prereg-fmf.smt2
index 0d6827cf7..30ea49f4b 100644
--- a/test/regress/regress2/strings/cmu-prereg-fmf.smt2
+++ b/test/regress/regress2/strings/cmu-prereg-fmf.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --strings-exp --strings-fmf
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun url () String)
diff --git a/test/regress/regress2/strings/cmu-repl-len-nterm.smt2 b/test/regress/regress2/strings/cmu-repl-len-nterm.smt2
index 004db77ed..f55a61b2e 100644
--- a/test/regress/regress2/strings/cmu-repl-len-nterm.smt2
+++ b/test/regress/regress2/strings/cmu-repl-len-nterm.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --strings-exp
; EXPECT: sat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-info :status sat)
(declare-fun url () String)
diff --git a/test/regress/regress2/strings/issue3203.smt2 b/test/regress/regress2/strings/issue3203.smt2
index 6d4064ad5..f0bc8d031 100644
--- a/test/regress/regress2/strings/issue3203.smt2
+++ b/test/regress/regress2/strings/issue3203.smt2
@@ -1,6 +1,6 @@
; Temporarily disable checking of unsat cores (see issue #3606)
; COMMAND-LINE: --no-check-unsat-cores
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(set-option :strings-exp true)
(set-info :status unsat)
(declare-fun a () String)
diff --git a/test/regress/regress3/quantifiers/ForElimination-scala-9.smt2 b/test/regress/regress3/quantifiers/ForElimination-scala-9.smt2
index 04ea50b72..91502a9e7 100644
--- a/test/regress/regress3/quantifiers/ForElimination-scala-9.smt2
+++ b/test/regress/regress3/quantifiers/ForElimination-scala-9.smt2
@@ -1,6 +1,6 @@
; COMMAND-LINE: --finite-model-find --uf-ss=no-minimal
; EXPECT: unsat
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
(declare-datatypes ((Statement!1556 0) (Expression!1578 0) (List!1617 0)) (
((Assign!1557 (varID!1558 (_ BitVec 32)) (expr!1559 Expression!1578)) (Block!1560 (body!1561 List!1617)) (For!1562 (init!1563 Statement!1556) (expr!1564 Expression!1578) (step!1565 Statement!1556) (body!1566 Statement!1556)) (IfThenElse!1567 (expr!1568 Expression!1578) (then!1569 Statement!1556) (elze!1570 Statement!1556)) (Print!1571 (msg!1572 (_ BitVec 32)) (varID!1573 (_ BitVec 32))) (Skip!1574) (While!1575 (expr!1576 Expression!1578) (body!1577 Statement!1556)))
((And!1579 (lhs!1580 Expression!1578) (rhs!1581 Expression!1578)) (Division!1582 (lhs!1583 Expression!1578) (rhs!1584 Expression!1578)) (Equals!1585 (lhs!1586 Expression!1578) (rhs!1587 Expression!1578)) (GreaterThan!1588 (lhs!1589 Expression!1578) (rhs!1590 Expression!1578)) (IntLiteral!1591 (value!1592 (_ BitVec 32))) (LessThan!1593 (lhs!1594 Expression!1578) (rhs!1595 Expression!1578)) (Minus!1596 (lhs!1597 Expression!1578) (rhs!1598 Expression!1578)) (Modulo!1599 (lhs!1600 Expression!1578) (rhs!1601 Expression!1578)) (Neg!1602 (expr!1603 Expression!1578)) (Not!1604 (expr!1605 Expression!1578)) (Or!1606 (lhs!1607 Expression!1578) (rhs!1608 Expression!1578)) (Plus!1609 (lhs!1610 Expression!1578) (rhs!1611 Expression!1578)) (Times!1612 (lhs!1613 Expression!1578) (rhs!1614 Expression!1578)) (Var!1615 (varID!1616 (_ BitVec 32))))
diff --git a/test/regress/regress4/bug396.smt2 b/test/regress/regress4/bug396.smt2
index 639d4f7eb..d3f04bd5a 100644
--- a/test/regress/regress4/bug396.smt2
+++ b/test/regress/regress4/bug396.smt2
@@ -13,7 +13,7 @@
(set-option :print-success false)
(set-info :smt-lib-version 2.6)
;(set-option :produce-models true)
-(set-logic ALL_SUPPORTED)
+(set-logic ALL)
; done setting options
; Boogie universal background predicate
diff --git a/test/unit/api/solver_black.cpp b/test/unit/api/solver_black.cpp
index bc8f3ed74..018207293 100644
--- a/test/unit/api/solver_black.cpp
+++ b/test/unit/api/solver_black.cpp
@@ -1552,7 +1552,7 @@ TEST_F(TestApiBlackSolver, getQuantifierEliminationDisjunct)
TEST_F(TestApiBlackSolver, declareSeparationHeap)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
Sort integer = d_solver.getIntegerSort();
ASSERT_NO_THROW(d_solver.declareSeparationHeap(integer, integer));
// cannot declare separation logic heap more than once
@@ -1592,7 +1592,7 @@ TEST_F(TestApiBlackSolver, getSeparationHeapTerm1)
TEST_F(TestApiBlackSolver, getSeparationHeapTerm2)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "false");
checkSimpleSeparationConstraints(&d_solver);
@@ -1601,7 +1601,7 @@ TEST_F(TestApiBlackSolver, getSeparationHeapTerm2)
TEST_F(TestApiBlackSolver, getSeparationHeapTerm3)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "true");
Term t = d_solver.mkFalse();
@@ -1612,7 +1612,7 @@ TEST_F(TestApiBlackSolver, getSeparationHeapTerm3)
TEST_F(TestApiBlackSolver, getSeparationHeapTerm4)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "true");
Term t = d_solver.mkTrue();
@@ -1623,7 +1623,7 @@ TEST_F(TestApiBlackSolver, getSeparationHeapTerm4)
TEST_F(TestApiBlackSolver, getSeparationHeapTerm5)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "true");
checkSimpleSeparationConstraints(&d_solver);
@@ -1642,7 +1642,7 @@ TEST_F(TestApiBlackSolver, getSeparationNilTerm1)
TEST_F(TestApiBlackSolver, getSeparationNilTerm2)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "false");
checkSimpleSeparationConstraints(&d_solver);
@@ -1651,7 +1651,7 @@ TEST_F(TestApiBlackSolver, getSeparationNilTerm2)
TEST_F(TestApiBlackSolver, getSeparationNilTerm3)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "true");
Term t = d_solver.mkFalse();
@@ -1662,7 +1662,7 @@ TEST_F(TestApiBlackSolver, getSeparationNilTerm3)
TEST_F(TestApiBlackSolver, getSeparationNilTerm4)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "true");
Term t = d_solver.mkTrue();
@@ -1673,7 +1673,7 @@ TEST_F(TestApiBlackSolver, getSeparationNilTerm4)
TEST_F(TestApiBlackSolver, getSeparationNilTerm5)
{
- d_solver.setLogic("ALL_SUPPORTED");
+ d_solver.setLogic("ALL");
d_solver.setOption("incremental", "false");
d_solver.setOption("produce-models", "true");
checkSimpleSeparationConstraints(&d_solver);
diff --git a/test/unit/theory/logic_info_white.cpp b/test/unit/theory/logic_info_white.cpp
index e51929cad..7a6e34abb 100644
--- a/test/unit/theory/logic_info_white.cpp
+++ b/test/unit/theory/logic_info_white.cpp
@@ -500,7 +500,7 @@ TEST_F(TestTheoryWhiteLogicInfo, smtlib_logics)
ASSERT_FALSE(info.hasEverything());
ASSERT_FALSE(info.hasNothing());
- info = LogicInfo("QF_ALL_SUPPORTED");
+ info = LogicInfo("QF_ALL");
ASSERT_TRUE(info.isLocked());
ASSERT_FALSE(info.isPure(THEORY_BOOL));
ASSERT_TRUE(info.isSharingEnabled());
@@ -519,7 +519,7 @@ TEST_F(TestTheoryWhiteLogicInfo, smtlib_logics)
ASSERT_FALSE(info.hasEverything());
ASSERT_FALSE(info.hasNothing());
- info = LogicInfo("ALL_SUPPORTED");
+ info = LogicInfo("ALL");
ASSERT_TRUE(info.isLocked());
ASSERT_FALSE(info.isPure(THEORY_BOOL));
ASSERT_TRUE(info.isSharingEnabled());
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback