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:
parent
1a91208933
commit
5755a531f9
3 changed files with 13 additions and 14 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue