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
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue