Rewrite {b}<>->f as (!b)|f instead of b->f.

* src/ltlast/binop.cc, src/ltlast/binop.hh: Here.
* doc/tl/tl.tex, src/ltltest/equals.test: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2011-11-13 18:12:53 +01:00
parent 098e121a36
commit f68f639e68
4 changed files with 8 additions and 7 deletions

View file

@ -520,7 +520,7 @@ namespace spot
// - 1 []-> Exp = Exp
// - [*0] []-> Exp = 1
// - Exp []-> 1 = 1
// - boolExp []-> Exp = boolExp -> Exp
// - boolExp []-> Exp = !boolExp | Exp
if (first == constant::true_instance())
return second;
if (first == constant::false_instance()
@ -535,7 +535,8 @@ namespace spot
return second;
}
if (first->is_boolean())
return binop::instance(binop::Implies, first, second);
return multop::instance(multop::Or,
unop::instance(unop::Not, first), second);
break;
}

View file

@ -105,7 +105,7 @@ namespace spot
/// - 1 []-> Exp = Exp
/// - [*0] []-> Exp = 1
/// - Exp []-> 1 = 1
/// - boolExp <>-> Exp = boolExp -> Exp
/// - boolExp <>-> Exp = !boolExp | Exp
static formula* instance(type op, formula* first, formula* second);
virtual void accept(visitor& v);