Add support for unambiguous automata
* src/twaalgos/ltl2tgba_fm.hh, src/twaalgos/ltl2tgba_fm.cc: Implement generation of unambiguous automata. * src/tests/ltl2tgba.cc: Add option -fu to test it. * src/bin/common_post.cc: Adjust the group of options so we can easily add more from ltl2tgba.cc. * src/bin/ltl2tgba.cc: Add support for -U and --unambigous. * src/twaalgos/translate.cc, src/twaalgos/translate.hh: Add support for Unambiguous. * src/tests/ltlcross.test, src/tests/ltlcross2.test: Test both bin/ltl2tgba and tgbatest/ltl2tgba. * NEWS: Mention the change.
This commit is contained in:
parent
f55211336e
commit
9f3a7a49de
10 changed files with 154 additions and 23 deletions
|
|
@ -146,6 +146,7 @@ syntax(char* prog)
|
|||
<< "Options for Couvreur's FM algorithm (-f):" << std::endl
|
||||
<< " -fr reduce formula at each step of FM" << std::endl
|
||||
<< " as specified with the -r{1..7} options" << std::endl
|
||||
<< " -fu build unambiguous automata" << 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 "
|
||||
|
|
@ -330,6 +331,7 @@ checked_main(int argc, char** argv)
|
|||
bool fm_red = false;
|
||||
bool fm_exprop_opt = false;
|
||||
bool fm_symb_merge_opt = true;
|
||||
bool fm_unambiguous = false;
|
||||
bool file_opt = false;
|
||||
bool degen_reset = true;
|
||||
bool degen_order = false;
|
||||
|
|
@ -512,6 +514,12 @@ checked_main(int argc, char** argv)
|
|||
fm_red = true;
|
||||
translation = TransFM;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-fu"))
|
||||
{
|
||||
fm_unambiguous = true;
|
||||
fm_exprop_opt = true;
|
||||
translation = TransFM;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-F"))
|
||||
{
|
||||
file_opt = true;
|
||||
|
|
@ -1060,7 +1068,8 @@ checked_main(int argc, char** argv)
|
|||
post_branching,
|
||||
fair_loop_approx,
|
||||
unobservables,
|
||||
fm_red ? simp : 0);
|
||||
fm_red ? simp : 0,
|
||||
fm_unambiguous);
|
||||
break;
|
||||
case TransCompo:
|
||||
{
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ EOF
|
|||
../../bin/ltlcross --products=2 \
|
||||
"$ltl2tgba -t -f %f > %T" \
|
||||
"$ltl2tgba -t -f -y %f > %T" \
|
||||
"$ltl2tgba -t -f -fu %f > %T" \
|
||||
"$ltl2tgba -t -f -r4 %f > %T" \
|
||||
"$ltl2tgba -t -f -R3 %f > %T" \
|
||||
"$ltl2tgba -t -f -R3 -Rm %f > %T" \
|
||||
|
|
|
|||
|
|
@ -43,4 +43,6 @@ ltl2tgba=../../bin/ltl2tgba
|
|||
"$ltl2tgba --spin=6 --ba --medium %f > %N" \
|
||||
"$ltl2tgba --hoa -BDC %f > %H" \
|
||||
"$ltl2tgba --lbtt -BC %f > %T" \
|
||||
"$ltl2tgba --lbtt --unambiguous --low %f > %T" \
|
||||
"$ltl2tgba --lbtt --unambiguous --high %f > %T" \
|
||||
--json=output.json --csv=output.csv
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue