* src/tgbatest/reduccmp.test: Bug.

* src/tgbatest/reductgba.test: More Test.

* src/tgbatest/ltl2tgba.cc: Adjust ...
* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/reductgba_sim.cc: try to optimize.

* src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc: Scc reduction
and we remove some acceptance condition in scc which are not accepting.
* src/ltlvisit/syntimpl.cc : Some case wasn't detect.
* src/ltlvisit/basicreduce.cc: Case FGa || FGb = F(Ga | Gb) added.
* src/ltltest/syntimpl.test: More Test.
* src/ltltest/syntimpl.cc: Put the formula in negative normal form.
This commit is contained in:
martinez 2004-06-28 15:53:20 +00:00
parent acee9e75a4
commit 8be67c1976
14 changed files with 771 additions and 231 deletions

View file

@ -425,6 +425,11 @@ namespace spot
unop* uo2 = dynamic_cast<unop*>(uo->child());
tmpGF->push_back(clone(uo2->child()));
}
else if (is_FG(*i))
{
// FG(a) | FG(b) = F(Ga | Gb)
tmpFG->push_back(clone(uo->child()));
}
else
{
tmpOther->push_back(clone(*i));
@ -501,8 +506,10 @@ namespace spot
destroy(*i);
}
delete tmpFG;
tmpFG = 0;
/*
delete tmpFG;
tmpFG = 0;
*/
break;
}
@ -546,11 +553,17 @@ namespace spot
if (tmpFG && tmpFG->size())
{
formula* ftmp
= unop::instance(unop::F,
unop::instance(unop::G,
multop::instance(mo->op(),
tmpFG)));
formula* ftmp = 0;
if (mo->op() == multop::And)
ftmp
= unop::instance(unop::F,
unop::instance(unop::G,
multop::instance(mo->op(),
tmpFG)));
else
ftmp
= unop::instance(unop::F,
multop::instance(mo->op(), tmpFG));
tmpOther->push_back(ftmp);
}
else if (tmpFG && !tmpFG->size())