improve acceptance simplifications using useless colors
This fixes issue #418. * spot/twa/acc.cc, spot/twa/acc.hh (acc_cond::acc_code::useless_colors_patterns): New method to detect patterns of colors allowing other colors to be added or removed at will. * spot/twaalgos/cleanacc.cc (simplify_acceptance_here): Use the above patterns to remove some useless colors from transitions and hope that this can help simplify the acceptance condition. * spot/twaalgos/degen.cc (propagate_marks_vector): Use the pattern to add more colors. * tests/core/ltl2tgba2.test: Add the test case from issue #418. * tests/core/ltl2dstar4.test, tests/core/satmin3.test, tests/core/sccdot.test, tests/core/sim3.test, tests/python/automata.ipynb, tests/python/decompose.ipynb, tests/python/merge.py, tests/python/pdegen.py, tests/python/remfin.py, tests/python/toparity.py, tests/python/tra2tba.py: Adjust all test cases. * NEWS: Mention this new feature.
This commit is contained in:
parent
c341a3cabf
commit
0c4b701630
17 changed files with 412 additions and 287 deletions
|
|
@ -34,7 +34,7 @@ ltlfilt -f '(GFa -> GFb) & (GFc -> GFd)' -l |
|
|||
ltl2dstar --ltl2nba=spin:ltl2tgba@-s $STR - - |
|
||||
autfilt --tgba --stats '%S %E %A %s %e %t %a %d' |
|
||||
tee out
|
||||
test "`cat out`" = '9 144 4 18 98 202 2 0'
|
||||
test "`cat out`" = '9 144 4 16 92 186 2 0'
|
||||
|
||||
ltlfilt -f '(GFa -> GFb) & (GFc -> GFd)' -l |
|
||||
ltl2dstar --ltl2nba=spin:ltl2tgba@-s $STR - - |
|
||||
|
|
|
|||
|
|
@ -471,4 +471,6 @@ test "4,1" = `ltl2tgba -D -x wdba-minimize=2 "$f" --stats=%s,%d`
|
|||
test "4,0" = `ltl2tgba -D -x wdba-minimize=0 "$f" --stats=%s,%d`
|
||||
test "4,1" = `ltl2tgba -D --med "$f" --stats=%s,%d`
|
||||
|
||||
:
|
||||
# Issue #418.
|
||||
f='(G!a | G!b | G!c) & (FG!a2 | GFb2 | GFc2) & (GFc2 | FG!b2 | GFa2)'
|
||||
test 28 = `ltl2tgba -D -G -S --stats=%s "$f"`
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2017, 2019 Laboratoire de Recherche et Développement
|
||||
# Copyright (C) 2017, 2019, 2020 Laboratoire de Recherche et Développement
|
||||
# de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -24,37 +24,36 @@ set -e
|
|||
|
||||
# Make sure the SPOT_SATSOLVER envar works.
|
||||
|
||||
# DRA produced by ltl2dstar for GFp0 -> GFp1, but manually modified
|
||||
# so that simulation-based reduction do not reduce it to 1 state right away.
|
||||
# DRA for GFp0 -> GFp1 produced using the SAT-based synthesis (i.e.,
|
||||
# "minimization with fixed number of states"). We used to take the
|
||||
# output of ltl2dstar, unfortunately our preprocessing reduced that to
|
||||
# one state right away, even after some manual touches.
|
||||
|
||||
cat >test.hoa <<EOF
|
||||
HOA: v1
|
||||
States: 4
|
||||
properties: implicit-labels trans-labels no-univ-branch deterministic complete
|
||||
acc-name: Rabin 2
|
||||
Acceptance: 4 (Fin(0)&Inf(1))|(Fin(2)&Inf(3))
|
||||
Start: 0
|
||||
AP: 2 "p0" "p1"
|
||||
acc-name: Rabin 2
|
||||
Acceptance: 4 (Fin(0) & Inf(1)) | (Fin(2) & Inf(3))
|
||||
properties: trans-labels explicit-labels state-acc complete
|
||||
properties: deterministic
|
||||
--BODY--
|
||||
State: 0 {0}
|
||||
1 {1} /* manual addition */
|
||||
0
|
||||
3
|
||||
2
|
||||
State: 1 {1}
|
||||
1
|
||||
0
|
||||
3
|
||||
2
|
||||
State: 2 {0 3}
|
||||
1
|
||||
0
|
||||
3
|
||||
2
|
||||
State: 3 {1 3}
|
||||
1
|
||||
0
|
||||
3
|
||||
2
|
||||
State: 0 {1 2}
|
||||
[!0&!1] 1
|
||||
[!0&1] 2
|
||||
[0] 3
|
||||
State: 1 {0}
|
||||
[0&!1] 1
|
||||
[!0&!1] 2
|
||||
[1] 3
|
||||
State: 2 {1}
|
||||
[0&!1] 1
|
||||
[!0&!1] 2
|
||||
[1] 3
|
||||
State: 3 {0 3}
|
||||
[0 | 1] 2
|
||||
[!0&!1] 3
|
||||
--END--
|
||||
EOF
|
||||
|
||||
|
|
@ -69,7 +68,7 @@ grep 'autfilt: SPOT_SATSOLVER should use %O' err
|
|||
|
||||
SPOT_SATSOLVER='false %I %O' \
|
||||
autfilt --sat-minimize test.hoa --stats=%s >output
|
||||
test `cat output` = 4
|
||||
test `cat output` = 3
|
||||
|
||||
SPOT_SATSOLVER='this-does-not-exist %I %O' \
|
||||
autfilt --sat-minimize test.hoa --stats=%s 2>err && exit
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ HOA: v1
|
|||
States: 8
|
||||
Start: 0
|
||||
AP: 2 "a" "b"
|
||||
Acceptance: 3 (Inf(0)&Inf(1)) & Fin(2)
|
||||
Acceptance: 2 Inf(0) & Fin(1)
|
||||
properties: trans-labels explicit-labels trans-acc
|
||||
--BODY--
|
||||
State: 0
|
||||
|
|
@ -165,24 +165,24 @@ State: 0
|
|||
State: 1
|
||||
[1] 4
|
||||
State: 2
|
||||
[0&1] 0 {0 1}
|
||||
[0&1] 0 {0}
|
||||
State: 3
|
||||
[1] 1
|
||||
[!1] 3 {2}
|
||||
[!1] 3 {1}
|
||||
State: 4
|
||||
[!0&1] 4 {0 1}
|
||||
[0&1] 4 {0 2}
|
||||
[!0&1] 4 {0}
|
||||
[0&1] 4 {1}
|
||||
[t] 5
|
||||
State: 5
|
||||
[0&1] 5 {0 1}
|
||||
[!0&1] 5 {0 2}
|
||||
[0&1] 5 {0}
|
||||
[!0&1] 5 {1}
|
||||
[t] 6
|
||||
State: 6
|
||||
[!0&1] 6 {0 2}
|
||||
[0&1] 7 {0 1}
|
||||
[!0&1] 6 {1}
|
||||
[0&1] 7 {0}
|
||||
State: 7
|
||||
[!0&1] 6 {0 1}
|
||||
[0&1] 7 {0 2}
|
||||
[!0&1] 6 {0}
|
||||
[0&1] 7 {1}
|
||||
--END--
|
||||
EOF
|
||||
diff expected.hoa out.hoa
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2015, 2018, 2019 Laboratoire de Recherche et Développement
|
||||
# Copyright (C) 2015, 2018, 2019, 2020 Laboratoire de Recherche et Développement
|
||||
# de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -52,7 +52,7 @@ test "`autfilt --small input --stats=%S,%s`" = 7,1
|
|||
autfilt -S --high --small input -H > out
|
||||
cat >expected <<EOF
|
||||
HOA: v1
|
||||
States: 5
|
||||
States: 4
|
||||
Start: 0
|
||||
AP: 2 "b" "a"
|
||||
acc-name: Streett 1
|
||||
|
|
@ -61,28 +61,19 @@ properties: trans-labels explicit-labels state-acc complete
|
|||
properties: deterministic
|
||||
--BODY--
|
||||
State: 0
|
||||
[!1] 1
|
||||
[1] 3
|
||||
[t] 1
|
||||
State: 1 {1}
|
||||
[0&!1] 1
|
||||
[0] 1
|
||||
[!0&!1] 2
|
||||
[0&1] 3
|
||||
[!0&1] 4
|
||||
[!0&1] 3
|
||||
State: 2
|
||||
[0&!1] 1
|
||||
[0] 1
|
||||
[!0&!1] 2
|
||||
[0&1] 3
|
||||
[!0&1] 4
|
||||
State: 3 {0 1}
|
||||
[0&!1] 1
|
||||
[!0&1] 3
|
||||
State: 3 {0}
|
||||
[0] 1
|
||||
[!0&!1] 2
|
||||
[0&1] 3
|
||||
[!0&1] 4
|
||||
State: 4 {0}
|
||||
[0&!1] 1
|
||||
[!0&!1] 2
|
||||
[0&1] 3
|
||||
[!0&1] 4
|
||||
[!0&1] 3
|
||||
--END--
|
||||
EOF
|
||||
diff out expected
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48a3f90> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f419a180> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
|
|
@ -657,7 +657,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f4901f90> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f419adb0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
|
|
@ -733,7 +733,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48b2540> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f41614b0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
|
|
@ -816,7 +816,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f60e46c0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f41613f0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
|
|
@ -1349,7 +1349,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48b2660> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f4161ba0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
|
|
@ -1463,7 +1463,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c1180> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c300> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 13,
|
||||
|
|
@ -1594,7 +1594,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c15d0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c5d0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
|
|
@ -1816,7 +1816,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c66f0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f41747b0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1831,164 +1831,150 @@
|
|||
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
||||
" -->\n",
|
||||
"<!-- Pages: 1 -->\n",
|
||||
"<svg width=\"358pt\" height=\"278pt\"\n",
|
||||
" viewBox=\"0.00 0.00 358.00 277.84\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 273.84)\">\n",
|
||||
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-273.84 354,-273.84 354,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"154.5\" y=\"-255.64\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"175.5\" y=\"-255.64\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"191.5\" y=\"-255.64\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"153.5\" y=\"-241.64\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
||||
"<svg width=\"274pt\" height=\"360pt\"\n",
|
||||
" viewBox=\"0.00 0.00 273.69 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.9803921568627451 0.9803921568627451) rotate(0) translate(4 364.3)\">\n",
|
||||
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-364.3 276,-364.3 276,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"115.5\" y=\"-346.1\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"136.5\" y=\"-346.1\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"152.5\" y=\"-346.1\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"114.5\" y=\"-332.1\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
||||
"<!-- I -->\n",
|
||||
"<!-- 0 -->\n",
|
||||
"<g id=\"node2\" class=\"node\">\n",
|
||||
"<title>0</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-52.84\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.14\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-134.3\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-130.6\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- I->0 -->\n",
|
||||
"<g id=\"edge1\" class=\"edge\">\n",
|
||||
"<title>I->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-52.84C2.79,-52.84 17.15,-52.84 30.63,-52.84\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-52.84 30.94,-55.99 34.44,-52.84 30.94,-52.84 30.94,-52.84 30.94,-52.84 34.44,-52.84 30.94,-49.69 37.94,-52.84 37.94,-52.84\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-134.3C2.79,-134.3 17.15,-134.3 30.63,-134.3\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-134.3 30.94,-137.45 34.44,-134.3 30.94,-134.3 30.94,-134.3 30.94,-134.3 34.44,-134.3 30.94,-131.15 37.94,-134.3 37.94,-134.3\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-69.87C48.32,-79.7 50.45,-88.84 56,-88.84 60.17,-88.84 62.4,-83.69 62.71,-76.98\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-69.87 65.85,-76.72 62.54,-73.37 62.71,-76.87 62.71,-76.87 62.71,-76.87 62.54,-73.37 59.56,-77.01 62.38,-69.87 62.38,-69.87\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"51.5\" y=\"-92.64\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-151.34C48.32,-161.16 50.45,-170.3 56,-170.3 60.17,-170.3 62.4,-165.16 62.71,-158.44\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-151.34 65.85,-158.18 62.54,-154.83 62.71,-158.33 62.71,-158.33 62.71,-158.33 62.54,-154.83 59.56,-158.48 62.38,-151.34 62.38,-151.34\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"51.5\" y=\"-174.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1 -->\n",
|
||||
"<g id=\"node3\" class=\"node\">\n",
|
||||
"<title>1</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-130.84\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"139.5\" y=\"-127.14\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-205.3\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"139.5\" y=\"-201.6\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M72.17,-61.24C82.81,-67.53 97.03,-76.75 108,-86.84 115.56,-93.79 122.81,-102.45 128.74,-110.25\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"133,-116.01 126.3,-112.25 130.91,-113.19 128.83,-110.38 128.83,-110.38 128.83,-110.38 130.91,-113.19 131.37,-108.51 133,-116.01 133,-116.01\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"96.5\" y=\"-105.64\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"92\" y=\"-90.64\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M65.3,-150.16C71.48,-160.71 80.77,-174.24 92,-183.3 100.01,-189.77 110.22,-194.67 119.39,-198.18\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"126.14,-200.6 118.49,-201.21 122.85,-199.42 119.55,-198.24 119.55,-198.24 119.55,-198.24 122.85,-199.42 120.62,-195.28 126.14,-200.6 126.14,-200.6\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"96.5\" y=\"-211.1\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"92\" y=\"-196.1\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2 -->\n",
|
||||
"<g id=\"node4\" class=\"node\">\n",
|
||||
"<title>2</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-52.84\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"252\" y=\"-49.14\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-151.3\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"252\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->2 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<title>0->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M74.22,-52.84C108.73,-52.84 186.48,-52.84 226.37,-52.84\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"233.82,-52.84 226.82,-55.99 230.32,-52.84 226.82,-52.84 226.82,-52.84 226.82,-52.84 230.32,-52.84 226.82,-49.69 233.82,-52.84 233.82,-52.84\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"138.5\" y=\"-56.64\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M74.22,-135.81C108.73,-138.83 186.48,-145.65 226.37,-149.14\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"233.82,-149.8 226.57,-152.32 230.34,-149.49 226.85,-149.18 226.85,-149.18 226.85,-149.18 230.34,-149.49 227.12,-146.05 233.82,-149.8 233.82,-149.8\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"138.5\" y=\"-147.1\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3 -->\n",
|
||||
"<g id=\"node5\" class=\"node\">\n",
|
||||
"<title>3</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"332\" cy=\"-139.84\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"332\" y=\"-136.14\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-47.3\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"144\" y=\"-43.6\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->3 -->\n",
|
||||
"<g id=\"edge5\" class=\"edge\">\n",
|
||||
"<title>0->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M71.46,-43.15C77.58,-39.43 84.91,-35.46 92,-32.84 166.24,-5.32 206.09,20.89 270,-25.84 299.98,-47.76 316.69,-88.96 324.76,-115.36\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"326.81,-122.39 321.82,-116.55 325.83,-119.03 324.85,-115.67 324.85,-115.67 324.85,-115.67 325.83,-119.03 327.87,-114.79 326.81,-122.39 326.81,-122.39\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"193.5\" y=\"-5.64\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M69.32,-121.84C84.01,-106.98 108.66,-82.04 125.37,-65.14\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"130.7,-59.74 128.02,-66.94 128.24,-62.23 125.78,-64.72 125.78,-64.72 125.78,-64.72 128.24,-62.23 123.54,-62.51 130.7,-59.74 130.7,-59.74\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"95.5\" y=\"-102.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->0 -->\n",
|
||||
"<g id=\"edge6\" class=\"edge\">\n",
|
||||
"<title>1->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M125.87,-129.53C115.17,-127.95 101.65,-124.47 92,-116.84 79.14,-106.67 70.34,-90.42 64.78,-76.84\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"62.16,-70.03 67.61,-75.44 63.42,-73.3 64.67,-76.57 64.67,-76.57 64.67,-76.57 63.42,-73.3 61.73,-77.7 62.16,-70.03 62.16,-70.03\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"96\" y=\"-128.64\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M132.68,-190.96C126.2,-182.57 117.32,-172.12 108,-164.3 99.18,-156.9 88.3,-150.23 78.86,-145.06\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"72.6,-141.74 80.25,-142.24 75.69,-143.38 78.78,-145.02 78.78,-145.02 78.78,-145.02 75.69,-143.38 77.3,-147.8 72.6,-141.74 72.6,-141.74\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"96\" y=\"-168.1\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge7\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-147.13C134.48,-157.23 137.04,-166.84 144,-166.84 149.22,-166.84 151.96,-161.43 152.23,-154.47\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-147.13 155.34,-153.87 151.93,-150.62 152.2,-154.11 152.2,-154.11 152.2,-154.11 151.93,-150.62 149.06,-154.35 151.67,-147.13 151.67,-147.13\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"128\" y=\"-170.64\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-221.59C134.48,-231.69 137.04,-241.3 144,-241.3 149.22,-241.3 151.96,-235.9 152.23,-228.93\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-221.59 155.34,-228.33 151.93,-225.08 152.2,-228.57 152.2,-228.57 152.2,-228.57 151.93,-225.08 149.06,-228.81 151.67,-221.59 151.67,-221.59\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"128\" y=\"-245.1\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->2 -->\n",
|
||||
"<g id=\"edge8\" class=\"edge\">\n",
|
||||
"<title>1->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M161.29,-125.37C179.39,-119.1 207.23,-108.78 216,-101.84 225.19,-94.57 233.05,-84.26 238.97,-74.98\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"242.76,-68.77 241.81,-76.38 240.94,-71.76 239.12,-74.75 239.12,-74.75 239.12,-74.75 240.94,-71.76 236.43,-73.11 242.76,-68.77 242.76,-68.77\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"180\" y=\"-136.64\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"190\" y=\"-121.64\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->3 -->\n",
|
||||
"<g id=\"edge9\" class=\"edge\">\n",
|
||||
"<title>1->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M154.47,-145.95C168.68,-166.86 197.74,-203.36 234,-214.84 249.25,-219.67 255.55,-221.71 270,-214.84 292.68,-204.05 309.68,-180.25 319.9,-162.34\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"323.36,-156.04 322.75,-163.69 321.67,-159.11 319.99,-162.18 319.99,-162.18 319.99,-162.18 321.67,-159.11 317.23,-160.66 323.36,-156.04 323.36,-156.04\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"248\" y=\"-222.64\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M155.15,-191.05C161.45,-183.22 170.2,-173.97 180,-168.3 194.3,-160.04 212.43,-155.78 226.8,-153.59\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"233.92,-152.63 227.41,-156.69 230.45,-153.1 226.99,-153.57 226.99,-153.57 226.99,-153.57 230.45,-153.1 226.56,-150.45 233.92,-152.63 233.92,-152.63\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"180\" y=\"-187.1\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"190\" y=\"-172.1\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 4 -->\n",
|
||||
"<g id=\"node6\" class=\"node\">\n",
|
||||
"<title>4</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-139.84\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"252\" y=\"-136.14\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-258.3\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"252\" y=\"-254.6\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->4 -->\n",
|
||||
"<g id=\"edge10\" class=\"edge\">\n",
|
||||
"<g id=\"edge9\" class=\"edge\">\n",
|
||||
"<title>1->4</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M157.95,-142.5C164.16,-147.32 171.98,-152.35 180,-154.84 195.28,-159.57 200.33,-158.05 216,-154.84 220.42,-153.93 224.97,-152.44 229.27,-150.74\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"235.76,-147.96 230.57,-153.61 232.54,-149.34 229.33,-150.72 229.33,-150.72 229.33,-150.72 232.54,-149.34 228.08,-147.82 235.76,-147.96 235.76,-147.96\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"182\" y=\"-161.64\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M156.95,-218.21C163.29,-224.41 171.51,-231.52 180,-236.3 194.65,-244.55 212.78,-250.1 227.05,-253.56\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"234.12,-255.19 226.6,-256.69 230.71,-254.4 227.3,-253.62 227.3,-253.62 227.3,-253.62 230.71,-254.4 228.01,-250.55 234.12,-255.19 234.12,-255.19\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"182\" y=\"-254.1\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->0 -->\n",
|
||||
"<g id=\"edge11\" class=\"edge\">\n",
|
||||
"<g id=\"edge10\" class=\"edge\">\n",
|
||||
"<title>2->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M234.44,-47.29C210.54,-39.96 164.94,-28.57 126,-33.84 110.42,-35.94 93.38,-40.61 80.13,-44.79\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"73.19,-47.05 78.88,-41.89 76.52,-45.96 79.85,-44.88 79.85,-44.88 79.85,-44.88 76.52,-45.96 80.82,-47.88 73.19,-47.05 73.19,-47.05\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"138\" y=\"-37.64\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M246.41,-133.72C236.91,-101.38 211.7,-33.21 162,-5.3 113.12,22.15 78,-66.2 63.87,-110.52\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"61.79,-117.23 60.86,-109.61 62.83,-113.89 63.86,-110.54 63.86,-110.54 63.86,-110.54 62.83,-113.89 66.87,-111.48 61.79,-117.23 61.79,-117.23\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"138\" y=\"-9.1\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->1 -->\n",
|
||||
"<g id=\"edge12\" class=\"edge\">\n",
|
||||
"<g id=\"edge11\" class=\"edge\">\n",
|
||||
"<title>2->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M234.72,-58.56C216.63,-65.12 188.81,-75.85 180,-82.84 170.94,-90.02 163.1,-100.12 157.15,-109.2\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"153.34,-115.28 154.39,-107.68 155.2,-112.31 157.06,-109.35 157.06,-109.35 157.06,-109.35 155.2,-112.31 159.73,-111.02 153.34,-115.28 153.34,-115.28\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"180\" y=\"-86.64\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M243.34,-167.65C237.44,-178.27 228.22,-191.39 216,-198.3 201.86,-206.29 183.57,-207.94 169.1,-207.63\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"161.92,-207.32 169.05,-204.48 165.42,-207.47 168.92,-207.63 168.92,-207.63 168.92,-207.63 165.42,-207.47 168.78,-210.77 161.92,-207.32 161.92,-207.32\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"180\" y=\"-211.1\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->2 -->\n",
|
||||
"<g id=\"edge13\" class=\"edge\">\n",
|
||||
"<g id=\"edge12\" class=\"edge\">\n",
|
||||
"<title>2->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M244.97,-69.5C243.41,-79.46 245.75,-88.84 252,-88.84 256.69,-88.84 259.18,-83.56 259.47,-76.72\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"259.03,-69.5 262.6,-76.3 259.24,-73 259.46,-76.49 259.46,-76.49 259.46,-76.49 259.24,-73 256.31,-76.68 259.03,-69.5 259.03,-69.5\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"232\" y=\"-92.64\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M242.77,-166.84C240.17,-177.21 243.25,-187.3 252,-187.3 258.7,-187.3 262.08,-181.39 262.12,-173.96\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"261.23,-166.84 265.23,-173.4 261.67,-170.32 262.1,-173.79 262.1,-173.79 262.1,-173.79 261.67,-170.32 258.98,-174.18 261.23,-166.84 261.23,-166.84\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"232\" y=\"-191.1\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->3 -->\n",
|
||||
"<g id=\"edge14\" class=\"edge\">\n",
|
||||
"<g id=\"edge13\" class=\"edge\">\n",
|
||||
"<title>3->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M324.97,-156.5C323.41,-166.46 325.75,-175.84 332,-175.84 336.69,-175.84 339.18,-170.56 339.47,-163.72\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"339.03,-156.5 342.6,-163.3 339.24,-160 339.46,-163.49 339.46,-163.49 339.46,-163.49 339.24,-160 336.31,-163.68 339.03,-156.5 339.03,-156.5\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"327.5\" y=\"-179.64\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 4->3 -->\n",
|
||||
"<g id=\"edge15\" class=\"edge\">\n",
|
||||
"<title>4->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M270.31,-139.84C281.02,-139.84 294.92,-139.84 306.71,-139.84\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"313.74,-139.84 306.74,-142.99 310.24,-139.84 306.74,-139.84 306.74,-139.84 306.74,-139.84 310.24,-139.84 306.74,-136.69 313.74,-139.84 313.74,-139.84\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"288\" y=\"-143.64\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-63.59C134.48,-73.69 137.04,-83.3 144,-83.3 149.22,-83.3 151.96,-77.9 152.23,-70.93\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-63.59 155.34,-70.33 151.93,-67.08 152.2,-70.57 152.2,-70.57 152.2,-70.57 151.93,-67.08 149.06,-70.81 151.67,-63.59 151.67,-63.59\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"139.5\" y=\"-87.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 4->4 -->\n",
|
||||
"<g id=\"edge16\" class=\"edge\">\n",
|
||||
"<g id=\"edge14\" class=\"edge\">\n",
|
||||
"<title>4->4</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M244.97,-156.5C243.41,-166.46 245.75,-175.84 252,-175.84 256.69,-175.84 259.18,-170.56 259.47,-163.72\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"259.03,-156.5 262.6,-163.3 259.24,-160 259.46,-163.49 259.46,-163.49 259.46,-163.49 259.24,-160 256.31,-163.68 259.03,-156.5 259.03,-156.5\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"236\" y=\"-194.64\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"244\" y=\"-179.64\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M242.77,-273.84C240.17,-284.21 243.25,-294.3 252,-294.3 258.7,-294.3 262.08,-288.39 262.12,-280.96\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"261.23,-273.84 265.23,-280.4 261.67,-277.32 262.1,-280.79 262.1,-280.79 262.1,-280.79 261.67,-277.32 258.98,-281.18 261.23,-273.84 261.23,-273.84\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"236\" y=\"-313.1\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"244\" y=\"-298.1\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"</g>\n",
|
||||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c6660> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f4174720> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2146,7 +2132,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c6a20> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f4174c30> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2294,7 +2280,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c6960> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f4174b10> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2483,7 +2469,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c6cc0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f41748a0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
|
|
@ -2559,7 +2545,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48ca1b0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f4179450> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 20,
|
||||
|
|
@ -3109,7 +3095,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c1060> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c9f0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3209,7 +3195,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c1900> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f4174300> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 24,
|
||||
|
|
@ -3282,7 +3268,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f4901900> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c510> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 25,
|
||||
|
|
@ -3453,7 +3439,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c6060> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416ccf0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 27,
|
||||
|
|
@ -3536,7 +3522,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c1060> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c9f0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3601,7 +3587,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c1060> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c9f0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3688,7 +3674,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65f48c1060> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f33f416c9f0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c8f9f0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000ab150> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
|
|
@ -330,7 +330,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c93360> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb015474e0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
|
|
@ -489,7 +489,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c9a9c0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000ab360> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
|
|
@ -587,7 +587,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c9ac00> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000ab840> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 5,
|
||||
|
|
@ -669,7 +669,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2569d3d270> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abb40> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
|
|
@ -796,7 +796,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c9ae40> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abd50> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -941,7 +941,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2569d3d9c0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abf00> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1109,7 +1109,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c9a7e0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00d0fd80> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1512,7 +1512,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c93990> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000ab390> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
|
|
@ -1942,7 +1942,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca0030> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00064e40> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2174,7 +2174,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f25694cf6f0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00064e10> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2384,7 +2384,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c93240> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abed0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2772,7 +2772,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c9aa80> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00cd01e0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 10,
|
||||
|
|
@ -2793,7 +2793,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -2933,7 +2933,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca7cf0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000798a0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3072,7 +3072,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568c9adb0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079660> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3103,7 +3103,7 @@
|
|||
"<text text-anchor=\"start\" x=\"216\" y=\"-164.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min even 3]</text>\n",
|
||||
"<g id=\"clust1\" class=\"cluster\">\n",
|
||||
"<title>cluster_0</title>\n",
|
||||
"<polygon fill=\"none\" stroke=\"green\" points=\"178,-13 178,-149 538,-149 538,-13 178,-13\"/>\n",
|
||||
"<polygon fill=\"none\" stroke=\"green\" points=\"178,-11 178,-149 538,-149 538,-11 178,-11\"/>\n",
|
||||
"</g>\n",
|
||||
"<g id=\"clust2\" class=\"cluster\">\n",
|
||||
"<title>cluster_1</title>\n",
|
||||
|
|
@ -3139,23 +3139,22 @@
|
|||
"<!-- 1 -->\n",
|
||||
"<g id=\"node4\" class=\"node\">\n",
|
||||
"<title>1</title>\n",
|
||||
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M378,-57C378,-57 354,-57 354,-57 348,-57 342,-51 342,-45 342,-45 342,-33 342,-33 342,-27 348,-21 354,-21 354,-21 378,-21 378,-21 384,-21 390,-27 390,-33 390,-33 390,-45 390,-45 390,-51 384,-57 378,-57\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"361.5\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"350\" y=\"-28.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"366\" y=\"-28.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M372,-57C372,-57 360,-57 360,-57 354,-57 348,-51 348,-45 348,-45 348,-31 348,-31 348,-25 354,-19 360,-19 360,-19 372,-19 372,-19 378,-19 384,-25 384,-31 384,-31 384,-45 384,-45 384,-51 378,-57 372,-57\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"361.5\" y=\"-41.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"358\" y=\"-26.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M74.44,-34.28C124.7,-35.1 270.31,-37.46 334.26,-38.5\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"341.65,-38.62 334.6,-41.66 338.15,-38.56 334.65,-38.51 334.65,-38.51 334.65,-38.51 338.15,-38.56 334.7,-35.36 341.65,-38.62 341.65,-38.62\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M74.44,-34.23C126.43,-34.9 280.44,-36.9 340.57,-37.68\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"347.75,-37.78 340.71,-40.83 344.25,-37.73 340.75,-37.68 340.75,-37.68 340.75,-37.68 344.25,-37.73 340.79,-34.54 347.75,-37.78 347.75,-37.78\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"174\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M74.35,-30.48C97.11,-26.06 138.34,-18.73 174,-16 200.59,-13.97 207.43,-13.69 234,-16 268.9,-19.04 308.45,-26.56 334.88,-32.18\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"341.97,-33.7 334.46,-35.31 338.55,-32.97 335.13,-32.23 335.13,-32.23 335.13,-32.23 338.55,-32.97 335.79,-29.15 341.97,-33.7 341.97,-33.7\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M74.35,-30.48C97.11,-26.06 138.34,-18.73 174,-16 200.59,-13.97 207.43,-13.78 234,-16 271.6,-19.14 314.65,-27.25 340.82,-32.7\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"347.74,-34.16 340.24,-35.79 344.32,-33.43 340.89,-32.71 340.89,-32.71 340.89,-32.71 344.32,-33.43 341.54,-29.63 347.74,-34.16 347.74,-34.16\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"184.5\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->2 -->\n",
|
||||
|
|
@ -3168,64 +3167,64 @@
|
|||
"<!-- 2->1 -->\n",
|
||||
"<g id=\"edge8\" class=\"edge\">\n",
|
||||
"<title>2->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M222.43,-77.24C231.11,-72.7 241.88,-67.54 252,-64 279.21,-54.48 311.41,-47.78 334.47,-43.73\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"341.61,-42.51 335.24,-46.79 338.16,-43.1 334.71,-43.69 334.71,-43.69 334.71,-43.69 338.16,-43.1 334.18,-40.58 341.61,-42.51 341.61,-42.51\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M222,-77.51C230.76,-72.92 241.73,-67.64 252,-64 281.79,-53.44 317.54,-46.05 340.74,-41.92\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"347.81,-40.69 341.45,-44.99 344.36,-41.29 340.91,-41.89 340.91,-41.89 340.91,-41.89 344.36,-41.29 340.37,-38.79 347.81,-40.69 347.81,-40.69\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"264.5\" y=\"-67.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->2 -->\n",
|
||||
"<g id=\"edge6\" class=\"edge\">\n",
|
||||
"<title>1->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M350.26,-57.34C341.44,-66.86 329.36,-77.61 316,-83 287.93,-94.34 252.54,-93.27 229.36,-90.75\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"222.29,-89.9 229.62,-87.61 225.77,-90.32 229.24,-90.74 229.24,-90.74 229.24,-90.74 225.77,-90.32 228.87,-93.87 222.29,-89.9 222.29,-89.9\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M349.92,-57.22C341.16,-66.83 329.25,-77.56 316,-83 287.99,-94.5 252.59,-93.39 229.39,-90.82\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"222.32,-89.95 229.65,-87.68 225.79,-90.38 229.26,-90.81 229.26,-90.81 229.26,-90.81 225.79,-90.38 228.88,-93.94 222.32,-89.95 222.32,-89.95\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"252\" y=\"-95.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge5\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M351.53,-57.15C349.3,-66.54 354.12,-75 366,-75 374.72,-75 379.64,-70.44 380.75,-64.3\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"380.47,-57.15 383.9,-64.02 380.61,-60.65 380.75,-64.15 380.75,-64.15 380.75,-64.15 380.61,-60.65 377.6,-64.27 380.47,-57.15 380.47,-57.15\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M351.44,-57.04C349.43,-66.53 354.28,-75 366,-75 374.61,-75 379.51,-70.43 380.71,-64.25\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"380.56,-57.04 383.85,-63.97 380.63,-60.54 380.7,-64.04 380.7,-64.04 380.7,-64.04 380.63,-60.54 377.55,-64.1 380.56,-57.04 380.56,-57.04\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"346.5\" y=\"-78.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3 -->\n",
|
||||
"<g id=\"node5\" class=\"node\">\n",
|
||||
"<title>3</title>\n",
|
||||
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M518,-96C518,-96 506,-96 506,-96 500,-96 494,-90 494,-84 494,-84 494,-70 494,-70 494,-64 500,-58 506,-58 506,-58 518,-58 518,-58 524,-58 530,-64 530,-70 530,-70 530,-84 530,-84 530,-90 524,-96 518,-96\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"507.5\" y=\"-80.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"504\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M518,-95C518,-95 506,-95 506,-95 500,-95 494,-89 494,-83 494,-83 494,-69 494,-69 494,-63 500,-57 506,-57 506,-57 518,-57 518,-57 524,-57 530,-63 530,-69 530,-69 530,-83 530,-83 530,-89 524,-95 518,-95\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"507.5\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"504\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->3 -->\n",
|
||||
"<g id=\"edge7\" class=\"edge\">\n",
|
||||
"<title>1->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M390.21,-34.14C413.05,-30.5 448.42,-27.97 476,-40 482.31,-42.75 488.02,-47.25 492.91,-52.18\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"497.88,-57.64 490.84,-54.59 495.52,-55.05 493.17,-52.46 493.17,-52.46 493.17,-52.46 495.52,-55.05 495.49,-50.34 497.88,-57.64 497.88,-57.64\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"416\" y=\"-43.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M384.1,-34.19C406.31,-30.11 445.82,-25.84 476,-39 482.31,-41.75 488.02,-46.25 492.91,-51.18\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"497.88,-56.64 490.84,-53.59 495.52,-54.05 493.17,-51.46 493.17,-51.46 493.17,-51.46 495.52,-54.05 495.49,-49.34 497.88,-56.64 497.88,-56.64\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"416\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->2 -->\n",
|
||||
"<g id=\"edge11\" class=\"edge\">\n",
|
||||
"<title>3->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M493.8,-83.54C451.92,-98.54 341.51,-132.53 252,-111 243.95,-109.06 235.73,-105.51 228.46,-101.71\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M493.81,-82.65C451.94,-97.91 341.55,-132.54 252,-111 243.95,-109.06 235.73,-105.51 228.46,-101.71\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"222.08,-98.2 229.74,-98.82 225.15,-99.89 228.22,-101.58 228.22,-101.58 228.22,-101.58 225.15,-99.89 226.7,-104.34 222.08,-98.2 222.08,-98.2\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"334\" y=\"-120.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->1 -->\n",
|
||||
"<g id=\"edge10\" class=\"edge\">\n",
|
||||
"<title>3->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M493.72,-73.48C474.6,-69.47 442.91,-62.49 416,-55 409.93,-53.31 403.49,-51.34 397.34,-49.37\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"390.3,-47.07 397.93,-46.25 393.63,-48.16 396.96,-49.24 396.96,-49.24 396.96,-49.24 393.63,-48.16 395.98,-52.24 390.3,-47.07 390.3,-47.07\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"426.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M493.72,-72.48C474.6,-68.47 442.91,-61.49 416,-54 407.82,-51.72 398.96,-48.93 391.06,-46.32\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"384.12,-44 391.76,-43.24 387.44,-45.11 390.76,-46.22 390.76,-46.22 390.76,-46.22 387.44,-45.11 389.76,-49.21 384.12,-44 384.12,-44\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"426.5\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->3 -->\n",
|
||||
"<g id=\"edge12\" class=\"edge\">\n",
|
||||
"<title>3->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M499.99,-96.04C498.33,-105.53 502.33,-114 512,-114 519.1,-114 523.14,-109.43 524.13,-103.25\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"524.01,-96.04 527.28,-102.98 524.07,-99.54 524.13,-103.04 524.13,-103.04 524.13,-103.04 524.07,-99.54 520.98,-103.09 524.01,-96.04 524.01,-96.04\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"482\" y=\"-117.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"black\" d=\"M499.99,-95.04C498.33,-104.53 502.33,-113 512,-113 519.1,-113 523.14,-108.43 524.13,-102.25\"/>\n",
|
||||
"<polygon fill=\"black\" stroke=\"black\" points=\"524.01,-95.04 527.28,-101.98 524.07,-98.54 524.13,-102.04 524.13,-102.04 524.13,-102.04 524.07,-98.54 520.98,-102.09 524.01,-95.04 524.01,-95.04\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"482\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"</g>\n",
|
||||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca70f0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079750> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3253,7 +3252,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -3578,10 +3577,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca7ea0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00d0f0f0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -3642,7 +3641,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -3961,7 +3960,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cae210> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079420> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4138,7 +4137,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca09c0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb01538de0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4296,7 +4295,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca0d50> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00d0f360> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4321,7 +4320,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -4645,10 +4644,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca0a20> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abd50> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -4674,7 +4673,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -4768,10 +4767,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cae690> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079330> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 15,
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -4782,7 +4781,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -4792,7 +4791,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -4866,7 +4865,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca7db0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079660> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4942,7 +4941,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca7cc0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abea0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4963,7 +4962,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -5036,10 +5035,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cb4780> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000791b0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 18,
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -5066,7 +5065,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -5186,10 +5185,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cb4c00> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079300> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -5227,7 +5226,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -5346,7 +5345,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cc5c00> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079d50> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5448,7 +5447,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568ca7030> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abcf0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5583,7 +5582,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cc5b40> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000abe70> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5612,7 +5611,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -5787,7 +5786,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cc56c0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000ab930> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5928,10 +5927,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cc5a20> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb00079db0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -5954,7 +5953,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -6031,10 +6030,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f2568cba9f0> >"
|
||||
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fbb000792d0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 22,
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -6042,6 +6041,13 @@
|
|||
"source": [
|
||||
"spot.decompose_scc(si, 'a2')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
|
@ -6060,7 +6066,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.8.2"
|
||||
"version": "3.8.5"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
|
|
@ -36,28 +36,28 @@ State: 1
|
|||
State: 2
|
||||
[1] 0 {2 3}
|
||||
--END--""")
|
||||
spot.simplify_acceptance_here(aut)
|
||||
hoa = aut.to_str('hoa')
|
||||
out = spot.simplify_acceptance(aut)
|
||||
hoa = out.to_str('hoa')
|
||||
|
||||
assert hoa == """HOA: v1
|
||||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "a" "b"
|
||||
acc-name: parity min even 2
|
||||
Acceptance: 2 Inf(0) | Fin(1)
|
||||
acc-name: Buchi
|
||||
Acceptance: 1 Inf(0)
|
||||
properties: trans-labels explicit-labels trans-acc
|
||||
--BODY--
|
||||
State: 0
|
||||
[0] 1 {0}
|
||||
State: 1
|
||||
[0] 1 {1}
|
||||
[1] 2 {0 1}
|
||||
[0] 1
|
||||
[1] 2 {0}
|
||||
State: 2
|
||||
[1] 0 {1}
|
||||
[1] 0
|
||||
--END--"""
|
||||
assert spot.are_equivalent(out, aut)
|
||||
|
||||
aut = spot.automaton("""
|
||||
HOA: v1
|
||||
aut = spot.automaton("""HOA: v1
|
||||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "a" "b"
|
||||
|
|
@ -79,17 +79,17 @@ assert hoa == """HOA: v1
|
|||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "a" "b"
|
||||
acc-name: parity min even 2
|
||||
Acceptance: 2 Inf(0) | Fin(1)
|
||||
acc-name: Buchi
|
||||
Acceptance: 1 Inf(0)
|
||||
properties: trans-labels explicit-labels trans-acc
|
||||
--BODY--
|
||||
State: 0
|
||||
[0] 1 {0}
|
||||
State: 1
|
||||
[0] 1 {1}
|
||||
[1] 2 {0 1}
|
||||
[0] 1
|
||||
[1] 2 {0}
|
||||
State: 2
|
||||
[1] 0 {1}
|
||||
[1] 0
|
||||
--END--"""
|
||||
|
||||
aut = spot.automaton("""
|
||||
|
|
@ -128,8 +128,7 @@ State: 2
|
|||
[1] 0
|
||||
--END--"""
|
||||
|
||||
aut = spot.automaton("""
|
||||
HOA: v1
|
||||
aut = spot.automaton("""HOA: v1
|
||||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "a" "b"
|
||||
|
|
@ -158,10 +157,10 @@ properties: trans-labels explicit-labels trans-acc
|
|||
State: 0
|
||||
[0] 1
|
||||
State: 1
|
||||
[0] 1 {0 1}
|
||||
[0] 1 {0}
|
||||
[1] 2 {1}
|
||||
State: 2
|
||||
[1] 0 {0 1}
|
||||
[1] 0 {0}
|
||||
--END--"""
|
||||
|
||||
aut = spot.automaton("""
|
||||
|
|
@ -355,7 +354,7 @@ State: 1
|
|||
[0&!1] 0
|
||||
[!0&1] 3
|
||||
[0&1] 2
|
||||
State: 2 {0 1}
|
||||
State: 2 {1}
|
||||
[!0&!1] 1
|
||||
[0&!1] 0
|
||||
[!0&1] 3
|
||||
|
|
@ -386,27 +385,29 @@ State: 2
|
|||
[0] 2 {0 1 2}
|
||||
[!0] 1 {0}
|
||||
--END--""")
|
||||
spot.simplify_acceptance_here(aut)
|
||||
hoa = aut.to_str('hoa')
|
||||
out = spot.simplify_acceptance(aut)
|
||||
hoa = out.to_str('hoa')
|
||||
|
||||
assert hoa == """HOA: v1
|
||||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "p0" "p1"
|
||||
Acceptance: 3 (Fin(0) | Inf(1)) & Fin(2)
|
||||
acc-name: co-Buchi
|
||||
Acceptance: 1 Fin(0)
|
||||
properties: trans-labels explicit-labels trans-acc complete
|
||||
properties: deterministic
|
||||
--BODY--
|
||||
State: 0
|
||||
[0] 1
|
||||
[!0] 0 {2}
|
||||
[!0] 0 {0}
|
||||
State: 1
|
||||
[0] 1 {1 2}
|
||||
[0] 1 {0}
|
||||
[!0] 2
|
||||
State: 2
|
||||
[0] 2 {0 1 2}
|
||||
[0] 2 {0}
|
||||
[!0] 1 {0}
|
||||
--END--"""
|
||||
assert spot.are_equivalent(out, aut)
|
||||
|
||||
aut = spot.automaton("""HOA: v1
|
||||
States: 4
|
||||
|
|
@ -448,14 +449,14 @@ State: 0
|
|||
[!0&!1] 0 {0}
|
||||
[0] 3
|
||||
State: 1
|
||||
[0] 0 {1 2 3}
|
||||
[0] 0 {1 3}
|
||||
[!0] 3 {0 2}
|
||||
State: 2
|
||||
[t] 1 {1 2}
|
||||
State: 3
|
||||
[0&1] 0 {1}
|
||||
[0&!1] 3 {1 2}
|
||||
[!0] 1 {2 3}
|
||||
[!0] 1 {3}
|
||||
--END--"""
|
||||
|
||||
aut = spot.automaton("""HOA: v1
|
||||
|
|
@ -668,24 +669,26 @@ State: 2 {1 2 3}
|
|||
[t] 1
|
||||
--END--
|
||||
""")
|
||||
spot.simplify_acceptance_here(aut)
|
||||
hoa = aut.to_str('hoa')
|
||||
out = spot.simplify_acceptance(aut)
|
||||
hoa = out.to_str('hoa')
|
||||
|
||||
assert hoa == """HOA: v1
|
||||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "p0" "p1"
|
||||
Acceptance: 3 (Fin(0) | Inf(1)) & (Fin(1) | Inf(2))
|
||||
acc-name: generalized-Buchi 2
|
||||
Acceptance: 2 Inf(0)&Inf(1)
|
||||
properties: trans-labels explicit-labels state-acc complete
|
||||
properties: deterministic
|
||||
--BODY--
|
||||
State: 0 {0 1}
|
||||
State: 0 {0}
|
||||
[t] 2
|
||||
State: 1 {0 2}
|
||||
State: 1 {1}
|
||||
[t] 2
|
||||
State: 2 {1 2}
|
||||
State: 2 {0 1}
|
||||
[t] 1
|
||||
--END--"""
|
||||
assert spot.are_equivalent(out, aut)
|
||||
|
||||
aut = spot.automaton("""HOA: v1
|
||||
States: 2
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ assert aut12c.num_states() == 9
|
|||
aut12d = spot.partial_degeneralize(aut12, [0,1,3])
|
||||
aut12e = spot.partial_degeneralize(aut12d, [0,1])
|
||||
assert aut12e.equivalent_to(aut12)
|
||||
assert aut12e.num_states() == 11
|
||||
assert aut12e.num_states() == 9
|
||||
|
||||
aut12f = spot.partial_degeneralize(aut12)
|
||||
assert aut12f.equivalent_to(aut12)
|
||||
|
|
|
|||
|
|
@ -92,4 +92,4 @@ State: 2
|
|||
""")
|
||||
b = spot.remove_fin(a)
|
||||
size = (b.num_states(), b.num_edges())
|
||||
assert size == (5, 15);
|
||||
assert size == (5, 13);
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ State: 13
|
|||
[0&1] 5
|
||||
[!0&!1] 10 {0 1 3 5}
|
||||
[0&!1] 13 {1 3}
|
||||
--END--"""), [35, 28, 23, 30, 29, 25, 22])
|
||||
--END--"""), [35, 30, 23, 32, 31, 28, 22])
|
||||
|
||||
test(spot.automaton("""
|
||||
HOA: v1
|
||||
|
|
@ -259,7 +259,7 @@ State: 3
|
|||
[!0&1] 2 {1 4}
|
||||
[0&1] 3 {0}
|
||||
--END--
|
||||
"""), [80, 22, 80, 80, 80, 17, 10])
|
||||
"""), [80, 47, 104, 104, 102, 29, 6])
|
||||
|
||||
test(spot.automaton("""
|
||||
HOA: v1
|
||||
|
|
@ -315,7 +315,7 @@ State: 1
|
|||
[0&!1] 1 {2 3}
|
||||
[0&1] 1 {1 2 4}
|
||||
--END--
|
||||
"""), [11, 6, 3, 7, 7, 4, 3])
|
||||
"""), [11, 3, 2, 3, 3, 3, 2])
|
||||
|
||||
|
||||
# Tests both the old and new version of to_parity
|
||||
|
|
@ -346,7 +346,7 @@ explicit-labels trans-acc --BODY-- State: 0 [0&1] 2 {4 5} [0&1] 4 {0 4}
|
|||
p = spot.to_parity_old(a, True)
|
||||
assert p.num_states() == 22
|
||||
assert spot.are_equivalent(a, p)
|
||||
test(a, [8, 7, 8, 8, 6, 7, 6])
|
||||
test(a, [8, 6, 6, 6, 6, 6, 6])
|
||||
|
||||
# Force a few edges to false, to make sure to_parity() is OK with that.
|
||||
for e in a.out(2):
|
||||
|
|
@ -360,7 +360,7 @@ for e in a.out(3):
|
|||
p = spot.to_parity_old(a, True)
|
||||
assert p.num_states() == 22
|
||||
assert spot.are_equivalent(a, p)
|
||||
test(a, [7, 6, 7, 7, 6, 6, 6])
|
||||
test(a, [7, 6, 6, 6, 6, 6, 6])
|
||||
|
||||
for f in spot.randltl(4, 400):
|
||||
d = spot.translate(f, "det", "G")
|
||||
|
|
|
|||
|
|
@ -578,11 +578,15 @@ properties: trans-labels explicit-labels trans-acc complete
|
|||
properties: deterministic
|
||||
--BODY--
|
||||
State: 0
|
||||
[!1] 0 {0}
|
||||
[1] 1
|
||||
[0&1] 1 {0}
|
||||
[0&!1] 0 {0}
|
||||
[!0&1] 1
|
||||
[!0&!1] 0 {0}
|
||||
State: 1
|
||||
[!1] 0 {0}
|
||||
[1] 1 {0}
|
||||
[0&1] 1 {0}
|
||||
[0&!1] 0 {0}
|
||||
[!0&1] 1 {0}
|
||||
[!0&!1] 0 {0}
|
||||
--END--"""
|
||||
|
||||
res = spot.remove_fin(aut)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue