* 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:
parent
84e72c8764
commit
c769f74750
16 changed files with 429 additions and 250 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)'
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
Loading…
Add table
Add a link
Reference in a new issue