sat: add missing prop_state_based_acc() call
Fixes #62. * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Add call to prop_state_based_acc() when building an automaton with state-based acceptance. * src/tgbatest/satmin2.test: New test. * doc/org/satmin.org: Update.
This commit is contained in:
parent
6712fa3c65
commit
72eed9b2e2
4 changed files with 17 additions and 8 deletions
|
|
@ -162,17 +162,17 @@ digraph G {
|
||||||
0 -> 0 [label=<!a & b>]
|
0 -> 0 [label=<!a & b>]
|
||||||
0 -> 1 [label=<!b>]
|
0 -> 1 [label=<!b>]
|
||||||
0 -> 2 [label=<a & b>]
|
0 -> 2 [label=<a & b>]
|
||||||
1 [label="1"]
|
1 [label="1", peripheries=2]
|
||||||
1 -> 4 [label=<!a<br/><font color="#5DA5DA">⓿</font>>]
|
1 -> 4 [label=<!a>]
|
||||||
1 -> 5 [label=<a<br/><font color="#5DA5DA">⓿</font>>]
|
1 -> 5 [label=<a>]
|
||||||
2 [label="2"]
|
2 [label="2"]
|
||||||
2 -> 1 [label=<!b>]
|
2 -> 1 [label=<!b>]
|
||||||
2 -> 4 [label=<!a & b>]
|
2 -> 4 [label=<!a & b>]
|
||||||
2 -> 5 [label=<a & b>]
|
2 -> 5 [label=<a & b>]
|
||||||
3 [label="3"]
|
3 [label="3", peripheries=2]
|
||||||
3 -> 0 [label=<!a<br/><font color="#5DA5DA">⓿</font>>]
|
3 -> 0 [label=<!a>]
|
||||||
3 -> 1 [label=<a & !b<br/><font color="#5DA5DA">⓿</font>>]
|
3 -> 1 [label=<a & !b>]
|
||||||
3 -> 2 [label=<a & b<br/><font color="#5DA5DA">⓿</font>>]
|
3 -> 2 [label=<a & b>]
|
||||||
4 [label="4"]
|
4 [label="4"]
|
||||||
4 -> 0 [label=<!a & !b>]
|
4 -> 0 [label=<!a & !b>]
|
||||||
4 -> 1 [label=<a & b>]
|
4 -> 1 [label=<a & b>]
|
||||||
|
|
|
||||||
|
|
@ -639,6 +639,8 @@ namespace spot
|
||||||
auto a = make_tgba_digraph(autdict);
|
auto a = make_tgba_digraph(autdict);
|
||||||
a->copy_ap_of(aut);
|
a->copy_ap_of(aut);
|
||||||
acc_cond::mark_t acc = a->set_single_acceptance_set();
|
acc_cond::mark_t acc = a->set_single_acceptance_set();
|
||||||
|
if (state_based)
|
||||||
|
a->prop_state_based_acc();
|
||||||
a->new_states(satdict.cand_size);
|
a->new_states(satdict.cand_size);
|
||||||
|
|
||||||
unsigned last_aut_trans = -1U;
|
unsigned last_aut_trans = -1U;
|
||||||
|
|
|
||||||
|
|
@ -780,7 +780,8 @@ namespace spot
|
||||||
auto a = make_tgba_digraph(autdict);
|
auto a = make_tgba_digraph(autdict);
|
||||||
a->copy_ap_of(aut);
|
a->copy_ap_of(aut);
|
||||||
a->set_generalized_buchi(satdict.cand_nacc);
|
a->set_generalized_buchi(satdict.cand_nacc);
|
||||||
|
if (state_based)
|
||||||
|
a->prop_state_based_acc();
|
||||||
a->new_states(satdict.cand_size);
|
a->new_states(satdict.cand_size);
|
||||||
|
|
||||||
// Last transition set in the automaton.
|
// Last transition set in the automaton.
|
||||||
|
|
|
||||||
|
|
@ -57,3 +57,9 @@ EOF
|
||||||
|
|
||||||
../ltl2tgba -RS1 -kt -XH input.hoa > output
|
../ltl2tgba -RS1 -kt -XH input.hoa > output
|
||||||
diff output expected
|
diff output expected
|
||||||
|
|
||||||
|
# At some point, this formula was correctly minimized, but
|
||||||
|
# the output was not marked as state-based.
|
||||||
|
../../bin/ltl2tgba -BD -x sat-minimize "GF(a <-> XXb)" -H >out
|
||||||
|
grep 'properties:.*state-acc' out
|
||||||
|
grep 'properties:.*deterministic' out
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue