postproc: simplify the acceptance condition
* spot/twaalgos/postproc.cc: Here. * spot/twaalgos/cobuchi.cc, spot/twaalgos/totgba.cc: Fix some bug uncovered by the new simplified automata. * tests/core/satmin2.test, tests/core/sccdot.test, tests/core/sim3.test, tests/python/decompose.ipynb, tests/python/satmin.ipynb: Update expected results. * NEWS: Mention the simplification and the bug.
This commit is contained in:
parent
4532c0c13c
commit
a325de8678
9 changed files with 1397 additions and 1530 deletions
|
|
@ -200,7 +200,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42fa8f00> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85c40f0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
|
|
@ -330,7 +330,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f5f4b0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85c40c0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
|
|
@ -489,7 +489,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f5f720> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d860a060> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
|
|
@ -587,7 +587,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f5fae0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85c4120> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 5,
|
||||
|
|
@ -669,7 +669,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f50bd0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571690> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
|
|
@ -796,7 +796,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b437fb030> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571360> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -941,7 +941,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42fb30c0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d860a240> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1109,7 +1109,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b437fb030> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d862fed0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1512,7 +1512,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f7a780> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571540> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
|
|
@ -1942,7 +1942,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f7a8a0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85c4030> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2174,7 +2174,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b437fb030> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85c4150> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2384,7 +2384,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f5f5a0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85bbfc0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2772,7 +2772,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f0a5a0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571a80> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 10,
|
||||
|
|
@ -2788,7 +2788,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The weak automata seem to be good candidates for further simplification. Let's add a call to `postprocess()` to out decomposition loop, trying to preserve the determinism and state-based acceptance of the original automaton."
|
||||
"The weak automata seem to be good candidates for further simplification. Let's add a call to `postprocess()` to our decomposition loop, trying to preserve the determinism and state-based acceptance of the original automaton."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -2933,7 +2933,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42fb30c0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571bd0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3072,7 +3072,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42fa8f30> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571b10> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3093,16 +3093,14 @@
|
|||
"<title>strong</title>\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-332 901.6224,-332 901.6224,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"428.3112\" y=\"-313.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">strong</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"332.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">(Fin(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"360.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"376.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"419.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"435.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)) | (Fin(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"482.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"498.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"541.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"557.3112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">))</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"419.8112\" y=\"-285.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Rabin 2]</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"366.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"388.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"404.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) | (Fin(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"447.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"463.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"506.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"522.8112\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">))</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"388.8112\" y=\"-285.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[parity min even 3]</text>\n",
|
||||
"<g id=\"clust1\" class=\"cluster\">\n",
|
||||
"<title>cluster_0</title>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"284,-38 284,-243 889.6224,-243 889.6224,-38 284,-38\"/>\n",
|
||||
|
|
@ -3137,8 +3135,8 @@
|
|||
"<title>3</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"325.9411\" cy=\"-135\" rx=\"33.8824\" ry=\"33.8824\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"321.4411\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"309.9411\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"325.9411\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"309.9411\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"325.9411\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->3 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
|
|
@ -3185,7 +3183,7 @@
|
|||
"<title>4</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"854.7523\" cy=\"-169\" rx=\"26.7407\" ry=\"26.7407\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"850.2523\" y=\"-172.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">4</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"846.7523\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"846.7523\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->4 -->\n",
|
||||
"<g id=\"edge11\" class=\"edge\">\n",
|
||||
|
|
@ -3199,7 +3197,7 @@
|
|||
"<title>5</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"654.8823\" cy=\"-73\" rx=\"26.7407\" ry=\"26.7407\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"650.3823\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">5</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"646.8823\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"646.8823\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->5 -->\n",
|
||||
"<g id=\"edge12\" class=\"edge\">\n",
|
||||
|
|
@ -3282,7 +3280,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f0a4e0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571630> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -3635,7 +3633,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f7a720> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571ab0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
|
|
@ -4018,7 +4016,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f7a6f0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85719c0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4195,7 +4193,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f0a4e0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571630> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4353,7 +4351,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f7a840> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85715d0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4702,7 +4700,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f1b390> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d857d8d0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
|
|
@ -4775,7 +4773,7 @@
|
|||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-53 30.9808,-56.1501 34.4807,-53 30.9807,-53.0001 30.9807,-53.0001 30.9807,-53.0001 34.4807,-53 30.9807,-49.8501 37.9807,-53 37.9807,-53\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-70.0373C48.3189,-79.8579 50.4453,-89 56,-89 60.166,-89 62.4036,-83.8576 62.7128,-77.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-70.0373 65.8541,-76.8818 62.5434,-73.5335 62.7076,-77.0296 62.7076,-77.0296 62.7076,-77.0296 62.5434,-73.5335 59.561,-77.1774 62.3792,-70.0373 62.3792,-70.0373\"/>\n",
|
||||
|
|
@ -4788,7 +4786,7 @@
|
|||
"<text text-anchor=\"middle\" x=\"190\" y=\"-123.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.8978,-61.7794C95.7732,-74.9643 140.964,-99.9204 167.9928,-114.8468\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"174.1229,-118.2321 166.4724,-117.6055 171.0591,-116.5401 167.9952,-114.848 167.9952,-114.848 167.9952,-114.848 171.0591,-116.5401 169.518,-112.0906 174.1229,-118.2321 174.1229,-118.2321\"/>\n",
|
||||
|
|
@ -4801,7 +4799,7 @@
|
|||
"<text text-anchor=\"middle\" x=\"190\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->2 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<title>0->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0718,-50.4376C97.4488,-47.1229 138.2991,-41.3307 164.738,-37.5819\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"171.7865,-36.5825 165.2981,-40.6841 168.3212,-37.0739 164.8558,-37.5653 164.8558,-37.5653 164.8558,-37.5653 168.3212,-37.0739 164.4136,-34.4465 171.7865,-36.5825 171.7865,-36.5825\"/>\n",
|
||||
|
|
@ -4825,7 +4823,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f1b600> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d850d7e0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 15,
|
||||
|
|
@ -4892,7 +4890,7 @@
|
|||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8045,-43 30.8046,-46.1501 34.3045,-43 30.8045,-43.0001 30.8045,-43.0001 30.8045,-43.0001 34.3045,-43 30.8045,-39.8501 37.8045,-43 37.8045,-43\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M56.6704,-68.8213C56.2072,-79.1776 58.9404,-87.8701 64.8701,-87.8701 69.3173,-87.8701 71.9666,-82.9805 72.8178,-76.1667\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"73.0697,-68.8213 75.9779,-75.9252 72.9497,-72.3193 72.8297,-75.8172 72.8297,-75.8172 72.8297,-75.8172 72.9497,-72.3193 69.6816,-75.7092 73.0697,-68.8213 73.0697,-68.8213\"/>\n",
|
||||
|
|
@ -4906,7 +4904,7 @@
|
|||
"<text text-anchor=\"start\" x=\"208.6102\" y=\"-31.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M91.9981,-43C117.3521,-43 155.2997,-43 182.654,-43\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"189.7169,-43 182.717,-46.1501 186.2169,-43 182.7169,-43.0001 182.7169,-43.0001 182.7169,-43.0001 186.2169,-43 182.7169,-39.8501 189.7169,-43 189.7169,-43\"/>\n",
|
||||
|
|
@ -4923,7 +4921,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f6c930> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571bd0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -4968,7 +4966,7 @@
|
|||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-43 30.9808,-46.1501 34.4807,-43 30.9807,-43.0001 30.9807,-43.0001 30.9807,-43.0001 34.4807,-43 30.9807,-39.8501 37.9807,-43 37.9807,-43\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-60.0373C48.3189,-69.8579 50.4453,-79 56,-79 60.166,-79 62.4036,-73.8576 62.7128,-67.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-60.0373 65.8541,-66.8818 62.5434,-63.5335 62.7076,-67.0296 62.7076,-67.0296 62.7076,-67.0296 62.5434,-63.5335 59.561,-67.1774 62.3792,-60.0373 62.3792,-60.0373\"/>\n",
|
||||
|
|
@ -4982,7 +4980,7 @@
|
|||
"<text text-anchor=\"start\" x=\"160.8701\" y=\"-31.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1345,-43C90.4516,-43 114.8566,-43 134.8094,-43\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.9357,-43 134.9358,-46.1501 138.4357,-43 134.9357,-43.0001 134.9357,-43.0001 134.9357,-43.0001 138.4357,-43 134.9357,-39.8501 141.9357,-43 141.9357,-43\"/>\n",
|
||||
|
|
@ -4999,7 +4997,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f6c930> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d8571bd0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5062,7 +5060,7 @@
|
|||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-43 30.9808,-46.1501 34.4807,-43 30.9807,-43.0001 30.9807,-43.0001 30.9807,-43.0001 34.4807,-43 30.9807,-39.8501 37.9807,-43 37.9807,-43\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-60.0373C48.3189,-69.8579 50.4453,-79 56,-79 60.166,-79 62.4036,-73.8576 62.7128,-67.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-60.0373 65.8541,-66.8818 62.5434,-63.5335 62.7076,-67.0296 62.7076,-67.0296 62.7076,-67.0296 62.5434,-63.5335 59.561,-67.1774 62.3792,-60.0373 62.3792,-60.0373\"/>\n",
|
||||
|
|
@ -5076,7 +5074,7 @@
|
|||
"<text text-anchor=\"start\" x=\"160.8701\" y=\"-31.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1345,-43C90.4516,-43 114.8566,-43 134.8094,-43\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.9357,-43 134.9358,-46.1501 138.4357,-43 134.9357,-43.0001 134.9357,-43.0001 134.9357,-43.0001 138.4357,-43 134.9357,-39.8501 141.9357,-43 141.9357,-43\"/>\n",
|
||||
|
|
@ -5093,7 +5091,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f1bd80> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d850d720> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 18,
|
||||
|
|
@ -5243,7 +5241,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f1b750> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d850d780> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
|
|
@ -5403,7 +5401,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f2c690> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d850dd80> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5505,7 +5503,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f7a840> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85715d0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5640,7 +5638,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f2c120> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d850d090> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5664,12 +5662,12 @@
|
|||
"# `decompose_scc()` by SCC number\n",
|
||||
"\n",
|
||||
"Decompose SCC can also be called by SCC numbers.\n",
|
||||
"The example below show the different SCC numbers and the state they contains, before extracting the sub-automaton containing SCC 1 and 2 (i.e., anything leading to states 1 and 4 of the original automaton). This example also shows that when an `scc_info` is available for to automaton to decompose, it can be passed to `decompose_scc()` in lieu of the automaton: doing so is faster because `decompose_scc()` does not need to rebuild this object. "
|
||||
"The example below show the different SCC numbers and the state they contains, before extracting the sub-automaton containing SCC 0 and 2 (i.e., anything leading to states 1 and 4 of the original automaton). This example also shows that when an `scc_info` is available for to automaton to decompose, it can be passed to `decompose_scc()` in lieu of the automaton: doing so is faster because `decompose_scc()` does not need to rebuild this object. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -5844,7 +5842,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f6c990> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d85c4060> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -5859,122 +5857,136 @@
|
|||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||
" -->\n",
|
||||
"<!-- Pages: 1 -->\n",
|
||||
"<svg width=\"413pt\" height=\"268pt\"\n",
|
||||
" viewBox=\"0.00 0.00 413.00 268.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 264)\">\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-264 409,-264 409,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"181.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"203.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"219.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"179.5\" y=\"-231.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
||||
"<svg width=\"435pt\" height=\"173pt\"\n",
|
||||
" viewBox=\"0.00 0.00 435.00 173.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 169)\">\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-169 431,-169 431,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"192.5\" y=\"-150.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"214.5\" y=\"-150.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"230.5\" y=\"-150.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"190.5\" y=\"-136.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
||||
"<g id=\"clust1\" class=\"cluster\">\n",
|
||||
"<title>cluster_0</title>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"166,-8 166,-108 218,-108 218,-8 166,-8\"/>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"367,-20 367,-120 419,-120 419,-20 367,-20\"/>\n",
|
||||
"</g>\n",
|
||||
"<g id=\"clust2\" class=\"cluster\">\n",
|
||||
"<title>cluster_1</title>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#c0c0c0\" points=\"345,-123 345,-208 397,-208 397,-123 345,-123\"/>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"284,-20 284,-105 336,-105 336,-20 284,-20\"/>\n",
|
||||
"</g>\n",
|
||||
"<g id=\"clust3\" class=\"cluster\">\n",
|
||||
"<title>cluster_2</title>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"30,-116 30,-216 293,-216 293,-116 30,-116\"/>\n",
|
||||
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"30,-20 30,-120 232,-120 232,-20 30,-20\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- I -->\n",
|
||||
"<!-- 0 -->\n",
|
||||
"<g id=\"node2\" class=\"node\">\n",
|
||||
"<title>0</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-142\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-138.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-46\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-42.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- I->0 -->\n",
|
||||
"<g id=\"edge1\" class=\"edge\">\n",
|
||||
"<title>I->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-142C4.178,-142 17.9448,-142 30.9241,-142\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-142 30.9808,-145.1501 34.4807,-142 30.9807,-142.0001 30.9807,-142.0001 30.9807,-142.0001 34.4807,-142 30.9807,-138.8501 37.9807,-142 37.9807,-142\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-46C4.178,-46 17.9448,-46 30.9241,-46\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-46 30.9808,-49.1501 34.4807,-46 30.9807,-46.0001 30.9807,-46.0001 30.9807,-46.0001 34.4807,-46 30.9807,-42.8501 37.9807,-46 37.9807,-46\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-159.0373C48.3189,-168.8579 50.4453,-178 56,-178 60.166,-178 62.4036,-172.8576 62.7128,-166.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-159.0373 65.8541,-165.8818 62.5434,-162.5335 62.7076,-166.0296 62.7076,-166.0296 62.7076,-166.0296 62.5434,-162.5335 59.561,-166.1774 62.3792,-159.0373 62.3792,-159.0373\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"36\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-63.0373C48.3189,-72.8579 50.4453,-82 56,-82 60.166,-82 62.4036,-76.8576 62.7128,-70.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-63.0373 65.8541,-69.8818 62.5434,-66.5335 62.7076,-70.0296 62.7076,-70.0296 62.7076,-70.0296 62.5434,-66.5335 59.561,-70.1774 62.3792,-63.0373 62.3792,-63.0373\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"36\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1 -->\n",
|
||||
"<g id=\"node3\" class=\"node\">\n",
|
||||
"<title>1</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"192\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"393\" cy=\"-46\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"393\" y=\"-42.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M70.2973,-130.6462C94.7464,-111.2308 144.6248,-71.6215 172.3348,-49.6165\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"177.8942,-45.2016 174.3714,-52.0217 175.1533,-47.3782 172.4124,-49.5549 172.4124,-49.5549 172.4124,-49.5549 175.1533,-47.3782 170.4535,-47.088 177.8942,-45.2016 177.8942,-45.2016\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"92\" y=\"-117.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M68.1391,-32.6949C81.9254,-19.1093 105.7965,0 131,0 131,0 131,0 310,0 334.5036,0 358.5513,-15.5275 374.4016,-28.5397\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"379.8559,-33.1864 372.4846,-31.0447 377.1916,-30.9167 374.5274,-28.6469 374.5274,-28.6469 374.5274,-28.6469 377.1916,-30.9167 376.5702,-26.249 379.8559,-33.1864 379.8559,-33.1864\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"202.5\" y=\"-3.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2 -->\n",
|
||||
"<g id=\"node5\" class=\"node\">\n",
|
||||
"<title>2</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"267\" cy=\"-149\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"267\" y=\"-145.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"206\" cy=\"-56\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"206\" y=\"-52.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->2 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<title>0->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.3558,-142.609C112.1732,-143.8636 198.8193,-146.7381 241.8285,-148.1649\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"248.8369,-148.3974 241.7363,-151.3135 245.3389,-148.2813 241.8408,-148.1652 241.8408,-148.1652 241.8408,-148.1652 245.3389,-148.2813 241.9453,-145.017 248.8369,-148.3974 248.8369,-148.3974\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"174\" y=\"-150.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0935,-47.2062C100.6718,-48.9781 150.3801,-52.292 180.604,-54.3069\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"187.8423,-54.7895 180.6483,-57.4668 184.3501,-54.5566 180.8578,-54.3238 180.8578,-54.3238 180.8578,-54.3238 184.3501,-54.5566 181.0674,-51.1807 187.8423,-54.7895 187.8423,-54.7895\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"113\" y=\"-55.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge5\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M185.2664,-51.0373C183.8922,-60.8579 186.1367,-70 192,-70 196.3975,-70 198.7594,-64.8576 199.0858,-58.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"198.7336,-51.0373 202.2263,-57.8728 198.9069,-54.533 199.0802,-58.0287 199.0802,-58.0287 199.0802,-58.0287 198.9069,-54.533 195.934,-58.1847 198.7336,-51.0373 198.7336,-51.0373\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"187.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"184\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M385.9688,-62.6641C384.4063,-72.625 386.75,-82 393,-82 397.6875,-82 400.1777,-76.7266 400.4707,-69.8876\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"400.0313,-62.6641 403.6006,-69.4598 400.2438,-66.1576 400.4564,-69.6511 400.4564,-69.6511 400.4564,-69.6511 400.2438,-66.1576 397.3122,-69.8425 400.0313,-62.6641 400.0313,-62.6641\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"388.5\" y=\"-100.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"385\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3 -->\n",
|
||||
"<g id=\"node4\" class=\"node\">\n",
|
||||
"<title>3</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"371\" cy=\"-149\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"371\" y=\"-145.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"310\" cy=\"-46\" rx=\"18\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"middle\" x=\"310\" y=\"-42.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->1 -->\n",
|
||||
"<g id=\"edge10\" class=\"edge\">\n",
|
||||
"<title>3->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M328.0098,-46C339.5679,-46 354.7507,-46 367.5345,-46\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"374.7388,-46 367.7388,-49.1501 371.2388,-46 367.7388,-46.0001 367.7388,-46.0001 367.7388,-46.0001 371.2388,-46 367.7387,-42.8501 374.7388,-46 374.7388,-46\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"346\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->3 -->\n",
|
||||
"<g id=\"edge9\" class=\"edge\">\n",
|
||||
"<g id=\"edge11\" class=\"edge\">\n",
|
||||
"<title>3->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M362.0212,-164.916C359.679,-175.1504 362.6719,-185 371,-185 377.3762,-185 380.625,-179.2263 380.7465,-171.9268\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"379.9788,-164.916 383.8721,-171.5315 380.3598,-168.3952 380.7408,-171.8744 380.7408,-171.8744 380.7408,-171.8744 380.3598,-168.3952 377.6095,-172.2174 379.9788,-164.916 379.9788,-164.916\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"367.5\" y=\"-188.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M302.9688,-62.6641C301.4063,-72.625 303.75,-82 310,-82 314.6875,-82 317.1777,-76.7266 317.4707,-69.8876\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"317.0313,-62.6641 320.6006,-69.4598 317.2438,-66.1576 317.4564,-69.6511 317.4564,-69.6511 317.4564,-69.6511 317.2438,-66.1576 314.3122,-69.8425 317.0313,-62.6641 317.0313,-62.6641\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"306.5\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->0 -->\n",
|
||||
"<g id=\"edge6\" class=\"edge\">\n",
|
||||
"<title>2->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M250.1337,-156.4182C240.8505,-160.0978 229.0101,-164.1443 218,-166 168.9974,-174.259 111.3933,-160.0533 79.7745,-150.2082\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"73.0614,-148.0609 80.6883,-147.1933 76.395,-149.1272 79.7286,-150.1936 79.7286,-150.1936 79.7286,-150.1936 76.395,-149.1272 78.7689,-153.1938 73.0614,-148.0609 73.0614,-148.0609\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"172\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M189.0754,-62.434C169.992,-68.8187 138.0894,-76.8678 111,-71 99.6726,-68.5464 87.8767,-63.5531 78.1272,-58.6697\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"71.7353,-55.339 79.3988,-55.7804 74.8392,-56.9564 77.9431,-58.5739 77.9431,-58.5739 77.9431,-58.5739 74.8392,-56.9564 76.4875,-61.3673 71.7353,-55.339 71.7353,-55.339\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"111\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->1 -->\n",
|
||||
"<g id=\"edge7\" class=\"edge\">\n",
|
||||
"<title>2->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M219.0266,-68.4976C242.5652,-89.4912 293.6722,-127.7847 336,-109 354.8745,-100.6237 370.1522,-82.5674 380.1221,-67.9237\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"384.0651,-61.895 382.8698,-69.4775 382.1493,-64.8242 380.2336,-67.7533 380.2336,-67.7533 380.2336,-67.7533 382.1493,-64.8242 377.5973,-66.0292 384.0651,-61.895 384.0651,-61.895\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"292\" y=\"-117.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->3 -->\n",
|
||||
"<g id=\"edge8\" class=\"edge\">\n",
|
||||
"<g id=\"edge9\" class=\"edge\">\n",
|
||||
"<title>2->3</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M285.1154,-149C301.8642,-149 326.92,-149 345.6521,-149\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"352.7432,-149 345.7433,-152.1501 349.2432,-149 345.7432,-149.0001 345.7432,-149.0001 345.7432,-149.0001 349.2432,-149 345.7432,-145.8501 352.7432,-149 352.7432,-149\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"303\" y=\"-152.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M224.1154,-54.2581C240.8642,-52.6477 265.92,-50.2385 284.6521,-48.4373\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"291.7432,-47.7555 285.0769,-51.5611 288.2593,-48.0905 284.7754,-48.4255 284.7754,-48.4255 284.7754,-48.4255 288.2593,-48.0905 284.4738,-45.29 291.7432,-47.7555 291.7432,-47.7555\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"242\" y=\"-55.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->2 -->\n",
|
||||
"<g id=\"edge7\" class=\"edge\">\n",
|
||||
"<g id=\"edge8\" class=\"edge\">\n",
|
||||
"<title>2->2</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M260.6208,-166.0373C259.3189,-175.8579 261.4453,-185 267,-185 271.166,-185 273.4036,-179.8576 273.7128,-173.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"273.3792,-166.0373 276.8541,-172.8818 273.5434,-169.5335 273.7076,-173.0296 273.7076,-173.0296 273.7076,-173.0296 273.5434,-169.5335 270.561,-173.1774 273.3792,-166.0373 273.3792,-166.0373\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"249\" y=\"-188.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M199.6208,-73.0373C198.3189,-82.8579 200.4453,-92 206,-92 210.166,-92 212.4036,-86.8576 212.7128,-80.1433\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"212.3792,-73.0373 215.8541,-79.8818 212.5434,-76.5335 212.7076,-80.0296 212.7076,-80.0296 212.7076,-80.0296 212.5434,-76.5335 209.561,-80.1774 212.3792,-73.0373 212.3792,-73.0373\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"188\" y=\"-95.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
||||
"</g>\n",
|
||||
"</g>\n",
|
||||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f6c900> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d860a240> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -5985,7 +5997,7 @@
|
|||
"for scc in range(si.scc_count()):\n",
|
||||
" print(\"SCC #{} containts states {}\".format(scc, list(si.states_of(scc))))\n",
|
||||
"display(aut)\n",
|
||||
"spot.decompose_scc(si, '1,2')"
|
||||
"spot.decompose_scc(si, '0,2')"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -5997,7 +6009,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -6074,10 +6086,10 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6b42f2c150> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fd3d850d8d0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 22,
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -6103,7 +6115,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.6.5"
|
||||
"version": "3.6.5+"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue