* src/tgbatest/spotlbtt.test: We don't check the post-reduction

with scc and delayed simulation.

* src/tgbatest/ltl2tgba.cc: Adjust parameters.
* src/tgbatest/reductgba.cc, src/tgbatest/Makefile.am: More Test.
* src/tgbaalgos/reductgba_sim_del.cc: Not finish, lot of bugs.
* src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim.cc:
Remove some useless comments.
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh: Bug in SCC.

* src/ltlvisit/reducform.cc: Correct some bug for multop.
* src/ltltest/reduccmp.test: More Test.
* src/ltltest/reduc.cc: Thinko
* src/ltltest/equals.cc: Reduction compare
This commit is contained in:
martinez 2004-06-17 16:27:36 +00:00
parent 84e72c8764
commit c769f74750
16 changed files with 429 additions and 250 deletions

View file

@ -84,11 +84,8 @@ main(int argc, char** argv)
spot::ltl::formula* tmp;
tmp = f1;
f1 = spot::ltl::reduce(f1);
//std::string f2s = spot::ltl::to_string(f2);
//std::string f1s = spot::ltl::to_string(f1);
spot::ltl::destroy(tmp);
spot::ltl::dump(std::cout, f1);
//std::cout << f1s << " // " << f2s << std::endl;
#endif
int exit_code = f1 != f2;

View file

@ -179,6 +179,5 @@ main(int argc, char** argv)
assert(spot::ltl::binop::instance_count() == 0);
assert(spot::ltl::multop::instance_count() == 0);
//return exit_code;
return 0;
return exit_code;
}

View file

@ -25,6 +25,38 @@
. ./defs || exit 1
# No reduction
run 0 ./reduccmp 'a U b' 'a U b'
run 0 ./reduccmp 'a R b' 'a R b'
run 0 ./reduccmp 'a & b' 'a & b'
run 0 ./reduccmp 'a | b' 'a | b'
run 0 ./reduccmp 'a & (a U b)' 'a & (a U b)'
run 0 ./reduccmp 'a | (a U b)' 'a | (a U b)'
# Syntactic reduction
run 0 ./reduccmp 'a & (!b R !a)' 'false'
run 0 ./reduccmp '(!b R !a) & a' 'false'
run 0 ./reduccmp '(!b R !a) | a' 'true'
run 0 ./reduccmp 'a | (!b R !a)' 'true'
run 0 ./reduccmp 'a & (!b R !a) & c' 'false'
run 0 ./reduccmp 'c & (!b R !a) & a' 'false'
run 0 ./reduccmp 'a | (!b R !a) | c' 'true'
run 0 ./reduccmp 'c | (!b R !a) | a' 'true'
run 0 ./reduccmp 'a & (b U a)' 'a'
run 0 ./reduccmp '(b U a) & a' 'a'
run 0 ./reduccmp 'a | (b U a)' '(b U a)'
run 0 ./reduccmp '(b U a) | a' '(b U a)'
run 0 ./reduccmp 'a U (b U a)' '(b U a)'
run 0 ./reduccmp 'a & (b U a) & a' 'a'
run 0 ./reduccmp 'a & (b U a) & a' 'a'
run 0 ./reduccmp 'a | (b U a) | a' '(b U a)'
run 0 ./reduccmp 'a | (b U a) | a' '(b U a)'
run 0 ./reduccmp 'a U (b U a)' '(b U a)'
# Basics reduction
run 0 ./reduccmp 'X(true)' 'true'
run 0 ./reduccmp 'X(false)' 'false'
@ -67,8 +99,3 @@ run 0 ./reduccmp 'Ga' 'Ga'
run 0 ./reduccmp 'GFGa' 'FGa'
run 0 ./reduccmp 'b R Ga' 'Ga'
run 0 ./reduccmp 'b R FGa' 'FGa'
# Syntactic reduction
run 0 ./reduccmp 'a & (b U a)' 'a'
run 0 ./reduccmp 'a | (b U a)' '(b U a)'
run 0 ./reduccmp 'a U (b U a)' '(b U a)'

View file

@ -33,21 +33,6 @@ run 1 ./syntimpl 0 '(e R f)' '(g U f)'
run 1 ./syntimpl 0 '( X(a + b))' '( X((a + b)+(c)+(d)))'
run 1 ./syntimpl 0 '( X(a + b)) U (e R f)' '( X((a + b)+(c)+(d))) U (g U f)'
run 0 ./syntimpl 0 'Xa' 'XX(b U a)'
run 0 ./syntimpl 0 'XXa' 'X(b U a)'
run 0 ./syntimpl 0 '( X(a + b))' '( X(X(a + b)+(c)+(d)))'
run 0 ./syntimpl 0 '( X(a + b)) U (e R f)' '( X(X(a + b)+(c)+(d))) U (g U f)'
run 0 ./syntimpl 0 'a' 'b'
run 0 ./syntimpl 0 'a' 'b + c'
run 0 ./syntimpl 0 'a + b' 'a'
run 0 ./syntimpl 0 'a' 'a * c'
run 0 ./syntimpl 0 'a * b' 'c'
run 0 ./syntimpl 0 'a' 'a U b'
run 0 ./syntimpl 0 'a' 'a R b'
run 0 ./syntimpl 0 'a R b' 'a'
run 1 ./syntimpl 0 '1' '1'
run 1 ./syntimpl 0 '0' '0'
@ -81,3 +66,21 @@ run 1 ./syntimpl 0 'a R b' '1 R b'
run 1 ./syntimpl 0 'b * (a U b)' 'a U b'
run 1 ./syntimpl 0 'a U b' 'c + (a U b)'
run 0 ./syntimpl 0 'Xa' 'XX(b U a)'
run 0 ./syntimpl 0 'XXa' 'X(b U a)'
run 0 ./syntimpl 0 '( X(a + b))' '( X(X(a + b)+(c)+(d)))'
run 0 ./syntimpl 0 '( X(a + b)) U (e R f)' '( X(X(a + b)+(c)+(d))) U (g U f)'
run 0 ./syntimpl 0 'a' 'b'
run 0 ./syntimpl 0 'a' 'b + c'
run 0 ./syntimpl 0 'a + b' 'a'
run 0 ./syntimpl 0 'a' 'a * c'
run 0 ./syntimpl 0 'a * b' 'c'
run 0 ./syntimpl 0 'a' 'a U b'
run 0 ./syntimpl 0 'a' 'a R b'
run 0 ./syntimpl 0 'a R b' 'a'
run 0 ./syntimpl 0 'p2' 'p3 || G(p2 && p5)'
run 0 ./syntimpl 0 '!(p3 || G(p2 && p5))' '!p2'