* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Refine
fair_loop_approximation when branching postponement is not used.
This commit is contained in:
parent
040f8beec7
commit
faf4a2af26
2 changed files with 10 additions and 2 deletions
|
|
@ -1,5 +1,8 @@
|
|||
2004-05-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||
|
||||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Refine
|
||||
fair_loop_approximation when branching postponement is not used.
|
||||
|
||||
Cache formula translations, and canonize formulae before doing
|
||||
branching postponement.
|
||||
* src/tgbaalgos/ltl2tgba_fm.cc (formula_canonizer): New class, with
|
||||
|
|
|
|||
|
|
@ -684,6 +684,11 @@ namespace spot
|
|||
|
||||
std::string now = to_string(f);
|
||||
|
||||
// When branching_postponement is used, we must assume that
|
||||
// the source state is in a fair loop.
|
||||
bool pflc_from =
|
||||
(fair_loop_approx && !branching_postponement) ? pflc.check(f) : true;
|
||||
|
||||
// We used to factor only Next and A variables while computing
|
||||
// prime implicants, with
|
||||
// minato_isop isop(res, d.next_set & d.a_set);
|
||||
|
|
@ -752,8 +757,8 @@ namespace spot
|
|||
// If the destination cannot possibly be part of a fair
|
||||
// loop, make all possible promises.
|
||||
if (fair_loop_approx
|
||||
&& dest != constant::true_instance()
|
||||
&& !pflc.check(dest))
|
||||
&& !(dest == constant::true_instance()
|
||||
|| (pflc_from && pflc.check(dest))))
|
||||
label &= all_promises;
|
||||
|
||||
// If we are not postponing the branching, we can
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue