Add trivial identities for &&, <>->, []-> and Boolean arguments.
* src/ltlast/binop.cc (EConcat, UConcat): Rewrite "{b}<>-> f"
as "b && f", and rewrite "{b}[]->f" as "b->f".
* src/ltlast/binop.hh (binop::instance): Document trivial
identities for <>-> and []->.
* src/ltlast/multop.cc (multop::instance): Rewrite "b1 & b2"
as "b1 && b2" when b1 and b2 are Boolean.
(multop::multop): Always disable is.boolean for AndNLM.
* src/ltlast/multop.hh: Document the rewriting.
* src/ltltest/equals.cc: Show the two formulas if the exit_code
is 1, to help debugging.
* src/ltltest/equals.test: Add more tests.
* src/ltltest/kind.test: Adjust tests.
This commit is contained in:
parent
0e4e2a79b2
commit
a2da5184b5
7 changed files with 63 additions and 13 deletions
|
|
@ -49,10 +49,10 @@ check 'a M b' '&!xfLP'
|
|||
check 'a M 1' '&!xfLPe'
|
||||
check 'a R b' '&!xfLP'
|
||||
check '0 R b' '&!xfLPu'
|
||||
check '{a}|->!Xb' '&fP'
|
||||
check '{a}|->X!b' '&!fP'
|
||||
check '{a}|->!Gb' '&xP'
|
||||
check '{a}|->F!b' '&!xP'
|
||||
check '{a;b}|->!Xb' '&fP'
|
||||
check '{a;b}|->X!b' '&!fP'
|
||||
check '{a;b}|->!Gb' '&xP'
|
||||
check '{a;b}|->F!b' '&!xP'
|
||||
|
||||
run 0 ../consterm '1'
|
||||
run 0 ../consterm '0'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue