Commits

Nikolaj Bjorner committed 3bf6af4

expose additional external options for muz

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

  • Participants
  • Parent commits f14cc76

Comments (0)

Files changed (2)

File src/muz_qe/dl_context.cpp

         
         p.insert(":fix-unbound-vars", CPK_BOOL, "fix unbound variables in tail");
         p.insert(":default-table-checker", CPK_SYMBOL, "see :default-table-checked");
-        PRIVATE_PARAMS(p.insert(":inline-linear", CPK_BOOL, "try linear inlining method"););
+        p.insert(":inline-linear", CPK_BOOL, "try linear inlining method");
         PRIVATE_PARAMS(p.insert(":inline-linear-branch", CPK_BOOL, "try linear inlining method with potential expansion"););
 
         pdr::dl_interface::collect_params(p);

File src/muz_qe/pdr_dl_interface.cpp

     if (m_ctx.get_params().get_uint(":unfold-rules",0) > 0) {
         unsigned num_unfolds = m_ctx.get_params().get_uint(":unfold-rules",0);
         datalog::rule_transformer transformer1(m_ctx), transformer2(m_ctx);
-        //transformer1.register_plugin(alloc(datalog::mk_coalesce, m_ctx));
-        //m_ctx.transform_rules(transformer1, mc, pc);
+        if (m_ctx.get_params().get_uint(":coalesce-rules", false)) {
+            transformer1.register_plugin(alloc(datalog::mk_coalesce, m_ctx));
+            m_ctx.transform_rules(transformer1, mc, pc);
+        }
         transformer2.register_plugin(alloc(datalog::mk_unfold, m_ctx));
         while (num_unfolds > 0) {
             m_ctx.transform_rules(transformer2, mc, pc);        
     PRIVATE_PARAMS(p.insert(":simplify-formulas-pre", CPK_BOOL, "PDR: (default false) simplify derived formulas before inductive propagation"););
     PRIVATE_PARAMS(p.insert(":simplify-formulas-post", CPK_BOOL, "PDR: (default false) simplify derived formulas after inductive propagation"););
     p.insert(":slice", CPK_BOOL, "PDR: (default true) simplify clause set using slicing");
+    p.insert(":coalesce-rules", CPK_BOOL, "PDR: (default false) coalesce rules");
 }