* src/ltlvisit/syntimpl.cc: Fix detection of purely eventual formulae.
This commit is contained in:
parent
2e15a93525
commit
5a39d40b2c
2 changed files with 16 additions and 11 deletions
|
|
@ -1,3 +1,7 @@
|
||||||
|
2005-05-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
|
* src/ltlvisit/syntimpl.cc: Fix detection of purely eventual formulae.
|
||||||
|
|
||||||
2005-05-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
2005-05-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
* src/tgbaalgos/ltl2tgba_fm.cc: Fix handling of fair_loop_approx.
|
* src/tgbaalgos/ltl2tgba_fm.cc: Fix handling of fair_loop_approx.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
|
|
@ -98,23 +98,24 @@ namespace spot
|
||||||
case binop::Xor:
|
case binop::Xor:
|
||||||
case binop::Equiv:
|
case binop::Equiv:
|
||||||
case binop::Implies:
|
case binop::Implies:
|
||||||
universal = recurse_un(f1) & recurse_un(f2);
|
universal = recurse_un(f1) && recurse_un(f2);
|
||||||
eventual = recurse_ev(f1) & recurse_ev(f2);
|
eventual = recurse_ev(f1) && recurse_ev(f2);
|
||||||
return;
|
return;
|
||||||
case binop::U:
|
case binop::U:
|
||||||
universal = recurse_un(f1) & recurse_un(f2);
|
universal = recurse_un(f1) & recurse_un(f2);
|
||||||
if ((f1 == constant::true_instance()) ||
|
if ((f1 == constant::true_instance())
|
||||||
(recurse_ev(f1)))
|
// Both operand must be purely eventual, unlike in
|
||||||
|
// the proceedings of Concur'00. (The revision of
|
||||||
|
// the paper available at
|
||||||
|
// http://www1.bell-labs.com/project/TMP/ is fixed.)
|
||||||
|
|| (recurse_ev(f1) && recurse_ev(f2)))
|
||||||
eventual = true;
|
eventual = true;
|
||||||
return;
|
return;
|
||||||
case binop::R:
|
case binop::R:
|
||||||
eventual = recurse_ev(f1) & recurse_ev(f2);
|
eventual = recurse_ev(f1) && recurse_ev(f2);
|
||||||
if ((f1 == constant::false_instance()))
|
if ((f1 == constant::false_instance())
|
||||||
//||
|
|| (recurse_un(f1) && recurse_un(f2)))
|
||||||
//(recurse_un(f1)))
|
|
||||||
universal = true;
|
universal = true;
|
||||||
if (!universal)
|
|
||||||
universal = recurse_un(f1) & recurse_un(f2);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* Unreachable code. */
|
/* Unreachable code. */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue