Deprecate reduce() in favor of ltl_simplifier.
* src/ltlvisit/reduce.hh: Mark the file as obsolete. (reduce): Declare this function as obsolete. * src/ltlvisit/reduce.cc: Define SKIP_DEPRECATED_WARNING so we can include reduce.hh. * src/sanity/includes.test: Also use SKIP_DEPRECATED_WARNING when compiling headers. * iface/dve2/dve2check.cc, src/ltltest/equals.cc, src/ltltest/randltl.cc, src/ltltest/reduc.cc, src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbatest/randtgba.cc, wrap/python/ajax/spot.in, wrap/python/spot.i: Adjust to use ltl_simplifier. * src/tgbatest/ltl2tgba.cc: Adjust to use ltl_simplifier, and replace -fr1...-fr7 options by a single -fr option. * src/tgbatest/spotlbtt.test: Adjust -fr flags accordingly. * src/tgbatest/reductgba.cc: Do not include reduce.hh.
This commit is contained in:
parent
c0085a8f30
commit
67f4e8b5ce
15 changed files with 367 additions and 166 deletions
|
|
@ -132,13 +132,8 @@ syntax(char* prog)
|
|||
<< std::endl
|
||||
|
||||
<< "Options for Couvreur's FM algorithm (-f):" << std::endl
|
||||
<< " -fr1 use -r1 (see below) at each step of FM" << std::endl
|
||||
<< " -fr2 use -r2 (see below) at each step of FM" << std::endl
|
||||
<< " -fr3 use -r3 (see below) at each step of FM" << std::endl
|
||||
<< " -fr4 use -r4 (see below) at each step of FM" << std::endl
|
||||
<< " -fr5 use -r5 (see below) at each step of FM" << std::endl
|
||||
<< " -fr6 use -r6 (see below) at each step of FM" << std::endl
|
||||
<< " -fr7 use -r7 (see below) at each step of FM" << std::endl
|
||||
<< " -fr reduce formula at each step of FM" << std::endl
|
||||
<< " as specified with the -r{1..7} options" << std::endl
|
||||
<< " -L fair-loop approximation (implies -f)" << std::endl
|
||||
<< " -p branching postponement (implies -f)" << std::endl
|
||||
<< " -U[PROPS] consider atomic properties of the formula as "
|
||||
|
|
@ -291,7 +286,7 @@ main(int argc, char** argv)
|
|||
enum { TransitionLabeled, StateLabeled } labeling_opt = TransitionLabeled;
|
||||
enum { TransFM, TransLaCIM, TransLaCIM_ELTL, TransLaCIM_ELTL_ops, TransTAA }
|
||||
translation = TransFM;
|
||||
int fm_red = spot::ltl::Reduce_None;
|
||||
bool fm_red = false;
|
||||
bool fm_exprop_opt = false;
|
||||
bool fm_symb_merge_opt = true;
|
||||
bool file_opt = false;
|
||||
|
|
@ -305,8 +300,9 @@ main(int argc, char** argv)
|
|||
bool accepting_run_replay = false;
|
||||
bool from_file = false;
|
||||
bool read_neverclaim = false;
|
||||
int redopt = spot::ltl::Reduce_None;
|
||||
bool scc_filter = false;
|
||||
bool simpltl = false;
|
||||
spot::ltl::ltl_simplifier_options redopt(false, false, false, false, false);
|
||||
bool scc_filter_all = false;
|
||||
bool symbolic_scc_pruning = false;
|
||||
bool display_reduce_form = false;
|
||||
|
|
@ -422,42 +418,10 @@ main(int argc, char** argv)
|
|||
{
|
||||
translation = TransFM;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr1"))
|
||||
else if (!strcmp(argv[formula_index], "-fr"))
|
||||
{
|
||||
fm_red = true;
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_Basics;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr2"))
|
||||
{
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_Eventuality_And_Universality;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr3"))
|
||||
{
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_Syntactic_Implications;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr4"))
|
||||
{
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_Basics
|
||||
| spot::ltl::Reduce_Eventuality_And_Universality
|
||||
| spot::ltl::Reduce_Syntactic_Implications;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr5"))
|
||||
{
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_Containment_Checks;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr6"))
|
||||
{
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_Containment_Checks_Stronger;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fr7"))
|
||||
{
|
||||
translation = TransFM;
|
||||
fm_red |= spot::ltl::Reduce_All;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-F"))
|
||||
{
|
||||
|
|
@ -578,33 +542,45 @@ main(int argc, char** argv)
|
|||
}
|
||||
else if (!strcmp(argv[formula_index], "-r1"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_Basics;
|
||||
simpltl = true;
|
||||
redopt.reduce_basics = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-r2"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_Eventuality_And_Universality;
|
||||
simpltl = true;
|
||||
redopt.event_univ = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-r3"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_Syntactic_Implications;
|
||||
simpltl = true;
|
||||
redopt.synt_impl = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-r4"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_Basics
|
||||
| spot::ltl::Reduce_Eventuality_And_Universality
|
||||
| spot::ltl::Reduce_Syntactic_Implications;
|
||||
simpltl = true;
|
||||
redopt.reduce_basics = true;
|
||||
redopt.event_univ = true;
|
||||
redopt.synt_impl = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-r5"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_Containment_Checks;
|
||||
simpltl = true;
|
||||
redopt.containment_checks = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-r6"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_Containment_Checks_Stronger;
|
||||
simpltl = true;
|
||||
redopt.containment_checks = true;
|
||||
redopt.containment_checks_stronger = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-r7"))
|
||||
{
|
||||
redopt |= spot::ltl::Reduce_All;
|
||||
simpltl = true;
|
||||
redopt.reduce_basics = true;
|
||||
redopt.event_univ = true;
|
||||
redopt.synt_impl = true;
|
||||
redopt.containment_checks = true;
|
||||
redopt.containment_checks_stronger = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-R"))
|
||||
{
|
||||
|
|
@ -794,6 +770,7 @@ main(int argc, char** argv)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (f || from_file)
|
||||
{
|
||||
const spot::tgba_bdd_concrete* concrete = 0;
|
||||
|
|
@ -835,10 +812,14 @@ main(int argc, char** argv)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (redopt != spot::ltl::Reduce_None)
|
||||
spot::ltl::ltl_simplifier* simp = 0;
|
||||
if (simpltl)
|
||||
simp = new spot::ltl::ltl_simplifier(redopt);
|
||||
|
||||
if (simp)
|
||||
{
|
||||
tm.start("reducing formula");
|
||||
spot::ltl::formula* t = spot::ltl::reduce(f, redopt);
|
||||
spot::ltl::formula* t = simp->simplify(f);
|
||||
f->destroy();
|
||||
tm.stop("reducing formula");
|
||||
f = t;
|
||||
|
|
@ -855,7 +836,7 @@ main(int argc, char** argv)
|
|||
post_branching,
|
||||
fair_loop_approx,
|
||||
unobservables,
|
||||
fm_red);
|
||||
fm_red ? simp : 0);
|
||||
break;
|
||||
case TransTAA:
|
||||
a = spot::ltl_to_taa(f, dict, containment);
|
||||
|
|
@ -870,6 +851,8 @@ main(int argc, char** argv)
|
|||
}
|
||||
tm.stop("translating formula");
|
||||
to_free = a;
|
||||
|
||||
delete simp;
|
||||
}
|
||||
|
||||
if (opt_monitor && !scc_filter)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue