* iface/gspn/eesrg.cc, iface/gspn/eesrg.hh, iface/gspn/gspn.cc,
iface/gspn/gspn.hh, src/tgba/bdddict.cc, src/tgba/bdddict.hh, src/tgba/bddprint.hh, src/tgba/succiter.hh, src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc, src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh, src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh, src/tgbaalgos/dotty.cc, src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptinesscheck.cc, src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/save.cc, src/tgbatest/explicit.cc, src/tgbatest/ltl2tgba.cc, src/tgbaparse/tgbaparse.yy, wrap/python/tests/ltl2tgba.py: Rewrite `accepting condition' as `acceptance condition'. The symbols which have been renamed are: tgba::all_accepting_conditions tgba::neg_accepting_conditions succ_iterator::current_accepting_conditions bdd_dict::register_accepting_variable bdd_dict::register_accepting_variables bdd_dict::is_registered_accepting_variable tgba_bdd_concrete_factory::declare_accepting_condition tgba_bdd_core_data::accepting_conditions tgba_bdd_core_data::all_accepting_conditions tgba_explicit::declare_accepting_condition tgba_explicit::complement_all_accepting_conditions tgba_explicit::has_accepting_condition tgba_explicit::get_accepting_condition tgba_explicit::add_accepting_condition tgba_explicit::all_accepting_conditions tgba_explicit::neg_accepting_conditions state_tba_proxy::acceptance_cond accepting_cond_splitter
This commit is contained in:
parent
334ae6e757
commit
e341cc9ab6
37 changed files with 312 additions and 272 deletions
|
|
@ -70,10 +70,10 @@ namespace spot
|
|||
// (a + b) & Next[a] & Next[b]
|
||||
// a & b & Next[a] & !Next[b]
|
||||
// Is this always correct? No! It depends on the
|
||||
// accepting conditions associated to each transition.
|
||||
// acceptance conditions associated to each transition.
|
||||
// We cannot merge transitions which have different
|
||||
// accepting conditions.
|
||||
// Let's label transitions with hypothetic accepting sets:
|
||||
// acceptance conditions.
|
||||
// Let's label transitions with hypothetic acceptance sets:
|
||||
// a & b & Next[a] & Next[b] ; Acc[1]
|
||||
// !a & b & Next[a] & Next[b] ; Acc[2]
|
||||
// a & !b & Next[a] & Next[b] ; Acc[2]
|
||||
|
|
@ -103,17 +103,17 @@ namespace spot
|
|||
|
||||
// Gather all transitions going to this destination...
|
||||
current_ = succ_set_left_ & dest;
|
||||
// ... and compute their accepting sets.
|
||||
bdd as = data_.accepting_conditions & current_;
|
||||
// ... and compute their acceptance sets.
|
||||
bdd as = data_.acceptance_conditions & current_;
|
||||
|
||||
// AS is false when no satisfaction of the current transition
|
||||
// belongs to an accepting set: current_ can be used as-is.
|
||||
// belongs to an acceptance set: current_ can be used as-is.
|
||||
if (as != bddfalse)
|
||||
{
|
||||
// Otherwise, we have accepting sets, and we should
|
||||
// Otherwise, we have acceptance sets, and we should
|
||||
// restrict current_ to a subset sharing the same
|
||||
// accepting conditions.
|
||||
// same accepting set.
|
||||
// acceptance conditions.
|
||||
// same acceptance set.
|
||||
|
||||
as = bdd_exist(as, data_.nownext_set);
|
||||
// as = (a | (!a)&b) & (Acc[a] | Acc[b]) + (!a & Acc[b])
|
||||
|
|
@ -125,7 +125,7 @@ namespace spot
|
|||
// current_acc_ = (Acc[a] | Acc[b])
|
||||
assert(current_acc_ != bddfalse);
|
||||
// Find other transitions included exactly in each of these
|
||||
// accepting sets and are not included in other sets.
|
||||
// acceptance sets and are not included in other sets.
|
||||
// Consider
|
||||
// !p.!Acc[g].Acc[f] + p.!Acc[g].Acc[f] + p.Acc[g].!Acc[f]
|
||||
// if current_acc_ = !Acc[g].Acc[f] we
|
||||
|
|
@ -133,11 +133,11 @@ namespace spot
|
|||
// belongs to !Acc[g].Acc[f] + Acc[g].!Acc[f], not
|
||||
// only !Acc[g].Acc[f].
|
||||
// So, first, filter out all transitions like p, which
|
||||
// are also in other accepting sets.
|
||||
// are also in other acceptance sets.
|
||||
bdd fout = bdd_relprod(as, !current_acc_, data_.acc_set);
|
||||
bdd as_fout = as - fout;
|
||||
// Then, pick the remaining term that are exactly in all
|
||||
// required accepting sets.
|
||||
// required acceptance sets.
|
||||
bdd all = bddtrue;
|
||||
bdd acc = current_acc_;
|
||||
do
|
||||
|
|
@ -188,7 +188,7 @@ namespace spot
|
|||
}
|
||||
|
||||
bdd
|
||||
tgba_succ_iterator_concrete::current_accepting_conditions() const
|
||||
tgba_succ_iterator_concrete::current_acceptance_conditions() const
|
||||
{
|
||||
assert(!done());
|
||||
return current_acc_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue