Fix a long-standing bug in the stronger rule for R and its recent

clone for M.

* src/ltlvisit/contain.cc (reduce_tau03_visitor): Remove
the stronger rules for R and M.  They were wrong.
* src/ltltest/reduccmp.test: Test a simpple counterexample.
This commit is contained in:
Alexandre Duret-Lutz 2010-04-15 14:57:19 +02:00
parent 1a91208933
commit 5755a531f9
3 changed files with 13 additions and 14 deletions

View file

@ -228,14 +228,8 @@ namespace spot
}
break;
case binop::R:
// if (a R b) => b, then keep b !
if (stronger && lcc->contained(b, bo))
{
a->destroy();
result_ = b;
}
// if b => a, then a R b = b.
else if ((!stronger) && lcc->contained(b, a))
if (lcc->contained(b, a))
{
a->destroy();
result_ = b;
@ -252,14 +246,8 @@ namespace spot
}
break;
case binop::M:
// if (a M b) => b, then keep b !
if (stronger && lcc->contained(b, bo))
{
a->destroy();
result_ = b;
}
// if b => a, then a M b = b.
else if ((!stronger) && lcc->contained(b, a))
if (lcc->contained(b, a))
{
a->destroy();
result_ = b;