translate: extract obligations terms when translating LTL to Parity
* spot/twaalgos/translate.cc: Here. * NEWS: Mention the change. * tests/core/genltl.test: Add parity automata sizes for a set of formulas. * tests/core/parity2.test: Add another formula to the tests.
This commit is contained in:
parent
0690a547a5
commit
0a8c6479b7
4 changed files with 948 additions and 94 deletions
26
NEWS
26
NEWS
|
|
@ -64,10 +64,11 @@ New in spot 2.5.3.dev (not yet released)
|
||||||
|
|
||||||
These are now used by the main translation routine, and can be
|
These are now used by the main translation routine, and can be
|
||||||
disabled by passing -x '!gf-guarantee' to ltl2tgba. For example,
|
disabled by passing -x '!gf-guarantee' to ltl2tgba. For example,
|
||||||
here are the size of deterministic transition-based Büchi automata
|
here are the size of deterministic transition-based generalized
|
||||||
constructed from four GF(guarantee) formulas with two versions of
|
Büchi automata constructed from four GF(guarantee) formulas with
|
||||||
Spot, and converted to other types of deterministic automata by
|
two versions of Spot, and converted to other types of
|
||||||
other tools. "x(y)" means x states and y acceptance sets.
|
deterministic automata by other tools. "x(y)" means x states and
|
||||||
|
y acceptance sets.
|
||||||
|
|
||||||
ltl2tgba -D rabinizer 4
|
ltl2tgba -D rabinizer 4
|
||||||
2.5 2.6 delag ltl2dra
|
2.5 2.6 delag ltl2dra
|
||||||
|
|
@ -101,7 +102,7 @@ New in spot 2.5.3.dev (not yet released)
|
||||||
sizes of deterministic automata produced with generic acceptance
|
sizes of deterministic automata produced with generic acceptance
|
||||||
using two versions of ltl2tgba and delag for reference.
|
using two versions of ltl2tgba and delag for reference.
|
||||||
|
|
||||||
ltl2tgba -GD rabinizer 4
|
ltl2tgba -DG rabinizer 4
|
||||||
2.5 2.6 delag
|
2.5 2.6 delag
|
||||||
------------- -----------
|
------------- -----------
|
||||||
FGa0&GFb0 2(2) 1(2) 1(2)
|
FGa0&GFb0 2(2) 1(2) 1(2)
|
||||||
|
|
@ -120,9 +121,22 @@ New in spot 2.5.3.dev (not yet released)
|
||||||
FG(a|b)|FG(!a|Xb)|FG(a|XXb) 21(2) 4(3) 4(3)
|
FG(a|b)|FG(!a|Xb)|FG(a|XXb) 21(2) 4(3) 4(3)
|
||||||
FG(a|b)|FG(!a|Xb)|FG(a|XXb)|FG(!a|XXXb) 170(2) 8(4) 8(4)
|
FG(a|b)|FG(!a|Xb)|FG(a|XXb)|FG(!a|XXXb) 170(2) 8(4) 8(4)
|
||||||
|
|
||||||
|
- For 'parity' output, the 'ltl-split' optimization just separate
|
||||||
|
obligation subformulas from the rest, where a determinization is
|
||||||
|
still performed.
|
||||||
|
ltl2tgba -DP ltl3dra rabinizer 4
|
||||||
|
2.5 2.6 0.2.3 ltl2dpa
|
||||||
|
-------------- ------- -----------
|
||||||
|
FGp0 & (Gp1 | XFp2) 6(2) 4(1) 4(1) 4(2)
|
||||||
|
G!p0 | F(p0 & (!p1 W p2)) 5(2) 4(2) n/a 5(2)
|
||||||
|
(p0 W XXGp0) & GFp1 & FGp2 6(2) 5(2) n/a 6(3)
|
||||||
|
|
||||||
|
(The above just show a few cases that were improved. There are
|
||||||
|
many cases where ltl2dpa still produces smaller automata.)
|
||||||
|
|
||||||
- The automaton postprocessor will now simplify acceptance
|
- The automaton postprocessor will now simplify acceptance
|
||||||
conditions more aggressively, calling spot::simplify_acceptance()
|
conditions more aggressively, calling spot::simplify_acceptance()
|
||||||
or spot::cleanup_acceptance() depanding on the optimization level.
|
or spot::cleanup_acceptance() depending on the optimization level.
|
||||||
|
|
||||||
- print_dot(), used to print automata in GraphViz's format,
|
- print_dot(), used to print automata in GraphViz's format,
|
||||||
underwent several changes:
|
underwent several changes:
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,8 @@ namespace spot
|
||||||
twa_graph_ptr aut;
|
twa_graph_ptr aut;
|
||||||
twa_graph_ptr aut2 = nullptr;
|
twa_graph_ptr aut2 = nullptr;
|
||||||
|
|
||||||
if (ltl_split_ && type_ == Generic && !r.is_syntactic_obligation())
|
if (ltl_split_ && (type_ == Generic
|
||||||
|
|| (type_ & Parity)) && !r.is_syntactic_obligation())
|
||||||
{
|
{
|
||||||
formula r2 = r;
|
formula r2 = r;
|
||||||
unsigned leading_x = 0;
|
unsigned leading_x = 0;
|
||||||
|
|
@ -177,6 +178,8 @@ namespace spot
|
||||||
r2 = r2[0];
|
r2 = r2[0];
|
||||||
++leading_x;
|
++leading_x;
|
||||||
}
|
}
|
||||||
|
if (type_ == Generic)
|
||||||
|
{
|
||||||
// F(q|u|f) = q|F(u)|F(f)
|
// F(q|u|f) = q|F(u)|F(f)
|
||||||
// G(q&e&f) = q&G(e)&G(f)
|
// G(q&e&f) = q&G(e)&G(f)
|
||||||
bool want_u = r2.is({op::F, op::Or});
|
bool want_u = r2.is({op::F, op::Or});
|
||||||
|
|
@ -200,6 +203,7 @@ namespace spot
|
||||||
susp.push_back(formula::unop(op1, formula::multop(op2, rest)));
|
susp.push_back(formula::unop(op1, formula::multop(op2, rest)));
|
||||||
r2 = formula::multop(op2, susp);
|
r2 = formula::multop(op2, susp);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (r2.is_syntactic_obligation() || !r2.is(op::And, op::Or))
|
if (r2.is_syntactic_obligation() || !r2.is(op::And, op::Or))
|
||||||
goto nosplit;
|
goto nosplit;
|
||||||
|
|
||||||
|
|
@ -212,7 +216,8 @@ namespace spot
|
||||||
{
|
{
|
||||||
if (child.is_syntactic_obligation())
|
if (child.is_syntactic_obligation())
|
||||||
oblg.push_back(child);
|
oblg.push_back(child);
|
||||||
else if (child.is_eventual() && child.is_universal())
|
else if (child.is_eventual() && child.is_universal()
|
||||||
|
&& (type_ == Generic))
|
||||||
susp.push_back(child);
|
susp.push_back(child);
|
||||||
else
|
else
|
||||||
rest.push_back(child);
|
rest.push_back(child);
|
||||||
|
|
@ -243,6 +248,16 @@ namespace spot
|
||||||
if (!rest.empty())
|
if (!rest.empty())
|
||||||
{
|
{
|
||||||
formula rest_f = formula::multop(r2.kind(), rest);
|
formula rest_f = formula::multop(r2.kind(), rest);
|
||||||
|
// In case type_ is Parity, all suspendable formulas have
|
||||||
|
// been put into rest_f. But if the entire rest_f is
|
||||||
|
// suspendable, we want to handle it like so.
|
||||||
|
if (rest_f.is_eventual() && rest_f.is_universal())
|
||||||
|
{
|
||||||
|
assert(susp.empty());
|
||||||
|
susp.push_back(rest_f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
twa_graph_ptr rest_aut = transrun(rest_f);
|
twa_graph_ptr rest_aut = transrun(rest_f);
|
||||||
if (aut == nullptr)
|
if (aut == nullptr)
|
||||||
aut = rest_aut;
|
aut = rest_aut;
|
||||||
|
|
@ -251,6 +266,7 @@ namespace spot
|
||||||
else
|
else
|
||||||
aut = product_or(aut, rest_aut);
|
aut = product_or(aut, rest_aut);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!susp.empty())
|
if (!susp.empty())
|
||||||
{
|
{
|
||||||
twa_graph_ptr susp_aut = nullptr;
|
twa_graph_ptr susp_aut = nullptr;
|
||||||
|
|
|
||||||
|
|
@ -156,60 +156,61 @@ test $(genltl --kr-n=4 | ltl2tgba --low --stats=%s) -ge 16
|
||||||
genltl --ms-example=0..4 --ms-phi-r=0..2 --ms-phi-s=0..2 --ms-phi-h=0..4 \
|
genltl --ms-example=0..4 --ms-phi-r=0..2 --ms-phi-s=0..2 --ms-phi-h=0..4 \
|
||||||
--gf-equiv=0..5 --gf-implies=0..5 --gf-equiv-xn=1..3 --gf-implies-xn=3 \
|
--gf-equiv=0..5 --gf-implies=0..5 --gf-equiv-xn=1..3 --gf-implies-xn=3 \
|
||||||
--format='"%F=%L",%f' |
|
--format='"%F=%L",%f' |
|
||||||
ltl2tgba -G -D -F-/2 --stats='%<,%s' > out
|
ltl2tgba -G -D -F-/2 --stats='%f,%<,%s' |
|
||||||
|
ltl2tgba -P -D -F-/1 --stats='%>,%s' > out
|
||||||
cat >exp<<EOF
|
cat >exp<<EOF
|
||||||
"ms-example=0,0",1
|
"ms-example=0,0",1,1
|
||||||
"ms-example=0,1",2
|
"ms-example=0,1",2,2
|
||||||
"ms-example=0,2",3
|
"ms-example=0,2",3,3
|
||||||
"ms-example=0,3",4
|
"ms-example=0,3",4,4
|
||||||
"ms-example=0,4",5
|
"ms-example=0,4",5,5
|
||||||
"ms-example=1,0",1
|
"ms-example=1,0",1,1
|
||||||
"ms-example=1,1",2
|
"ms-example=1,1",2,2
|
||||||
"ms-example=1,2",3
|
"ms-example=1,2",3,3
|
||||||
"ms-example=1,3",4
|
"ms-example=1,3",4,4
|
||||||
"ms-example=1,4",5
|
"ms-example=1,4",5,5
|
||||||
"ms-example=2,0",2
|
"ms-example=2,0",2,2
|
||||||
"ms-example=2,1",3
|
"ms-example=2,1",3,3
|
||||||
"ms-example=2,2",4
|
"ms-example=2,2",4,4
|
||||||
"ms-example=2,3",5
|
"ms-example=2,3",5,5
|
||||||
"ms-example=2,4",6
|
"ms-example=2,4",6,6
|
||||||
"ms-example=3,0",4
|
"ms-example=3,0",4,4
|
||||||
"ms-example=3,1",5
|
"ms-example=3,1",5,5
|
||||||
"ms-example=3,2",6
|
"ms-example=3,2",6,6
|
||||||
"ms-example=3,3",7
|
"ms-example=3,3",7,7
|
||||||
"ms-example=3,4",8
|
"ms-example=3,4",8,8
|
||||||
"ms-example=4,0",8
|
"ms-example=4,0",8,8
|
||||||
"ms-example=4,1",9
|
"ms-example=4,1",9,9
|
||||||
"ms-example=4,2",10
|
"ms-example=4,2",10,10
|
||||||
"ms-example=4,3",11
|
"ms-example=4,3",11,11
|
||||||
"ms-example=4,4",12
|
"ms-example=4,4",12,12
|
||||||
"ms-phi-r=0",1
|
"ms-phi-r=0",1,2
|
||||||
"ms-phi-r=1",1
|
"ms-phi-r=1",1,16
|
||||||
"ms-phi-r=2",1
|
"ms-phi-r=2",1,29
|
||||||
"ms-phi-s=0",1
|
"ms-phi-s=0",1,5
|
||||||
"ms-phi-s=1",1
|
"ms-phi-s=1",1,8
|
||||||
"ms-phi-s=2",1
|
"ms-phi-s=2",1,494
|
||||||
"ms-phi-h=0",1
|
"ms-phi-h=0",1,1
|
||||||
"ms-phi-h=1",2
|
"ms-phi-h=1",2,3
|
||||||
"ms-phi-h=2",4
|
"ms-phi-h=2",4,7
|
||||||
"ms-phi-h=3",8
|
"ms-phi-h=3",8,15
|
||||||
"ms-phi-h=4",16
|
"ms-phi-h=4",16,31
|
||||||
"gf-equiv=0",1
|
"gf-equiv=0",1,1
|
||||||
"gf-equiv=1",1
|
"gf-equiv=1",1,4
|
||||||
"gf-equiv=2",1
|
"gf-equiv=2",1,8
|
||||||
"gf-equiv=3",1
|
"gf-equiv=3",1,21
|
||||||
"gf-equiv=4",1
|
"gf-equiv=4",1,81
|
||||||
"gf-equiv=5",1
|
"gf-equiv=5",1,431
|
||||||
"gf-implies=0",1
|
"gf-implies=0",1,1
|
||||||
"gf-implies=1",1
|
"gf-implies=1",1,5
|
||||||
"gf-implies=2",1
|
"gf-implies=2",1,12
|
||||||
"gf-implies=3",1
|
"gf-implies=3",1,41
|
||||||
"gf-implies=4",1
|
"gf-implies=4",1,186
|
||||||
"gf-implies=5",1
|
"gf-implies=5",1,1047
|
||||||
"gf-equiv-xn=1",2
|
"gf-equiv-xn=1",2,2
|
||||||
"gf-equiv-xn=2",4
|
"gf-equiv-xn=2",4,4
|
||||||
"gf-equiv-xn=3",8
|
"gf-equiv-xn=3",8,8
|
||||||
"gf-implies-xn=3",1
|
"gf-implies-xn=3",1,1
|
||||||
EOF
|
EOF
|
||||||
diff out exp
|
diff out exp
|
||||||
|
|
||||||
|
|
@ -217,7 +218,8 @@ diff out exp
|
||||||
genltl --ms-example=0..4 --ms-phi-r=0..2 --ms-phi-s=0..2 --ms-phi-h=0..4 \
|
genltl --ms-example=0..4 --ms-phi-r=0..2 --ms-phi-s=0..2 --ms-phi-h=0..4 \
|
||||||
--gf-equiv=0..5 --gf-implies=0..5 --gf-equiv-xn=1..3 --gf-implies-xn=3 \
|
--gf-equiv=0..5 --gf-implies=0..5 --gf-equiv-xn=1..3 --gf-implies-xn=3 \
|
||||||
--format='"%F=%L",%f' |
|
--format='"%F=%L",%f' |
|
||||||
ltldo -F-/2 'ltl2tgba -G -D' --stats='%<,%s' > out
|
ltldo 'ltl2tgba -DG' -F-/2 --stats='%f,%<,%s' |
|
||||||
|
ltldo 'ltl2tgba -DP' -F-/1 --stats='%>,%s' > out
|
||||||
diff out exp
|
diff out exp
|
||||||
|
|
||||||
# Test out-of-range conditions
|
# Test out-of-range conditions
|
||||||
|
|
|
||||||
|
|
@ -21,13 +21,13 @@
|
||||||
. ./defs
|
. ./defs
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
rm -rf res res2
|
|
||||||
|
|
||||||
for x in P 'Pmin odd' 'Pmax even' p 'pmin odd' 'pmax even'; do
|
for x in P 'Pmin odd' 'Pmax even' p 'pmin odd' 'pmax even'; do
|
||||||
ltl2tgba "-$x" FGa 'GFa & GFb' >>res
|
ltl2tgba "-$x" FGa 'GFa & GFb' '(p0 W XXGp0) & GFp1 & FGp2' >>res
|
||||||
ltl2tgba FGa 'GFa & GFb' | autfilt --name=%M --high "-$x" >>res2
|
ltl2tgba FGa 'GFa & GFb' '(p0 W XXGp0) & GFp1 & FGp2' |
|
||||||
ltl2tgba -D "-$x" FGa 'GFa & GFb' >>res3
|
autfilt --name=%M --high "-$x" >>res2
|
||||||
ltl2tgba FGa 'GFa & GFb' | autfilt -D --name=%M --high "-$x" >>res4
|
ltl2tgba -D "-$x" FGa 'GFa & GFb' '(p0 W XXGp0) & GFp1 & FGp2' >>res3
|
||||||
|
ltl2tgba FGa 'GFa & GFb' '(p0 W XXGp0) & GFp1 & FGp2' |
|
||||||
|
autfilt -D --name=%M --high "-$x" >>res4
|
||||||
done
|
done
|
||||||
|
|
||||||
cat >expected<<EOF
|
cat >expected<<EOF
|
||||||
|
|
@ -64,6 +64,33 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Buchi
|
||||||
|
Acceptance: 1 Inf(0)
|
||||||
|
properties: trans-labels explicit-labels trans-acc
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0
|
||||||
|
[!0] 1
|
||||||
|
[0&1&2] 2
|
||||||
|
State: 1
|
||||||
|
[t] 3
|
||||||
|
[1&2] 4
|
||||||
|
State: 2
|
||||||
|
[!0] 1
|
||||||
|
[0&!1&2] 2
|
||||||
|
[0&1&2] 2 {0}
|
||||||
|
State: 3
|
||||||
|
[0] 3
|
||||||
|
[0&1&2] 4
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -96,6 +123,33 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Rabin 1
|
||||||
|
Acceptance: 2 Fin(0) & Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0
|
||||||
|
[!0] 1
|
||||||
|
[0&1&2] 2
|
||||||
|
State: 1
|
||||||
|
[t] 3
|
||||||
|
[1&2] 4
|
||||||
|
State: 2
|
||||||
|
[!0] 1
|
||||||
|
[0&!1&2] 2
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 3
|
||||||
|
[0] 3
|
||||||
|
[0&1&2] 4
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -128,6 +182,33 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Buchi
|
||||||
|
Acceptance: 1 Inf(0)
|
||||||
|
properties: trans-labels explicit-labels trans-acc
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0
|
||||||
|
[!0] 1
|
||||||
|
[0&1&2] 2
|
||||||
|
State: 1
|
||||||
|
[t] 3
|
||||||
|
[1&2] 4
|
||||||
|
State: 2
|
||||||
|
[!0] 1
|
||||||
|
[0&!1&2] 2
|
||||||
|
[0&1&2] 2 {0}
|
||||||
|
State: 3
|
||||||
|
[0] 3
|
||||||
|
[0&1&2] 4
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -160,6 +241,33 @@ State: 1
|
||||||
[!0] 1 {0}
|
[!0] 1 {0}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 3
|
||||||
|
Acceptance: 3 Inf(2) | (Fin(1) & Inf(0))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0 {1}
|
||||||
|
[!0] 1 {0}
|
||||||
|
[0&1&2] 2 {0}
|
||||||
|
State: 1
|
||||||
|
[t] 3 {0}
|
||||||
|
[1&2] 4 {0}
|
||||||
|
State: 2
|
||||||
|
[!0] 1 {0}
|
||||||
|
[0&!1&2] 2 {1}
|
||||||
|
[0&1&2] 2 {2}
|
||||||
|
State: 3
|
||||||
|
[0] 3 {1}
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4 {1}
|
||||||
|
[0&1&2] 4 {2}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -192,6 +300,33 @@ State: 1
|
||||||
[!0] 1 {2}
|
[!0] 1 {2}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity min odd 4
|
||||||
|
Acceptance: 4 Fin(0) & (Inf(1) | (Fin(2) & Inf(3)))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0 {2}
|
||||||
|
[!0] 1 {3}
|
||||||
|
[0&1&2] 2 {3}
|
||||||
|
State: 1
|
||||||
|
[t] 3 {3}
|
||||||
|
[1&2] 4 {3}
|
||||||
|
State: 2
|
||||||
|
[!0] 1 {3}
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
[0&!1&2] 2 {2}
|
||||||
|
State: 3
|
||||||
|
[0] 3 {2}
|
||||||
|
[0&1&2] 4 {3}
|
||||||
|
State: 4
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
[0&!1&2] 4 {2}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -223,6 +358,33 @@ State: 1
|
||||||
[0] 0 {2}
|
[0] 0 {2}
|
||||||
[!0] 1 {1}
|
[!0] 1 {1}
|
||||||
--END--
|
--END--
|
||||||
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 3
|
||||||
|
Acceptance: 3 Inf(2) | (Fin(1) & Inf(0))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0 {1}
|
||||||
|
[!0] 1 {1}
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 1
|
||||||
|
[t] 3 {1}
|
||||||
|
[1&2] 4 {1}
|
||||||
|
State: 2
|
||||||
|
[!0] 1 {1}
|
||||||
|
[0&!1&2] 2 {1}
|
||||||
|
[0&1&2] 2 {2}
|
||||||
|
State: 3
|
||||||
|
[0] 3 {1}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4 {1}
|
||||||
|
[0&1&2] 4 {2}
|
||||||
|
--END--
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
diff expected res
|
diff expected res
|
||||||
|
|
@ -263,6 +425,35 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 6
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Buchi
|
||||||
|
Acceptance: 1 Inf(0)
|
||||||
|
properties: trans-labels explicit-labels trans-acc
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0
|
||||||
|
[t] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
State: 1
|
||||||
|
[2] 4
|
||||||
|
State: 2
|
||||||
|
[1&2] 4
|
||||||
|
[t] 5
|
||||||
|
State: 3
|
||||||
|
[2] 1
|
||||||
|
[0&!1&2] 3
|
||||||
|
[0&1&2] 3 {0}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
State: 5
|
||||||
|
[0&1&2] 4
|
||||||
|
[0] 5
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -297,6 +488,35 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 6
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Rabin 1
|
||||||
|
Acceptance: 2 Fin(0) & Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0
|
||||||
|
[t] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
State: 1
|
||||||
|
[2] 4
|
||||||
|
State: 2
|
||||||
|
[1&2] 4
|
||||||
|
[t] 5
|
||||||
|
State: 3
|
||||||
|
[2] 1
|
||||||
|
[0&!1&2] 3
|
||||||
|
[0&1&2] 3 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 5
|
||||||
|
[0&1&2] 4
|
||||||
|
[0] 5
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -331,6 +551,35 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 6
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Buchi
|
||||||
|
Acceptance: 1 Inf(0)
|
||||||
|
properties: trans-labels explicit-labels trans-acc
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0
|
||||||
|
[t] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
State: 1
|
||||||
|
[2] 4
|
||||||
|
State: 2
|
||||||
|
[1&2] 4
|
||||||
|
[t] 5
|
||||||
|
State: 3
|
||||||
|
[2] 1
|
||||||
|
[0&!1&2] 3
|
||||||
|
[0&1&2] 3 {0}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
State: 5
|
||||||
|
[0&1&2] 4
|
||||||
|
[0] 5
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -365,6 +614,35 @@ State: 1
|
||||||
[!0] 1 {0}
|
[!0] 1 {0}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 6
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Streett 1
|
||||||
|
Acceptance: 2 Fin(0) | Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0 {0}
|
||||||
|
[t] 2 {0}
|
||||||
|
[0&1&2] 3 {0}
|
||||||
|
State: 1
|
||||||
|
[2] 4 {0}
|
||||||
|
State: 2
|
||||||
|
[1&2] 4 {0}
|
||||||
|
[t] 5 {0}
|
||||||
|
State: 3
|
||||||
|
[2] 1 {0}
|
||||||
|
[0&!1&2] 3 {0}
|
||||||
|
[0&1&2] 3 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4 {0}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 5
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
[0] 5 {0}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -399,6 +677,35 @@ State: 1
|
||||||
[!0] 1 {2}
|
[!0] 1 {2}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 6
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity min odd 3
|
||||||
|
Acceptance: 3 Fin(0) & (Inf(1) | Fin(2))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0 {2}
|
||||||
|
[t] 2 {2}
|
||||||
|
[0&1&2] 3 {2}
|
||||||
|
State: 1
|
||||||
|
[2] 4 {2}
|
||||||
|
State: 2
|
||||||
|
[1&2] 4 {2}
|
||||||
|
[t] 5 {2}
|
||||||
|
State: 3
|
||||||
|
[2] 1 {2}
|
||||||
|
[0&!1&2] 3 {2}
|
||||||
|
[0&1&2] 3 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4 {2}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 5
|
||||||
|
[0&1&2] 4 {2}
|
||||||
|
[0] 5 {2}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -432,6 +739,35 @@ State: 1
|
||||||
[0] 0 {2}
|
[0] 0 {2}
|
||||||
[!0] 1 {1}
|
[!0] 1 {1}
|
||||||
--END--
|
--END--
|
||||||
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 6
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 3
|
||||||
|
Acceptance: 3 Inf(2) | (Fin(1) & Inf(0))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0] 0 {1}
|
||||||
|
[t] 2 {1}
|
||||||
|
[0&1&2] 3 {1}
|
||||||
|
State: 1
|
||||||
|
[2] 4 {1}
|
||||||
|
State: 2
|
||||||
|
[1&2] 4 {1}
|
||||||
|
[t] 5 {1}
|
||||||
|
State: 3
|
||||||
|
[2] 1 {1}
|
||||||
|
[0&!1&2] 3 {1}
|
||||||
|
[0&1&2] 3 {2}
|
||||||
|
State: 4
|
||||||
|
[0&!1&2] 4 {1}
|
||||||
|
[0&1&2] 4 {2}
|
||||||
|
State: 5
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
[0] 5 {1}
|
||||||
|
--END--
|
||||||
EOF
|
EOF
|
||||||
diff expected2 res2
|
diff expected2 res2
|
||||||
|
|
||||||
|
|
@ -469,6 +805,35 @@ State: 1
|
||||||
[0&1] 1 {0}
|
[0&1] 1 {0}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Rabin 1
|
||||||
|
Acceptance: 2 Fin(0) & Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0&!1 | 0&!2] 0
|
||||||
|
[!0] 1
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 3
|
||||||
|
[1&2] 4
|
||||||
|
State: 2
|
||||||
|
[0&!2] 0 {0}
|
||||||
|
[!0] 1
|
||||||
|
[0&!1&2] 2
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 3
|
||||||
|
[0&!1 | 0&!2] 3
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!2] 3 {0}
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -501,6 +866,35 @@ State: 1
|
||||||
[0&1] 1 {1}
|
[0&1] 1 {1}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Rabin 1
|
||||||
|
Acceptance: 2 Fin(0) & Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0&!1 | 0&!2] 0
|
||||||
|
[!0] 1
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 3
|
||||||
|
[1&2] 4
|
||||||
|
State: 2
|
||||||
|
[0&!2] 0 {0}
|
||||||
|
[!0] 1
|
||||||
|
[0&!1&2] 2
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 3
|
||||||
|
[0&!1 | 0&!2] 3
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!2] 3 {0}
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -533,6 +927,35 @@ State: 1
|
||||||
[0&1] 1 {0}
|
[0&1] 1 {0}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 2
|
||||||
|
Acceptance: 2 Fin(1) & Inf(0)
|
||||||
|
properties: trans-labels explicit-labels trans-acc deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0&!1 | 0&!2] 0
|
||||||
|
[!0] 1
|
||||||
|
[0&1&2] 2 {0}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 3
|
||||||
|
[1&2] 4
|
||||||
|
State: 2
|
||||||
|
[0&!2] 0 {1}
|
||||||
|
[!0] 1
|
||||||
|
[0&!1&2] 2
|
||||||
|
[0&1&2] 2 {0}
|
||||||
|
State: 3
|
||||||
|
[0&!1 | 0&!2] 3
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
State: 4
|
||||||
|
[0&!2] 3 {1}
|
||||||
|
[0&!1&2] 4
|
||||||
|
[0&1&2] 4 {0}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -565,6 +988,36 @@ State: 1
|
||||||
[0&1] 1 {1}
|
[0&1] 1 {1}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity min odd 4
|
||||||
|
Acceptance: 4 Fin(0) & (Inf(1) | (Fin(2) & Inf(3)))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
properties: deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0&!1 | 0&!2] 0 {2}
|
||||||
|
[!0] 1 {3}
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 3 {3}
|
||||||
|
[1&2] 4 {3}
|
||||||
|
State: 2
|
||||||
|
[0&!2] 0 {0}
|
||||||
|
[!0] 1 {3}
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
[0&!1&2] 2 {2}
|
||||||
|
State: 3
|
||||||
|
[0&!1 | 0&!2] 3 {2}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!2] 3 {0}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
[0&!1&2] 4 {2}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -597,6 +1050,36 @@ State: 1
|
||||||
[0&1] 1 {1}
|
[0&1] 1 {1}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity min odd 4
|
||||||
|
Acceptance: 4 Fin(0) & (Inf(1) | (Fin(2) & Inf(3)))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
properties: deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0&!1 | 0&!2] 0 {2}
|
||||||
|
[!0] 1 {3}
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 3 {3}
|
||||||
|
[1&2] 4 {3}
|
||||||
|
State: 2
|
||||||
|
[0&!2] 0 {0}
|
||||||
|
[!0] 1 {3}
|
||||||
|
[0&1&2] 2 {1}
|
||||||
|
[0&!1&2] 2 {2}
|
||||||
|
State: 3
|
||||||
|
[0&!1 | 0&!2] 3 {2}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!2] 3 {0}
|
||||||
|
[0&1&2] 4 {1}
|
||||||
|
[0&!1&2] 4 {2}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 1
|
States: 1
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -628,6 +1111,36 @@ State: 1
|
||||||
[!0] 1 {1}
|
[!0] 1 {1}
|
||||||
[0&1] 1 {2}
|
[0&1] 1 {2}
|
||||||
--END--
|
--END--
|
||||||
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 5
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 4
|
||||||
|
Acceptance: 4 Fin(3) & (Inf(2) | (Fin(1) & Inf(0)))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
properties: deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[0&!1 | 0&!2] 0 {1}
|
||||||
|
[!0] 1 {1}
|
||||||
|
[0&1&2] 2 {2}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 3 {1}
|
||||||
|
[1&2] 4 {1}
|
||||||
|
State: 2
|
||||||
|
[0&!2] 0 {3}
|
||||||
|
[!0] 1 {1}
|
||||||
|
[0&!1&2] 2 {1}
|
||||||
|
[0&1&2] 2 {2}
|
||||||
|
State: 3
|
||||||
|
[0&!1 | 0&!2] 3 {1}
|
||||||
|
[0&1&2] 4 {2}
|
||||||
|
State: 4
|
||||||
|
[0&!2] 3 {3}
|
||||||
|
[0&!1&2] 4 {1}
|
||||||
|
[0&1&2] 4 {2}
|
||||||
|
--END--
|
||||||
EOF
|
EOF
|
||||||
diff expected3 res3
|
diff expected3 res3
|
||||||
|
|
||||||
|
|
@ -668,6 +1181,57 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 10
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Rabin 1
|
||||||
|
Acceptance: 2 Fin(0) & Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[!0] 1
|
||||||
|
[0&!1 | 0&!2] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 4
|
||||||
|
[1&2] 5
|
||||||
|
State: 2
|
||||||
|
[!0&!1 | !0&!2] 1
|
||||||
|
[0&!1 | 0&!2] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
[!0&1&2] 6
|
||||||
|
State: 3
|
||||||
|
[!0&!2] 1
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&!1&2] 7
|
||||||
|
[!0&1&2] 8
|
||||||
|
[0&!1&2] 9
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1 | 0&!2] 4
|
||||||
|
[0&1&2] 5
|
||||||
|
State: 5
|
||||||
|
[0&!2] 4 {0}
|
||||||
|
[0&!1&2] 5
|
||||||
|
[0&1&2] 5 {1}
|
||||||
|
State: 6
|
||||||
|
[!0&!1 | !2] 4
|
||||||
|
[0&2 | 1&2] 5
|
||||||
|
State: 7
|
||||||
|
[!2] 4
|
||||||
|
[2] 5
|
||||||
|
State: 8
|
||||||
|
[!2] 4
|
||||||
|
[2] 5
|
||||||
|
State: 9
|
||||||
|
[!0&!2] 1
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&2] 8
|
||||||
|
[0&!1&2] 9
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -703,6 +1267,57 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 10
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: Rabin 1
|
||||||
|
Acceptance: 2 Fin(0) & Inf(1)
|
||||||
|
properties: trans-labels explicit-labels trans-acc deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[!0] 1
|
||||||
|
[0&!1 | 0&!2] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 4
|
||||||
|
[1&2] 5
|
||||||
|
State: 2
|
||||||
|
[!0&!1 | !0&!2] 1
|
||||||
|
[0&!1 | 0&!2] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
[!0&1&2] 6
|
||||||
|
State: 3
|
||||||
|
[!0&!2] 1
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&!1&2] 7
|
||||||
|
[!0&1&2] 8
|
||||||
|
[0&!1&2] 9
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1 | 0&!2] 4
|
||||||
|
[0&1&2] 5
|
||||||
|
State: 5
|
||||||
|
[0&!2] 4 {0}
|
||||||
|
[0&!1&2] 5
|
||||||
|
[0&1&2] 5 {1}
|
||||||
|
State: 6
|
||||||
|
[!0&!1 | !2] 4
|
||||||
|
[0&2 | 1&2] 5
|
||||||
|
State: 7
|
||||||
|
[!2] 4
|
||||||
|
[2] 5
|
||||||
|
State: 8
|
||||||
|
[!2] 4
|
||||||
|
[2] 5
|
||||||
|
State: 9
|
||||||
|
[!0&!2] 1
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&2] 8
|
||||||
|
[0&!1&2] 9
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -738,6 +1353,57 @@ State: 1
|
||||||
[!0] 1
|
[!0] 1
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 10
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 2
|
||||||
|
Acceptance: 2 Fin(1) & Inf(0)
|
||||||
|
properties: trans-labels explicit-labels trans-acc deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[!0] 1
|
||||||
|
[0&!1 | 0&!2] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 4
|
||||||
|
[1&2] 5
|
||||||
|
State: 2
|
||||||
|
[!0&!1 | !0&!2] 1
|
||||||
|
[0&!1 | 0&!2] 2
|
||||||
|
[0&1&2] 3
|
||||||
|
[!0&1&2] 6
|
||||||
|
State: 3
|
||||||
|
[!0&!2] 1
|
||||||
|
[0&!2] 2 {1}
|
||||||
|
[!0&!1&2] 7
|
||||||
|
[!0&1&2] 8
|
||||||
|
[0&!1&2] 9
|
||||||
|
[0&1&2] 9 {0}
|
||||||
|
State: 4
|
||||||
|
[0&!1 | 0&!2] 4
|
||||||
|
[0&1&2] 5
|
||||||
|
State: 5
|
||||||
|
[0&!2] 4 {1}
|
||||||
|
[0&!1&2] 5
|
||||||
|
[0&1&2] 5 {0}
|
||||||
|
State: 6
|
||||||
|
[!0&!1 | !2] 4
|
||||||
|
[0&2 | 1&2] 5
|
||||||
|
State: 7
|
||||||
|
[!2] 4
|
||||||
|
[2] 5
|
||||||
|
State: 8
|
||||||
|
[!2] 4
|
||||||
|
[2] 5
|
||||||
|
State: 9
|
||||||
|
[!0&!2] 1
|
||||||
|
[0&!2] 2 {1}
|
||||||
|
[!0&2] 8
|
||||||
|
[0&!1&2] 9
|
||||||
|
[0&1&2] 9 {0}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -773,6 +1439,58 @@ State: 1
|
||||||
[!0] 1 {0}
|
[!0] 1 {0}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 10
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity min odd 3
|
||||||
|
Acceptance: 3 Fin(0) & (Inf(1) | Fin(2))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
properties: deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[!0] 1 {2}
|
||||||
|
[0&!1 | 0&!2] 2 {2}
|
||||||
|
[0&1&2] 3 {2}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 4 {2}
|
||||||
|
[1&2] 5 {2}
|
||||||
|
State: 2
|
||||||
|
[!0&!1 | !0&!2] 1 {2}
|
||||||
|
[0&!1 | 0&!2] 2 {2}
|
||||||
|
[0&1&2] 3 {2}
|
||||||
|
[!0&1&2] 6 {2}
|
||||||
|
State: 3
|
||||||
|
[!0&!2] 1 {2}
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&!1&2] 7 {2}
|
||||||
|
[!0&1&2] 8 {2}
|
||||||
|
[0&!1&2] 9 {2}
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1 | 0&!2] 4 {2}
|
||||||
|
[0&1&2] 5 {2}
|
||||||
|
State: 5
|
||||||
|
[0&!2] 4 {0}
|
||||||
|
[0&!1&2] 5 {2}
|
||||||
|
[0&1&2] 5 {1}
|
||||||
|
State: 6
|
||||||
|
[!0&!1 | !2] 4 {2}
|
||||||
|
[0&2 | 1&2] 5 {2}
|
||||||
|
State: 7
|
||||||
|
[!2] 4 {2}
|
||||||
|
[2] 5 {2}
|
||||||
|
State: 8
|
||||||
|
[!2] 4 {2}
|
||||||
|
[2] 5 {2}
|
||||||
|
State: 9
|
||||||
|
[!0&!2] 1 {2}
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&2] 8 {2}
|
||||||
|
[0&!1&2] 9 {2}
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -808,6 +1526,58 @@ State: 1
|
||||||
[!0] 1 {2}
|
[!0] 1 {2}
|
||||||
--END--
|
--END--
|
||||||
HOA: v1
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 10
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity min odd 3
|
||||||
|
Acceptance: 3 Fin(0) & (Inf(1) | Fin(2))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
properties: deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[!0] 1 {2}
|
||||||
|
[0&!1 | 0&!2] 2 {2}
|
||||||
|
[0&1&2] 3 {2}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 4 {2}
|
||||||
|
[1&2] 5 {2}
|
||||||
|
State: 2
|
||||||
|
[!0&!1 | !0&!2] 1 {2}
|
||||||
|
[0&!1 | 0&!2] 2 {2}
|
||||||
|
[0&1&2] 3 {2}
|
||||||
|
[!0&1&2] 6 {2}
|
||||||
|
State: 3
|
||||||
|
[!0&!2] 1 {2}
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&!1&2] 7 {2}
|
||||||
|
[!0&1&2] 8 {2}
|
||||||
|
[0&!1&2] 9 {2}
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
State: 4
|
||||||
|
[0&!1 | 0&!2] 4 {2}
|
||||||
|
[0&1&2] 5 {2}
|
||||||
|
State: 5
|
||||||
|
[0&!2] 4 {0}
|
||||||
|
[0&!1&2] 5 {2}
|
||||||
|
[0&1&2] 5 {1}
|
||||||
|
State: 6
|
||||||
|
[!0&!1 | !2] 4 {2}
|
||||||
|
[0&2 | 1&2] 5 {2}
|
||||||
|
State: 7
|
||||||
|
[!2] 4 {2}
|
||||||
|
[2] 5 {2}
|
||||||
|
State: 8
|
||||||
|
[!2] 4 {2}
|
||||||
|
[2] 5 {2}
|
||||||
|
State: 9
|
||||||
|
[!0&!2] 1 {2}
|
||||||
|
[0&!2] 2 {0}
|
||||||
|
[!0&2] 8 {2}
|
||||||
|
[0&!1&2] 9 {2}
|
||||||
|
[0&1&2] 9 {1}
|
||||||
|
--END--
|
||||||
|
HOA: v1
|
||||||
name: "FGa"
|
name: "FGa"
|
||||||
States: 2
|
States: 2
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
@ -842,9 +1612,61 @@ State: 1
|
||||||
[0] 0 {2}
|
[0] 0 {2}
|
||||||
[!0] 1 {1}
|
[!0] 1 {1}
|
||||||
--END--
|
--END--
|
||||||
|
HOA: v1
|
||||||
|
name: "(p0 W XXGp0) & G(Fp1 & FGp2)"
|
||||||
|
States: 10
|
||||||
|
Start: 0
|
||||||
|
AP: 3 "p0" "p1" "p2"
|
||||||
|
acc-name: parity max even 4
|
||||||
|
Acceptance: 4 Fin(3) & (Inf(2) | (Fin(1) & Inf(0)))
|
||||||
|
properties: trans-labels explicit-labels trans-acc colored
|
||||||
|
properties: deterministic
|
||||||
|
--BODY--
|
||||||
|
State: 0
|
||||||
|
[!0] 1 {1}
|
||||||
|
[0&!1 | 0&!2] 2 {1}
|
||||||
|
[0&1&2] 3 {1}
|
||||||
|
State: 1
|
||||||
|
[!1 | !2] 4 {1}
|
||||||
|
[1&2] 5 {1}
|
||||||
|
State: 2
|
||||||
|
[!0&!1 | !0&!2] 1 {1}
|
||||||
|
[0&!1 | 0&!2] 2 {1}
|
||||||
|
[0&1&2] 3 {1}
|
||||||
|
[!0&1&2] 6 {1}
|
||||||
|
State: 3
|
||||||
|
[!0&!2] 1 {1}
|
||||||
|
[0&!2] 2 {3}
|
||||||
|
[!0&!1&2] 7 {1}
|
||||||
|
[!0&1&2] 8 {1}
|
||||||
|
[0&!1&2] 9 {1}
|
||||||
|
[0&1&2] 9 {2}
|
||||||
|
State: 4
|
||||||
|
[0&!1 | 0&!2] 4 {1}
|
||||||
|
[0&1&2] 5 {1}
|
||||||
|
State: 5
|
||||||
|
[0&!2] 4 {3}
|
||||||
|
[0&!1&2] 5 {1}
|
||||||
|
[0&1&2] 5 {2}
|
||||||
|
State: 6
|
||||||
|
[!0&!1 | !2] 4 {1}
|
||||||
|
[0&2 | 1&2] 5 {1}
|
||||||
|
State: 7
|
||||||
|
[!2] 4 {1}
|
||||||
|
[2] 5 {1}
|
||||||
|
State: 8
|
||||||
|
[!2] 4 {1}
|
||||||
|
[2] 5 {1}
|
||||||
|
State: 9
|
||||||
|
[!0&!2] 1 {1}
|
||||||
|
[0&!2] 2 {3}
|
||||||
|
[!0&2] 8 {1}
|
||||||
|
[0&!1&2] 9 {1}
|
||||||
|
[0&1&2] 9 {2}
|
||||||
|
--END--
|
||||||
EOF
|
EOF
|
||||||
diff expected4 res4
|
diff expected4 res4
|
||||||
|
|
||||||
ltlcross 'ltl2tgba -P' 'ltl2tgba -P"odd max"' 'ltl2tgba -P"even min"' \
|
ltlcross 'ltl2tgba -P' 'ltl2tgba -P"odd max"' 'ltl2tgba -P"even min"' \
|
||||||
'ltl2tgba -p' 'ltl2tgba -p"odd max"' 'ltl2tgba -p"even min"' \
|
'ltl2tgba -p' 'ltl2tgba -p"odd max"' 'ltl2tgba -p"even min"' \
|
||||||
-f FGa -f 'GFa&GFb' -f 'GF(a <-> XXXb)'
|
-f FGa -f 'GFa&GFb' -f 'GF(a <-> XXXb)' -f '(p0 W XXGp0) & GFp1 & FGp2'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue