@@ -760,6 +760,11 @@ decision_proceduret::resultt string_refinementt::dec_solve()
760
760
return resultt::D_SATISFIABLE;
761
761
}
762
762
}
763
+ else
764
+ {
765
+ debug () << " check_SAT: got UNSAT or ERROR" << eom;
766
+ return res;
767
+ }
763
768
764
769
initial_index_set (index_set, current_index_set, ns, universal_axioms);
765
770
update_index_set (index_set, current_index_set, ns, current_constraints);
@@ -812,44 +817,21 @@ decision_proceduret::resultt string_refinementt::dec_solve()
812
817
// We will then relaunch the solver with these added lemmas.
813
818
current_index_set.clear ();
814
819
update_index_set (index_set, current_index_set, ns, current_constraints);
815
- current_constraints.clear ();
816
- for (const auto &lemma :
817
- generate_instantiations (
818
- debug (), current_index_set, universal_axioms))
819
- add_lemma (lemma);
820
- display_current_index_set (debug (), ns, current_index_set);
821
820
822
821
if (current_index_set.empty ())
823
822
{
824
823
debug () << " current index set is empty" << eom;
825
- if (config_.trace )
826
- {
827
- const auto lemmas=concretize_results (
828
- get,
829
- found_length,
830
- found_content,
831
- symbol_resolve,
832
- index_set,
833
- generator.max_string_length ,
834
- debug (),
835
- ns,
836
- generator.get_created_strings (),
837
- current_index_set,
838
- universal_axioms);
839
- for (const auto &lemma : lemmas)
840
- add_lemma (lemma);
841
- display_current_index_set (debug (), ns, current_index_set);
842
- return resultt::D_SATISFIABLE;
843
- }
844
- else
845
- {
846
- debug () << " check_SAT: the model is correct and "
847
- << " does not need concretizing" << eom;
848
- return resultt::D_SATISFIABLE;
849
- }
824
+ return resultt::D_ERROR;
850
825
}
851
826
852
827
display_index_set (debug (), ns, current_index_set, index_set);
828
+ current_constraints.clear ();
829
+ for (const auto &instance :
830
+ generate_instantiations (
831
+ debug (), current_index_set, universal_axioms))
832
+ add_lemma (instance);
833
+ display_current_index_set (debug (), ns, current_index_set);
834
+
853
835
debug () << " instantiating NOT_CONTAINS constraints" << ' \n ' ;
854
836
for (unsigned i=0 ; i<not_contains_axioms.size (); i++)
855
837
{
0 commit comments