* src/tgba/tgbaexplicit.cc (tgba_explicit::get_acceptance_condition):
Do not treat true and false specially. Otherwise it breaks translation of F(false). * src/tgbatest/explprod.test, src/tgbatest/tripprod.test: Do not use true as acceptance condition. * src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor): Use Acc[b] as acceptance condition for Fb, not Acc[Fb]. After this change, degeneralized automata are 40% smaller
This commit is contained in:
parent
440029c1b5
commit
1d72cdc86e
5 changed files with 19 additions and 22 deletions
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
//
|
||||
|
|
@ -260,19 +260,6 @@ namespace spot
|
|||
bdd
|
||||
tgba_explicit::get_acceptance_condition(const ltl::formula* f)
|
||||
{
|
||||
const ltl::constant* c = dynamic_cast<const ltl::constant*>(f);
|
||||
if (c)
|
||||
{
|
||||
switch (c->val())
|
||||
{
|
||||
case ltl::constant::True:
|
||||
return bddtrue;
|
||||
case ltl::constant::False:
|
||||
return bddfalse;
|
||||
}
|
||||
/* Unreachable code. */
|
||||
assert(0);
|
||||
}
|
||||
bdd_dict::fv_map::iterator i = dict_->acc_map.find(f);
|
||||
assert(has_acceptance_condition(f));
|
||||
/* If this second assert fails and the first doesn't,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue