* spot/twaalgos/dot.cc: Here. * NEWS: Mention the change. * tests/core/alternating.test, tests/core/det.test, tests/core/dstar.test, tests/core/monitor.test, tests/core/neverclaimread.test, tests/core/readsave.test, tests/core/sccdot.test, tests/core/tgbagraph.test, tests/python/_altscc.ipynb, tests/python/_autparserr.ipynb, tests/python/alternation.ipynb, tests/python/atva16-fig2a.ipynb, tests/python/atva16-fig2b.ipynb, tests/python/automata-io.ipynb, tests/python/automata.ipynb, tests/python/decompose.ipynb, tests/python/gen.ipynb, tests/python/highlighting.ipynb, tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb, tests/python/parity.ipynb, tests/python/product.ipynb, tests/python/randaut.ipynb, tests/python/satmin.ipynb, tests/python/stutter-inv.ipynb, tests/python/testingaut.ipynb, tests/python/word.ipynb: Adjust test cases.
1130 lines
65 KiB
Text
1130 lines
65 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"These examples are tests for scc_info on alternating automata."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from IPython.display import display\n",
|
|
"import spot\n",
|
|
"spot.setup(show_default='.bas')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"222pt\" height=\"212pt\"\n",
|
|
" viewBox=\"0.00 0.00 221.60 212.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 208)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-208 217.6,-208 217.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"85.8\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"107.8\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"123.8\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"83.8\" y=\"-175.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=\"153.6,-60 153.6,-160 205.6,-160 205.6,-60 153.6,-60\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"70.6,-8 70.6,-93 122.6,-93 122.6,-8 70.6,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"39.8\" cy=\"-73\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I->-1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1821,-73C4.6508,-73 20.5694,-73 30.8552,-73\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"30.9898,-75.4501 37.9898,-73 30.9898,-70.5501 30.9898,-75.4501\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"179.6\" cy=\"-86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"179.6\" y=\"-82.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M41.0123,-74.4694C44.8056,-78.9357 57.0086,-92.3299 70.6,-97 98.6794,-106.6484 133.0445,-100.4396 155.5883,-94.125\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"162.4694,-92.091 156.6495,-97.0961 159.113,-93.0832 155.7566,-94.0753 155.7566,-94.0753 155.7566,-94.0753 159.113,-93.0832 154.8636,-91.0545 162.4694,-92.091 162.4694,-92.091\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"96.6\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"96.6\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M41.6898,-71.7024C46.9981,-68.0576 62.5175,-57.4017 75.7085,-48.3445\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"81.5603,-44.3265 77.5727,-50.8856 78.675,-46.3077 75.7896,-48.2888 75.7896,-48.2888 75.7896,-48.2888 78.675,-46.3077 74.0066,-45.692 81.5603,-44.3265 81.5603,-44.3265\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M172.5688,-102.6641C171.0063,-112.625 173.35,-122 179.6,-122 184.2875,-122 186.7777,-116.7266 187.0707,-109.8876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"186.6313,-102.6641 190.2006,-109.4598 186.8438,-106.1576 187.0564,-109.6511 187.0564,-109.6511 187.0564,-109.6511 186.8438,-106.1576 183.9122,-109.8425 186.6313,-102.6641 186.6313,-102.6641\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"175.1\" y=\"-140.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"171.6\" y=\"-125.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M112.2117,-43.7808C125.1614,-51.8939 143.7106,-63.5151 158.0708,-72.5118\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"164.3388,-76.4387 156.7344,-75.3917 161.3728,-74.5805 158.4068,-72.7223 158.4068,-72.7223 158.4068,-72.7223 161.3728,-74.5805 160.0792,-70.0529 164.3388,-76.4387 164.3388,-76.4387\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"132.6\" y=\"-67.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M90.2208,-51.0373C88.9189,-60.8579 91.0453,-70 96.6,-70 100.766,-70 103.0036,-64.8576 103.3128,-58.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"102.9792,-51.0373 106.4541,-57.8818 103.1434,-54.5335 103.3076,-58.0296 103.3076,-58.0296 103.3076,-58.0296 103.1434,-54.5335 100.161,-58.1774 102.9792,-51.0373 102.9792,-51.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.1\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</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 0x7f4e38f190c0> >"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.automaton('''\n",
|
|
"HOA: v1\n",
|
|
"States: 2\n",
|
|
"Start: 0&1\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"acc-name: Buchi\n",
|
|
"Acceptance: 1 Inf(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 0\n",
|
|
"[!0] 1\n",
|
|
"State: 1\n",
|
|
"[1] 1 {0}\n",
|
|
"--END--\n",
|
|
"''')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"universal edges are handled as if they were many distinct existencial edges from the point of view of `scc_info`, so the acceptance / rejection status is not always meaningful."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"212pt\" height=\"237pt\"\n",
|
|
" viewBox=\"0.00 0.00 211.60 237.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 233)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-233 207.6,-233 207.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"79.3\" y=\"-214.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"104.3\" y=\"-214.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"120.3\" y=\"-214.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"69.3\" y=\"-200.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"70.6,-8 70.6,-93 122.6,-93 122.6,-8 70.6,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"30,-101 30,-185 195.6,-185 195.6,-101 30,-101\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"39.8\" cy=\"-111\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I->-1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1821,-111C4.6508,-111 20.5694,-111 30.8552,-111\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"30.9898,-113.4501 37.9898,-111 30.9898,-108.5501 30.9898,-113.4501\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"96.6\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"96.6\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M40.9863,-109.3917C46.1261,-102.4241 66.8704,-74.3024 81.5128,-54.4527\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"85.837,-48.5906 84.2166,-56.0938 83.7593,-51.4072 81.6816,-54.2238 81.6816,-54.2238 81.6816,-54.2238 83.7593,-51.4072 79.1467,-52.3539 85.837,-48.5906 85.837,-48.5906\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"169.6\" cy=\"-137\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"169.6\" y=\"-133.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M41.8602,-111.2843C51.2192,-112.5894 90.6518,-118.2326 122.6,-125 129.8912,-126.5445 137.7583,-128.4552 144.9316,-130.2944\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"151.8267,-132.0935 144.2581,-133.3741 148.4401,-131.2098 145.0535,-130.3261 145.0535,-130.3261 145.0535,-130.3261 148.4401,-131.2098 145.8488,-127.2782 151.8267,-132.0935 151.8267,-132.0935\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M90.2208,-51.0373C88.9189,-60.8579 91.0453,-70 96.6,-70 100.766,-70 103.0036,-64.8576 103.3128,-58.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"102.9792,-51.0373 106.4541,-57.8818 103.1434,-54.5335 103.3076,-58.0296 103.3076,-58.0296 103.3076,-58.0296 103.1434,-54.5335 100.161,-58.1774 102.9792,-51.0373 102.9792,-51.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92.1\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->-1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M151.3912,-136.4554C131.2804,-135.4731 98.1042,-132.7195 70.6,-125 62.5131,-122.7303 53.8503,-118.6279 47.7784,-115.4485\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"48.7164,-113.1684 41.4018,-111.9438 46.3562,-117.4625 48.7164,-113.1684\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.1\" y=\"-152.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"88.6\" y=\"-137.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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 0x7f4e38f19120> >"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.automaton('''\n",
|
|
"HOA: v1\n",
|
|
"States: 2\n",
|
|
"Start: 0&1\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 0&1 {0}\n",
|
|
"State: 1\n",
|
|
"[1] 1\n",
|
|
"--END--\n",
|
|
"''')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"298pt\" height=\"231pt\"\n",
|
|
" viewBox=\"0.00 0.00 297.60 231.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 227)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-227 293.6,-227 293.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"122.3\" y=\"-208.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"147.3\" y=\"-208.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"163.3\" y=\"-208.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.3\" y=\"-194.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"30,-8 30,-179 281.6,-179 281.6,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"39.8\" cy=\"-119\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I->-1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1821,-119C4.6508,-119 20.5694,-119 30.8552,-119\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"30.9898,-121.4501 37.9898,-119 30.9898,-116.5501 30.9898,-121.4501\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"134.6\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"134.6\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M41.4454,-117.5247C50.1315,-109.7365 91.182,-72.9297 115.7983,-50.858\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"121.0804,-46.122 117.9715,-53.1404 118.4745,-48.4585 115.8686,-50.795 115.8686,-50.795 115.8686,-50.795 118.4745,-48.4585 113.7657,-48.4497 121.0804,-46.122 121.0804,-46.122\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"255.6\" cy=\"-119\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"255.6\" y=\"-115.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M41.6019,-119C47.1762,-119 64.6354,-119 79.1,-119 79.1,-119 79.1,-119 195.1,-119 206.7063,-119 219.5651,-119 230.4327,-119\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"237.5984,-119 230.5985,-122.1501 234.0984,-119 230.5984,-119.0001 230.5984,-119.0001 230.5984,-119.0001 234.0984,-119 230.5984,-115.8501 237.5984,-119 237.5984,-119\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M128.2208,-51.0373C126.9189,-60.8579 129.0453,-70 134.6,-70 138.766,-70 141.0036,-64.8576 141.3128,-58.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"140.9792,-51.0373 144.4541,-57.8818 141.1434,-54.5335 141.3076,-58.0296 141.3076,-58.0296 141.3076,-58.0296 141.1434,-54.5335 138.161,-58.1774 140.9792,-51.0373 140.9792,-51.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"131.1\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"126.6\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M149.437,-44.4227C170.8458,-59.4619 210.4931,-87.3134 234.8101,-104.3955\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"240.6417,-108.4921 233.103,-107.0459 237.7777,-106.4802 234.9137,-104.4683 234.9137,-104.4683 234.9137,-104.4683 237.7777,-106.4802 236.7244,-101.8907 240.6417,-108.4921 240.6417,-108.4921\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"189.6\" y=\"-82.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M243.0239,-132.3578C231.634,-142.9561 213.8143,-156 195.1,-156 79.1,-156 79.1,-156 79.1,-156 62.5105,-156 50.0715,-138.3062 43.9759,-127.3901\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"46.0665,-126.0976 40.6899,-120.9893 41.7073,-128.3356 46.0665,-126.0976\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"130.1\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</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 0x7f4e38f0ef00> >"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.automaton('''\n",
|
|
"HOA: v1\n",
|
|
"States: 2\n",
|
|
"Start: 0&1\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 0 {0}\n",
|
|
"[!0] 1\n",
|
|
"State: 1\n",
|
|
"[1] 1&0\n",
|
|
"--END--\n",
|
|
"''')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"311pt\" height=\"149pt\"\n",
|
|
" viewBox=\"0.00 0.00 310.60 149.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 145)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-145 306.6,-145 306.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"128.8\" y=\"-126.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"153.8\" y=\"-126.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"169.8\" y=\"-126.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"118.8\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"30,-8 30,-97 294.6,-97 294.6,-8 30,-8\"/>\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=\"-38\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-34.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,-38C4.178,-38 17.9448,-38 30.9241,-38\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-38 30.9808,-41.1501 34.4807,-38 30.9807,-38.0001 30.9807,-38.0001 30.9807,-38.0001 34.4807,-38 30.9807,-34.8501 37.9807,-38 37.9807,-38\"/>\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,-55.0373C48.3189,-64.8579 50.4453,-74 56,-74 60.166,-74 62.4036,-68.8576 62.7128,-62.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-55.0373 65.8541,-61.8818 62.5434,-58.5335 62.7076,-62.0296 62.7076,-62.0296 62.7076,-62.0296 62.5434,-58.5335 59.561,-62.1774 62.3792,-55.0373 62.3792,-55.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-77.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"182\" cy=\"-38\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"182\" y=\"-34.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=\"M74.0527,-38C95.7598,-38 132.3216,-38 156.8013,-38\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"163.9808,-38 156.9808,-41.1501 160.4808,-38 156.9808,-38.0001 156.9808,-38.0001 156.9808,-38.0001 160.4808,-38 156.9807,-34.8501 163.9808,-38 163.9808,-38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"113.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-41.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"284.8\" cy=\"-68\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M200.0159,-39.2625C213.0417,-40.5463 230.9258,-43.0802 246,-48 257.2163,-51.6607 269.1404,-58.2659 276.763,-62.8802\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"275.8793,-65.2188 283.109,-66.8724 278.4885,-61.0712 275.8793,-65.2188\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"237\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M283.269,-69.3123C277.9152,-73.7617 259.3859,-88 241.5,-88 119,-88 119,-88 119,-88 99.2067,-88 82.0174,-72.6702 70.6169,-58.9872\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"66.0947,-53.2733 72.9089,-56.8074 68.2668,-56.0178 70.4389,-58.7623 70.4389,-58.7623 70.4389,-58.7623 68.2668,-56.0178 67.9689,-60.7172 66.0947,-53.2733 66.0947,-53.2733\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M282.9375,-68.0182C276.4644,-68.037 254.3917,-67.7277 237,-63 225.8158,-59.9597 214.0395,-54.8862 204.2659,-50.1012\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.8515,-46.8631 205.52,-47.2056 200.976,-48.4404 204.1004,-50.0177 204.1004,-50.0177 204.1004,-50.0177 200.976,-48.4404 202.6809,-52.8297 197.8515,-46.8631 197.8515,-46.8631\"/>\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 0x7f4e38f19090> >"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.automaton('''\n",
|
|
"HOA: v1\n",
|
|
"States: 2\n",
|
|
"Start: 0\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 0\n",
|
|
"[!0] 1 {0}\n",
|
|
"State: 1\n",
|
|
"[1] 1&0\n",
|
|
"--END--\n",
|
|
"''')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"313pt\" height=\"164pt\"\n",
|
|
" viewBox=\"0.00 0.00 312.60 164.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 160)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-160 308.6,-160 308.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.8\" y=\"-141.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"154.8\" y=\"-141.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"170.8\" y=\"-141.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"119.8\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#ffa500\" points=\"30,-8 30,-112 296.6,-112 296.6,-8 30,-8\"/>\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=\"-38\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-34.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,-38C4.178,-38 17.9448,-38 30.9241,-38\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-38 30.9808,-41.1501 34.4807,-38 30.9807,-38.0001 30.9807,-38.0001 30.9807,-38.0001 34.4807,-38 30.9807,-34.8501 37.9807,-38 37.9807,-38\"/>\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,-55.0373C48.3189,-64.8579 50.4453,-74 56,-74 60.166,-74 62.4036,-68.8576 62.7128,-62.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-55.0373 65.8541,-61.8818 62.5434,-58.5335 62.7076,-62.0296 62.7076,-62.0296 62.7076,-62.0296 62.5434,-58.5335 59.561,-62.1774 62.3792,-55.0373 62.3792,-55.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-92.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-77.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"177\" cy=\"-38\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"177\" y=\"-34.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=\"M74.1149,-38C94.6982,-38 128.4355,-38 151.6308,-38\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"158.7612,-38 151.7613,-41.1501 155.2612,-38 151.7612,-38.0001 151.7612,-38.0001 151.7612,-38.0001 155.2612,-38 151.7612,-34.8501 158.7612,-38 158.7612,-38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-41.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"286.8\" cy=\"-83\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M195.0346,-37.6671C209.9,-38.0513 231.1949,-40.1513 248,-48 261.8704,-54.4781 274.314,-67.6239 281.1848,-75.8321\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"279.2744,-77.366 285.5546,-81.3109 283.1051,-74.3106 279.2744,-77.366\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"235.5\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"232\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M285.1272,-84.3123C279.2818,-88.7617 259.0854,-103 240,-103 116.5,-103 116.5,-103 116.5,-103 93.0212,-103 76.0659,-79.9954 66.1819,-61.3574\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.8614,-54.7391 68.816,-59.5832 64.4309,-57.8675 66.0005,-60.9958 66.0005,-60.9958 66.0005,-60.9958 64.4309,-57.8675 63.185,-62.4084 62.8614,-54.7391 62.8614,-54.7391\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M284.619,-83.2042C277.0483,-83.8306 251.3133,-85.2672 232,-78 218.6981,-72.9947 205.745,-63.8525 195.7539,-55.5705\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"190.2333,-50.8313 197.5965,-53.0008 192.889,-53.1111 195.5447,-55.3909 195.5447,-55.3909 195.5447,-55.3909 192.889,-53.1111 193.4929,-57.781 190.2333,-50.8313 190.2333,-50.8313\"/>\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 0x7f4e38f0eed0> >"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.automaton('''\n",
|
|
"HOA: v1\n",
|
|
"States: 2\n",
|
|
"Start: 0\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 0 {0}\n",
|
|
"[!0] 1 \n",
|
|
"State: 1\n",
|
|
"[1] 1&0 {0}\n",
|
|
"--END--\n",
|
|
"''')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"A corner case for the dot printer"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"269pt\" height=\"204pt\"\n",
|
|
" viewBox=\"0.00 0.00 268.60 204.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 200)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-200 264.6,-200 264.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.8\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"132.8\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"148.8\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"97.8\" y=\"-167.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"200.6,-56 200.6,-141 252.6,-141 252.6,-56 200.6,-56\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"8,-8 8,-92 179.6,-92 179.6,-8 8,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"81,-100 81,-152 133,-152 133,-100 81,-100\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"107\" cy=\"-126\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"107\" y=\"-122.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=\"M34.8198,-126C39.4385,-126 62.6765,-126 81.5564,-126\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"88.7908,-126 81.7909,-129.1501 85.2908,-126 81.7908,-126.0001 81.7908,-126.0001 81.7908,-126.0001 85.2908,-126 81.7908,-122.8501 88.7908,-126 88.7908,-126\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"169.8\" cy=\"-82\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->-1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M121.8827,-115.5726C134.6003,-106.6622 152.3713,-94.2112 162.3103,-87.2476\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"163.8435,-89.1649 168.1706,-83.1416 161.0318,-85.1518 163.8435,-89.1649\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-103.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"226.6\" cy=\"-82\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"226.6\" y=\"-78.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M220.2208,-99.0373C218.9189,-108.8579 221.0453,-118 226.6,-118 230.766,-118 233.0036,-112.8576 233.3128,-106.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"232.9792,-99.0373 236.4541,-105.8818 233.1434,-102.5335 233.3076,-106.0296 233.3076,-106.0296 233.3076,-106.0296 233.1434,-102.5335 230.161,-106.1774 232.9792,-99.0373 232.9792,-99.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"222.1\" y=\"-121.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"34\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"34\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M50.3077,-41.6827C70.6862,-32.5271 106.1449,-20.7496 133,-34 149.6705,-42.2253 160.883,-62.0287 166.2141,-73.4636\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"164.0242,-74.5724 169.0505,-80.0257 168.522,-72.6282 164.0242,-74.5724\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"99\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>-1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M171.6898,-82C176.4083,-82 189.1948,-82 201.2424,-82\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"208.5696,-82 201.5696,-85.1501 205.0696,-82 201.5696,-82.0001 201.5696,-82.0001 201.5696,-82.0001 205.0696,-82 201.5696,-78.8501 208.5696,-82 208.5696,-82\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M167.5676,-81.8214C157.4313,-80.9746 114.7753,-77.0233 81,-68 73.115,-65.8935 64.7269,-62.9278 57.2526,-60.0105\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"50.686,-57.3708 58.3558,-57.059 53.9334,-58.6763 57.1809,-59.9817 57.1809,-59.9817 57.1809,-59.9817 53.9334,-58.6763 56.006,-62.9044 50.686,-57.3708 50.686,-57.3708\"/>\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 0x7f4e38ec5630> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"218pt\" height=\"253pt\"\n",
|
|
" viewBox=\"0.00 0.00 217.60 253.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 249)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-249 213.6,-249 213.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"82.3\" y=\"-230.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"107.3\" y=\"-230.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"123.3\" y=\"-230.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"72.3\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#c0c0c0\" points=\"149.6,-101 149.6,-201 201.6,-201 201.6,-101 149.6,-101\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"149.6,-8 149.6,-93 201.6,-93 201.6,-8 149.6,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"30,-8 30,-60 82,-60 82,-8 30,-8\"/>\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=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.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,-34C4.178,-34 17.9448,-34 30.9241,-34\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-34 30.9808,-37.1501 34.4807,-34 30.9807,-34.0001 30.9807,-34.0001 30.9807,-34.0001 34.4807,-34 30.9807,-30.8501 37.9807,-34 37.9807,-34\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"118.8\" cy=\"-34\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->-1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1644,-34C85.6839,-34 100.1126,-34 109.3929,-34\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"109.6587,-36.4501 116.6587,-34 109.6587,-31.5501 109.6587,-36.4501\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"175.6\" cy=\"-127\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"175.6\" y=\"-123.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M169.2208,-144.0373C167.9189,-153.8579 170.0453,-163 175.6,-163 179.766,-163 182.0036,-157.8576 182.3128,-151.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"181.9792,-144.0373 185.4541,-150.8818 182.1434,-147.5335 182.3076,-151.0296 182.3076,-151.0296 182.3076,-151.0296 182.1434,-147.5335 179.161,-151.1774 181.9792,-144.0373 181.9792,-144.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171.1\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"167.6\" y=\"-166.8\" 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=\"#000000\" cx=\"175.6\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"175.6\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M169.2208,-51.0373C167.9189,-60.8579 170.0453,-70 175.6,-70 179.766,-70 182.0036,-64.8576 182.3128,-58.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"181.9792,-51.0373 185.4541,-57.8818 182.1434,-54.5335 182.3076,-58.0296 182.3076,-58.0296 182.3076,-58.0296 182.1434,-54.5335 179.161,-58.1774 181.9792,-51.0373 181.9792,-51.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171.1\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M119.5793,-36.0619C122.6974,-44.19 134.8231,-74.6609 149.6,-97 152.1453,-100.8478 155.1371,-104.7345 158.1679,-108.3766\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"162.9041,-113.8579 155.944,-110.6208 160.6158,-111.2096 158.3275,-108.5613 158.3275,-108.5613 158.3275,-108.5613 160.6158,-111.2096 160.7109,-106.5018 162.9041,-113.8579 162.9041,-113.8579\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>-1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M120.6898,-34C125.4083,-34 138.1948,-34 150.2424,-34\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"157.5696,-34 150.5696,-37.1501 154.0696,-34 150.5696,-34.0001 150.5696,-34.0001 150.5696,-34.0001 154.0696,-34 150.5696,-30.8501 157.5696,-34 157.5696,-34\"/>\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 0x7f4e38f0ee70> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"337pt\" height=\"216pt\"\n",
|
|
" viewBox=\"0.00 0.00 336.60 216.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 212)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-212 332.6,-212 332.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"141.8\" y=\"-193.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.8\" y=\"-193.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.8\" y=\"-193.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131.8\" y=\"-179.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"30,-8 30,-92 320.6,-92 320.6,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"103,-100 103,-152 155,-152 155,-100 103,-100\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- -4 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>-4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-159\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I->-4 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->-4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-159C5.5415,-159 32.3703,-159 46.812,-159\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"46.8921,-161.4501 53.8921,-159 46.8921,-156.5501 46.8921,-161.4501\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"294.6\" cy=\"-66\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"294.6\" y=\"-62.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- -4->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>-4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.7851,-159.5586C65.9005,-162.0469 100.1645,-172 129,-172 129,-172 129,-172 235.1,-172 272.0258,-172 286.2707,-122.4816 291.5888,-91.1352\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"292.7028,-83.9815 294.7381,-91.3828 292.1642,-87.4398 291.6257,-90.8981 291.6257,-90.8981 291.6257,-90.8981 292.1642,-87.4398 288.5132,-90.4134 292.7028,-83.9815 292.7028,-83.9815\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"129\" cy=\"-126\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"129\" y=\"-122.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- -4->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>-4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.8045,-158.1843C64.4139,-155.1965 87.8627,-144.5963 106.0645,-136.3681\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"112.4922,-133.4624 107.4112,-139.2163 109.3029,-134.9042 106.1136,-136.3459 106.1136,-136.3459 106.1136,-136.3459 109.3029,-134.9042 104.8161,-133.4756 112.4922,-133.4624 112.4922,-133.4624\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"191.8\" cy=\"-69\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#ff7f00\" stroke-width=\"2\" d=\"M72.3514,-42.2258C92.4691,-33.8026 127.3536,-22.9523 155,-34 168.6783,-39.4659 180.1761,-52.7033 186.5141,-61.2413\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#ff7f00\" stroke-width=\"2\" points=\"184.6687,-62.8785 190.6807,-67.2212 188.689,-60.0772 184.6687,-62.8785\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"124.5\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"121\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M189.5746,-69.2604C179.4684,-70.3835 136.9237,-74.4716 103,-68 94.9831,-66.4706 86.5593,-63.661 79.0929,-60.7089\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.5443,-57.9904 80.2171,-57.765 75.7768,-59.3324 79.0094,-60.6743 79.0094,-60.6743 79.0094,-60.6743 75.7768,-59.3324 77.8017,-63.5836 72.5443,-57.9904 72.5443,-57.9904\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>-1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M193.4378,-67.6448C198.5348,-63.5267 214.7265,-51.1871 230.6,-47 244.6894,-43.2835 260.3753,-47.7995 272.6917,-53.3585\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"279.1559,-56.5084 271.4834,-56.2737 276.0096,-54.9752 272.8633,-53.442 272.8633,-53.442 272.8633,-53.442 276.0096,-54.9752 274.2432,-50.6103 279.1559,-56.5084 279.1559,-56.5084\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2->-1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M276.4322,-66.5302C254.4494,-67.1717 218.2709,-68.2275 201.2322,-68.7247\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"200.8726,-66.2841 193.9471,-68.9373 201.0156,-71.182 200.8726,-66.2841\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"230.6\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->-1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M142.6838,-114.1608C151.1965,-106.7333 162.3266,-96.9087 172,-88 176.4901,-83.8649 181.4454,-79.1097 185.2755,-75.3908\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#000000\" points=\"187.0849,-77.0482 190.3783,-70.4032 183.6598,-73.5441 187.0849,-77.0482\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"165\" y=\"-98.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</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 0x7f4e38f0ef30> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"224pt\" viewBox=\"0.00 0.00 402.80 224.00\" width=\"403pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 220)\">\n",
|
|
"<polygon fill=\"#ffffff\" points=\"-4,4 -4,-220 398.8,-220 398.8,4 -4,4\" stroke=\"transparent\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"174.9\" y=\"-201.8\">Fin(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"199.9\" y=\"-201.8\">⓿</text>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"215.9\" y=\"-201.8\">)</text>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"164.9\" y=\"-187.8\">[co-Büchi]</text>\n",
|
|
"<g class=\"cluster\" id=\"clust1\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" points=\"8,-8 8,-112 386.8,-112 386.8,-8 8,-8\" stroke=\"#00ff00\"/>\n",
|
|
"</g>\n",
|
|
"<g class=\"cluster\" id=\"clust2\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" points=\"288.2,-120 288.2,-172 340.2,-172 340.2,-120 288.2,-120\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- -4 -->\n",
|
|
"<g class=\"node\" id=\"node2\">\n",
|
|
"<title>-4</title>\n",
|
|
"<ellipse cx=\"184.4\" cy=\"-137\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I->-4 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\">\n",
|
|
"<title>I->-4</title>\n",
|
|
"<path d=\"M144.5047,-137C148.1243,-137 164.8668,-137 175.4796,-137\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"none\" points=\"175.53,-139.4501 182.5299,-137 175.5299,-134.5501 175.53,-139.4501\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node5\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse cx=\"241.2\" cy=\"-66\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"241.2\" y=\"-62.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- -4->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\">\n",
|
|
"<title>-4->2</title>\n",
|
|
"<path d=\"M185.5863,-135.5171C190.6245,-129.2193 210.6567,-104.1791 225.2378,-85.9527\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"#000000\" points=\"229.9442,-80.0697 228.0311,-87.5036 227.7578,-82.8028 225.5713,-85.5358 225.5713,-85.5358 225.5713,-85.5358 227.7578,-82.8028 223.1116,-83.568 229.9442,-80.0697 229.9442,-80.0697\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node7\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse cx=\"314.2\" cy=\"-146\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"314.2\" y=\"-142.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- -4->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\">\n",
|
|
"<title>-4->0</title>\n",
|
|
"<path d=\"M186.2349,-137.1272C197.2067,-137.888 254.8082,-141.8819 288.8757,-144.2441\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"#000000\" points=\"296.1711,-144.7499 288.9699,-147.4081 292.6794,-144.5078 289.1878,-144.2656 289.1878,-144.2656 289.1878,-144.2656 292.6794,-144.5078 289.4058,-141.1232 296.1711,-144.7499 296.1711,-144.7499\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse cx=\"34\" cy=\"-83\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"34\" y=\"-79.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1.2 -->\n",
|
|
"<g class=\"node\" id=\"node4\">\n",
|
|
"<title>-1.2</title>\n",
|
|
"<ellipse cx=\"143.8\" cy=\"-66\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1.2 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\">\n",
|
|
"<title>1->-1.2</title>\n",
|
|
"<path d=\"M47.8264,-71.0328C58.3347,-62.7707 73.5693,-52.4934 89,-48 106.0209,-43.0435 125.7069,-53.5499 136.2324,-60.5034\" fill=\"none\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
|
"<polygon fill=\"none\" points=\"134.9805,-62.619 142.1086,-64.6668 137.8133,-58.6208 134.9805,-62.619\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92.5\" y=\"-66.8\">b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"89\" y=\"-51.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1.2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\">\n",
|
|
"<title>-1.2->1</title>\n",
|
|
"<path d=\"M142.0575,-66.6978C136.6592,-68.8247 119.6925,-75.2485 105,-78 90.0379,-80.802 73.035,-82.0651 59.4199,-82.6215\" fill=\"none\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
|
"<polygon fill=\"#ff7f00\" points=\"52.239,-82.8633 59.129,-79.4795 55.7202,-82.2458 59.2182,-82.128 59.235,-82.6277 59.2518,-83.1274 55.7538,-83.2452 59.341,-85.7759 52.239,-82.8633 52.239,-82.8633\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1.2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\">\n",
|
|
"<title>-1.2->2</title>\n",
|
|
"<path d=\"M145.8343,-66C154.7356,-66 190.9307,-66 216.0752,-66\" fill=\"none\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
|
"<polygon fill=\"#ff7f00\" points=\"223.1614,-66 216.1615,-69.1501 219.6614,-66.5 216.1614,-66.5001 216.1614,-66.0001 216.1614,-65.5001 219.6614,-65.5 216.1614,-62.8501 223.1614,-66 223.1614,-66\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g class=\"node\" id=\"node6\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse cx=\"377\" cy=\"-92\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2->-1 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\">\n",
|
|
"<title>2->-1</title>\n",
|
|
"<path d=\"M258.346,-59.8382C278.6464,-53.566 313.1158,-46.177 340.2,-57 353.8783,-62.4659 365.3761,-75.7033 371.7141,-84.2413\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"none\" points=\"369.8687,-85.8785 375.8807,-90.2212 373.889,-83.0772 369.8687,-85.8785\" stroke=\"#000000\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"309.7\" y=\"-60.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path d=\"M375.0683,-92.5914C367.4282,-94.8762 338.5513,-103 314.2,-103 97,-103 97,-103 97,-103 83.1865,-103 68.4342,-98.578 56.6801,-93.8925\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"#000000\" points=\"50.1358,-91.1348 57.8097,-90.9503 53.3611,-92.4939 56.5865,-93.8531 56.5865,-93.8531 56.5865,-93.8531 53.3611,-92.4939 55.3632,-96.7559 50.1358,-91.1348 50.1358,-91.1348\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\">\n",
|
|
"<title>-1->2</title>\n",
|
|
"<path d=\"M374.9616,-91.6097C363.0088,-89.3213 301.3376,-77.5138 266.0546,-70.7586\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"#000000\" points=\"258.9535,-69.399 266.421,-67.6216 262.391,-70.0572 265.8286,-70.7154 265.8286,-70.7154 265.8286,-70.7154 262.391,-70.0572 265.2362,-73.8092 258.9535,-69.399 258.9535,-69.399\" stroke=\"#000000\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->-1 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\">\n",
|
|
"<title>0->-1</title>\n",
|
|
"<path d=\"M328.1374,-134.0156C341.0558,-122.9074 359.7564,-106.8273 369.8662,-98.1341\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
"<polygon fill=\"none\" points=\"371.6059,-99.8695 375.3162,-93.4479 368.4112,-96.1541 371.6059,-99.8695\" stroke=\"#000000\"/>\n",
|
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"350.2\" y=\"-118.8\">a</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for a in spot.automata('''\n",
|
|
"HOA: v1\n",
|
|
"States: 3\n",
|
|
"Start: 0\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 1&2\n",
|
|
"State: 1\n",
|
|
"[1] 1&2 {0}\n",
|
|
"State: 2\n",
|
|
"[1] 2\n",
|
|
"--END--\n",
|
|
"HOA: v1\n",
|
|
"States: 3\n",
|
|
"Start: 0\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 1&2\n",
|
|
"State: 1\n",
|
|
"[1] 1 {0}\n",
|
|
"State: 2\n",
|
|
"[1] 2\n",
|
|
"--END--\n",
|
|
"'''):\n",
|
|
" display(a)\n",
|
|
"\n",
|
|
"a = spot.automaton('''\n",
|
|
"HOA: v1\n",
|
|
"States: 3\n",
|
|
"Start: 0&2\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"spot.highlight.edges: 2 2\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 1&2\n",
|
|
"State: 1\n",
|
|
"[1] 1&2 {0}\n",
|
|
"State: 2\n",
|
|
"[1] 1&2\n",
|
|
"--END--\n",
|
|
"''')\n",
|
|
"display(a, a.show('.basy'))"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.6.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|