twa_graph: add a merge_univ_dests() method

and call it after parsing

* spot/twa/twagraph.cc, spot/twa/twagraph.hh
(twa_graph::merge_univ_dests): New method.
* spot/parseaut/parseaut.yy: Call it.
* spot/twaalgos/dot.cc: Improve output, now that
several edges can use the same universal destination.
* tests/core/alternating.test, tests/core/complete.test,
tests/core/parseaut.test, tests/python/_altscc.ipynb,
tests/python/alternating.py, tests/python/alternation.ipynb: Adjust
test case.
* doc/org/tut24.org: Adjust example.
This commit is contained in:
Alexandre Duret-Lutz 2016-12-27 12:35:16 +01:00
parent 3d0a971aa8
commit 12f6c8cf10
11 changed files with 567 additions and 517 deletions

View file

@ -41,7 +41,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
"prompt_number": 1
},
{
"cell_type": "code",
@ -69,7 +69,7 @@
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"prompt_number": 2,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
@ -77,77 +77,78 @@
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"219pt\" height=\"154pt\"\n",
" viewBox=\"0.00 0.00 219.00 154.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<svg width=\"222pt\" height=\"154pt\"\n",
" viewBox=\"0.00 0.00 221.60 154.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 150)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-150 215,-150 215,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"84.5\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"106.5\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"122.5\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-150 217.6,-150 217.6,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"85.8\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"107.8\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"123.8\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<g id=\"clust1\" class=\"cluster\"><title>cluster_0</title>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"151,-8 151,-108 203,-108 203,-8 151,-8\"/>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"153.6,-8 153.6,-108 205.6,-108 205.6,-8 153.6,-8\"/>\n",
"</g>\n",
"<g id=\"clust2\" class=\"cluster\"><title>cluster_1</title>\n",
"<polygon fill=\"none\" stroke=\"red\" points=\"68,-30 68,-115 120,-115 120,-30 68,-30\"/>\n",
"<polygon fill=\"none\" stroke=\"red\" points=\"70.6,-30 70.6,-115 122.6,-115 122.6,-30 70.6,-30\"/>\n",
"</g>\n",
"<!-- I -->\n",
"<!-- &#45;1 -->\n",
"<g id=\"node2\" class=\"node\"><title>&#45;1</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"39,-27.5 38,-27.5 38,-26.5 39,-26.5 39,-27.5\"/>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"39.8\" cy=\"-27\" rx=\"1.8\" ry=\"1.8\"/>\n",
"</g>\n",
"<!-- I&#45;&gt;&#45;1 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.10614,-27C3.20855,-27 35.8616,-27 37.9003,-27\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.10844,-27C2.6468,-27 20.196,-27 30.7973,-27\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"30.9213,-29.4501 37.9213,-27 30.9212,-24.5501 30.9213,-29.4501\"/>\n",
"</g>\n",
"<!-- 0 -->\n",
"<g id=\"node3\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"94\" cy=\"-56\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"94\" y=\"-52.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"96.6\" cy=\"-56\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"96.6\" y=\"-52.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.1549,-27.0832C40.9145,-28.0282 57.3371,-36.8477 71.5878,-44.5008\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"77.9221,-47.9026 70.2648,-47.3658 74.8386,-46.2466 71.7551,-44.5907 71.7551,-44.5907 71.7551,-44.5907 74.8386,-46.2466 73.2455,-41.8155 77.9221,-47.9026 77.9221,-47.9026\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M41.7512,-27.5033C45.6352,-29.5588 60.7141,-37.5385 73.9308,-44.5327\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"80.2121,-47.8568 72.5516,-47.3667 77.1186,-46.2197 74.025,-44.5826 74.025,-44.5826 74.025,-44.5826 77.1186,-46.2197 75.4985,-41.7984 80.2121,-47.8568 80.2121,-47.8568\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node4\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"177\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"177\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"179.6\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"179.6\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.0466,-26.9978C40.0034,-26.9519 55.5083,-26.2153 68,-26 91.1077,-25.6017 96.947,-24.3617 120,-26 130.461,-26.7434 141.938,-28.2585 151.763,-29.7722\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"158.911,-30.9167 151.501,-32.9203 155.455,-30.3633 151.999,-29.8099 151.999,-29.8099 151.999,-29.8099 155.455,-30.3633 152.497,-26.6995 158.911,-30.9167 158.911,-30.9167\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M41.9364,-26.9481C45.8913,-26.7705 59.4203,-26.1875 70.6,-26 93.7079,-25.6124 99.547,-24.3617 122.6,-26 133.061,-26.7434 144.538,-28.2585 154.363,-29.7722\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"161.511,-30.9167 154.101,-32.9203 158.055,-30.3633 154.599,-29.8099 154.599,-29.8099 154.599,-29.8099 158.055,-30.3633 155.097,-26.6995 161.511,-30.9167 161.511,-30.9167\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;0 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>0&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M87.6208,-73.0373C86.3189,-82.8579 88.4453,-92 94,-92 98.166,-92 100.404,-86.8576 100.713,-80.1433\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"100.379,-73.0373 103.854,-79.8818 100.543,-76.5335 100.708,-80.0296 100.708,-80.0296 100.708,-80.0296 100.543,-76.5335 97.561,-80.1774 100.379,-73.0373 100.379,-73.0373\"/>\n",
"<text text-anchor=\"start\" x=\"90.5\" y=\"-95.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M90.2208,-73.0373C88.9189,-82.8579 91.0453,-92 96.6,-92 100.766,-92 103.004,-86.8576 103.313,-80.1433\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"102.979,-73.0373 106.454,-79.8818 103.143,-76.5335 103.308,-80.0296 103.308,-80.0296 103.308,-80.0296 103.143,-76.5335 100.161,-80.1774 102.979,-73.0373 102.979,-73.0373\"/>\n",
"<text text-anchor=\"start\" x=\"93.1\" y=\"-95.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M111.783,-51.4416C123.591,-48.2346 139.551,-43.8996 152.606,-40.3538\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"159.515,-38.4773 153.586,-43.352 156.138,-39.3947 152.76,-40.3121 152.76,-40.3121 152.76,-40.3121 156.138,-39.3947 151.934,-37.2723 159.515,-38.4773 159.515,-38.4773\"/>\n",
"<text text-anchor=\"start\" x=\"130\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M114.383,-51.4416C126.191,-48.2346 142.151,-43.8996 155.206,-40.3538\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"162.115,-38.4773 156.186,-43.352 158.738,-39.3947 155.36,-40.3121 155.36,-40.3121 155.36,-40.3121 158.738,-39.3947 154.534,-37.2723 162.115,-38.4773 162.115,-38.4773\"/>\n",
"<text text-anchor=\"start\" x=\"132.6\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M169.969,-50.6641C168.406,-60.625 170.75,-70 177,-70 181.688,-70 184.178,-64.7266 184.471,-57.8876\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"184.031,-50.6641 187.601,-57.4598 184.244,-54.1576 184.456,-57.6511 184.456,-57.6511 184.456,-57.6511 184.244,-54.1576 181.312,-57.8425 184.031,-50.6641 184.031,-50.6641\"/>\n",
"<text text-anchor=\"start\" x=\"172.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<text text-anchor=\"start\" x=\"169\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M172.569,-50.6641C171.006,-60.625 173.35,-70 179.6,-70 184.288,-70 186.778,-64.7266 187.071,-57.8876\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"186.631,-50.6641 190.201,-57.4598 186.844,-54.1576 187.056,-57.6511 187.056,-57.6511 187.056,-57.6511 186.844,-54.1576 183.912,-57.8425 186.631,-50.6641 186.631,-50.6641\"/>\n",
"<text text-anchor=\"start\" x=\"175.1\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<text text-anchor=\"start\" x=\"171.6\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f76dc5d7090> >"
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f7620378330> >"
]
}
],
"prompt_number": 12
"prompt_number": 2
},
{
"cell_type": "markdown",
@ -180,7 +181,7 @@
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"prompt_number": 3,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
@ -188,84 +189,72 @@
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"151pt\" height=\"192pt\"\n",
" viewBox=\"0.00 0.00 151.00 192.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<svg width=\"154pt\" height=\"192pt\"\n",
" viewBox=\"0.00 0.00 153.60 192.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 188)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-188 147,-188 147,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"49\" y=\"-169.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"74\" y=\"-169.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"90\" y=\"-169.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-188 149.6,-188 149.6,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"50.3\" y=\"-169.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"75.3\" y=\"-169.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"91.3\" y=\"-169.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<g id=\"clust1\" class=\"cluster\"><title>cluster_0</title>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"83,-8 83,-93 135,-93 135,-8 83,-8\"/>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"85.6,-8 85.6,-93 137.6,-93 137.6,-8 85.6,-8\"/>\n",
"</g>\n",
"<g id=\"clust2\" class=\"cluster\"><title>cluster_1</title>\n",
"<polygon fill=\"none\" stroke=\"red\" points=\"83,-101 83,-153 135,-153 135,-101 83,-101\"/>\n",
"<polygon fill=\"none\" stroke=\"red\" points=\"85.6,-101 85.6,-153 137.6,-153 137.6,-101 85.6,-101\"/>\n",
"</g>\n",
"<!-- I -->\n",
"<!-- &#45;4 -->\n",
"<g id=\"node2\" class=\"node\"><title>&#45;4</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"39,-47.5 38,-47.5 38,-46.5 39,-46.5 39,-47.5\"/>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node2\" class=\"node\"><title>&#45;1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"39.8\" cy=\"-82\" rx=\"1.8\" ry=\"1.8\"/>\n",
"</g>\n",
"<!-- I&#45;&gt;&#45;4 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;&#45;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.10614,-47C3.20855,-47 35.8616,-47 37.9003,-47\"/>\n",
"<!-- I&#45;&gt;&#45;1 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.10844,-82C2.6468,-82 20.196,-82 30.7973,-82\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"30.9213,-84.4501 37.9213,-82 30.9212,-79.5501 30.9213,-84.4501\"/>\n",
"</g>\n",
"<!-- 0 -->\n",
"<g id=\"node3\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"109\" cy=\"-127\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"109\" y=\"-123.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"111.6\" cy=\"-127\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"111.6\" y=\"-123.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>&#45;4&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.05,-47.058C40.4721,-48.7067 71.8975,-85.142 91.8267,-108.248\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"96.6206,-113.806 89.6633,-110.563 94.3346,-111.156 92.0486,-108.506 92.0486,-108.506 92.0486,-108.506 94.3346,-111.156 94.434,-106.448 96.6206,-113.806 96.6206,-113.806\"/>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M41.2389,-83.4339C42.8255,-88.3703 48.7502,-104.807 59.6,-113 67.3475,-118.85 77.3952,-122.256 86.5214,-124.239\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"93.5814,-125.543 86.1255,-127.369 90.1396,-124.907 86.6979,-124.272 86.6979,-124.272 86.6979,-124.272 90.1396,-124.907 87.2703,-121.174 93.5814,-125.543 93.5814,-125.543\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node4\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"109\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"109\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"111.6\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"111.6\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>&#45;4&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.05,-46.9906C40.3003,-46.755 64.7431,-42.1498 84.1745,-38.4889\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"91.0544,-37.1926 84.7587,-41.5843 87.6149,-37.8407 84.1755,-38.4888 84.1755,-38.4888 84.1755,-38.4888 87.6149,-37.8407 83.5922,-35.3932 91.0544,-37.1926 91.0544,-37.1926\"/>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node5\" class=\"node\"><title>&#45;1</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"39,-109.5 38,-109.5 38,-108.5 39,-108.5 39,-109.5\"/>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M41.5839,-81.4609C46.3474,-78.1852 71.8242,-60.6653 90.4426,-47.8618\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"96.4539,-43.728 92.471,-50.2899 93.57,-45.7112 90.6861,-47.6944 90.6861,-47.6944 90.6861,-47.6944 93.57,-45.7112 88.9012,-45.0989 96.4539,-43.728 96.4539,-43.728\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;&#45;1 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>0&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M90.5814,-126.381C80.5252,-125.592 67.7752,-123.842 57,-120 48.7209,-117.048 40.1448,-109.963 39.1051,-109.089\"/>\n",
"<text text-anchor=\"start\" x=\"61.5\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"57\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M98.8419,-113.981C94.4601,-108.857 89.5866,-102.816 85.6,-97 80.4256,-89.4515 83.4876,-83.6411 75.6,-79 67.3683,-74.1565 56.0932,-76.4083 48.6353,-78.8582\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"47.3759,-76.7198 41.7465,-81.5482 49.1582,-81.2841 47.3759,-76.7198\"/>\n",
"<text text-anchor=\"start\" x=\"64.1\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"59.6\" y=\"-82.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M101.332,-50.2903C99.4831,-60.3892 102.039,-70 109,-70 114.221,-70 116.964,-64.5939 117.229,-57.6304\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"116.668,-50.2903 120.342,-57.0299 116.935,-53.7801 117.201,-57.2699 117.201,-57.2699 117.201,-57.2699 116.935,-53.7801 114.06,-57.5099 116.668,-50.2903 116.668,-50.2903\"/>\n",
"<text text-anchor=\"start\" x=\"104.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.05,-109.013C40.3075,-109.341 65.0281,-115.79 84.5129,-120.873\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"91.4014,-122.67 83.833,-123.951 88.0148,-121.786 84.6281,-120.903 84.6281,-120.903 84.6281,-120.903 88.0148,-121.786 85.4233,-117.855 91.4014,-122.67 91.4014,-122.67\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.05,-108.946C40.457,-107.416 71.2357,-73.9612 91.1902,-52.2715\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"96.0058,-47.0372 93.5845,-54.3215 93.636,-49.613 91.2663,-52.1888 91.2663,-52.1888 91.2663,-52.1888 93.636,-49.613 88.9481,-50.056 96.0058,-47.0372 96.0058,-47.0372\"/>\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M103.932,-50.2903C102.083,-60.3892 104.639,-70 111.6,-70 116.821,-70 119.564,-64.5939 119.829,-57.6304\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"119.268,-50.2903 122.942,-57.0299 119.535,-53.7801 119.801,-57.2699 119.801,-57.2699 119.801,-57.2699 119.535,-53.7801 116.66,-57.5099 119.268,-50.2903 119.268,-50.2903\"/>\n",
"<text text-anchor=\"start\" x=\"107.1\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f76dc5d71b0> >"
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f7620378870> >"
]
}
],
"prompt_number": 17
"prompt_number": 3
},
{
"cell_type": "code",
@ -292,7 +281,7 @@
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"prompt_number": 4,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
@ -300,87 +289,75 @@
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"219pt\" height=\"199pt\"\n",
" viewBox=\"0.00 0.00 219.00 198.77\" 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 194.773)\">\n",
"<svg width=\"181pt\" height=\"170pt\"\n",
" viewBox=\"0.00 0.00 181.00 169.80\" 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 165.8)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-194.773 215,-194.773 215,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"83\" y=\"-176.573\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"108\" y=\"-176.573\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"124\" y=\"-176.573\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-165.8 177,-165.8 177,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"64\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"89\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"105\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<g id=\"clust1\" class=\"cluster\"><title>cluster_0</title>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"68,-59.7728 68,-159.773 203,-159.773 203,-59.7728 68,-59.7728\"/>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-8 30,-108 165,-108 165,-8 30,-8\"/>\n",
"</g>\n",
"<!-- I -->\n",
"<!-- &#45;4 -->\n",
"<g id=\"node2\" class=\"node\"><title>&#45;4</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"39,-57.2728 38,-57.2728 38,-56.2728 39,-56.2728 39,-57.2728\"/>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node2\" class=\"node\"><title>&#45;1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-137\" rx=\"1.8\" ry=\"1.8\"/>\n",
"</g>\n",
"<!-- I&#45;&gt;&#45;4 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;&#45;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.10614,-56.7728C3.20855,-56.7728 35.8616,-56.7728 37.9003,-56.7728\"/>\n",
"<!-- I&#45;&gt;&#45;1 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-137C3.52733,-137 32.5548,-137 46.9758,-137\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"47.1189,-139.45 54.1189,-137 47.1188,-134.55 47.1189,-139.45\"/>\n",
"</g>\n",
"<!-- 0 -->\n",
"<g id=\"node3\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"94\" cy=\"-85.7728\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"94\" y=\"-82.0728\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" 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\">0</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>&#45;4&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.1549,-56.856C40.9145,-57.8009 57.3371,-66.6205 71.5878,-74.2736\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"77.9221,-77.6754 70.2648,-77.1386 74.8386,-76.0194 71.7551,-74.3634 71.7551,-74.3634 71.7551,-74.3634 74.8386,-76.0194 73.2455,-71.5883 77.9221,-77.6754 77.9221,-77.6754\"/>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M56,-135.01C56,-109.75 56,-84.4902 56,-59.2301\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"56,-52.1055 59.1501,-59.1054 56,-55.6055 56.0001,-59.1055 56.0001,-59.1055 56.0001,-59.1055 56,-55.6055 52.8501,-59.1055 56,-52.1055 56,-52.1055\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node4\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"177\" cy=\"-85.7728\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"177\" y=\"-82.0728\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-82\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"139\" y=\"-78.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>&#45;4&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M39.1194,-56.759C41.5706,-56.4798 81.2702,-52.1167 112,-58.7728 126.718,-61.9607 142.306,-68.4629 154.412,-74.2876\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"160.753,-77.4284 153.082,-77.1437 157.616,-75.8748 154.48,-74.3211 154.48,-74.3211 154.48,-74.3211 157.616,-75.8748 155.878,-71.4984 160.753,-77.4284 160.753,-77.4284\"/>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M58.1975,-136.505C63.6262,-134.235 86.3798,-124.441 103,-113 108.892,-108.944 114.875,-104.007 120.188,-99.2761\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"125.655,-94.275 122.616,-101.324 123.072,-96.6375 120.49,-99.0001 120.49,-99.0001 120.49,-99.0001 123.072,-96.6375 118.364,-96.676 125.655,-94.275 125.655,-94.275\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;0 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>0&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M87.6208,-102.81C86.3189,-112.631 88.4453,-121.773 94,-121.773 98.166,-121.773 100.404,-116.63 100.713,-109.916\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"100.379,-102.81 103.854,-109.655 100.543,-106.306 100.708,-109.802 100.708,-109.802 100.708,-109.802 100.543,-106.306 97.561,-109.95 100.379,-102.81 100.379,-102.81\"/>\n",
"<text text-anchor=\"start\" x=\"90.5\" y=\"-140.573\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"86\" y=\"-125.573\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-51.0373C48.3189,-60.8579 50.4453,-70 56,-70 60.166,-70 62.4036,-64.8576 62.7128,-58.1433\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-51.0373 65.8541,-57.8818 62.5434,-54.5335 62.7076,-58.0296 62.7076,-58.0296 62.7076,-58.0296 62.5434,-54.5335 59.561,-58.1774 62.3792,-51.0373 62.3792,-51.0373\"/>\n",
"<text text-anchor=\"start\" x=\"52.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"48\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M112.178,-85.7728C123.669,-85.7728 138.959,-85.7728 151.693,-85.7728\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"158.847,-85.7728 151.847,-88.9229 155.347,-85.7728 151.847,-85.7729 151.847,-85.7729 151.847,-85.7729 155.347,-85.7728 151.847,-82.6229 158.847,-85.7728 158.847,-85.7728\"/>\n",
"<text text-anchor=\"start\" x=\"130\" y=\"-89.5728\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node5\" class=\"node\"><title>&#45;1</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"94.5,-11.2728 93.5,-11.2728 93.5,-10.2728 94.5,-10.2728 94.5,-11.2728\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M72.6567,-41.0787C81.7089,-45.355 93.2089,-51.105 103,-57 108.128,-60.0874 113.476,-63.6923 118.403,-67.188\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"124.372,-71.5104 116.855,-69.9558 121.537,-69.4575 118.702,-67.4046 118.702,-67.4046 118.702,-67.4046 121.537,-69.4575 120.55,-64.8533 124.372,-71.5104 124.372,-71.5104\"/>\n",
"<text text-anchor=\"start\" x=\"92\" y=\"-60.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;1 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M173.048,-67.9081C169.091,-50.2821 160.197,-24.2233 141,-11.7728 124.379,-0.993136 96.7913,-10.1606 95.0833,-10.7441\"/>\n",
"<text text-anchor=\"start\" x=\"131\" y=\"-15.5728\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M94,-11.3587C94,-27.8063 94,-44.254 94,-60.7016\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"94,-67.7506 90.8501,-60.7506 94,-64.2506 94.0001,-60.7506 94.0001,-60.7506 94.0001,-60.7506 94,-64.2506 97.1501,-60.7507 94,-67.7506 94,-67.7506\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M95.083,-10.7203C96.7853,-9.65207 124.283,7.26784 141,-3.77277 160.012,-16.3291 168.732,-41.5556 172.71,-60.7309\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"174.014,-67.7447 169.637,-61.4385 173.374,-64.3037 172.734,-60.8627 172.734,-60.8627 172.734,-60.8627 173.374,-64.3037 175.831,-60.2868 174.014,-67.7447 174.014,-67.7447\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M120.788,-83.8666C111.67,-85.4769 100.608,-88.4653 92,-94 84.4423,-98.8591 69.2944,-119.499 61.6458,-130.319\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"59.6115,-128.953 57.6175,-136.096 63.6309,-131.756 59.6115,-128.953\"/>\n",
"<text text-anchor=\"start\" x=\"93\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f76dc5d7180> >"
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f7620378390> >"
]
}
],
"prompt_number": 16
"prompt_number": 4
},
{
"cell_type": "code",
@ -407,7 +384,7 @@
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 30,
"prompt_number": 5,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
@ -415,74 +392,75 @@
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"186pt\" height=\"153pt\"\n",
" viewBox=\"0.00 0.00 186.00 152.50\" 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 148.5)\">\n",
"<svg width=\"186pt\" height=\"155pt\"\n",
" viewBox=\"0.00 0.00 186.00 154.80\" 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 150.8)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-148.5 182,-148.5 182,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"66.5\" y=\"-130.3\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"91.5\" y=\"-130.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"107.5\" y=\"-130.3\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-150.8 182,-150.8 182,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"66.5\" y=\"-132.6\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"91.5\" y=\"-132.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"107.5\" y=\"-132.6\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<g id=\"clust1\" class=\"cluster\"><title>cluster_0</title>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-28.5 30,-113.5 170,-113.5 170,-28.5 30,-28.5\"/>\n",
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-30.8 30,-115.8 170,-115.8 170,-30.8 30,-30.8\"/>\n",
"</g>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-54.5\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"56\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-56.8\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"56\" y=\"-53.1\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-54.5C2.79388,-54.5 17.1543,-54.5 30.6317,-54.5\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-54.5 30.9419,-57.6501 34.4419,-54.5 30.9419,-54.5001 30.9419,-54.5001 30.9419,-54.5001 34.4419,-54.5 30.9418,-51.3501 37.9419,-54.5 37.9419,-54.5\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-56.8C2.79388,-56.8 17.1543,-56.8 30.6317,-56.8\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-56.8 30.9419,-59.9501 34.4419,-56.8 30.9419,-56.8001 30.9419,-56.8001 30.9419,-56.8001 34.4419,-56.8 30.9418,-53.6501 37.9419,-56.8 37.9419,-56.8\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-71.5373C48.3189,-81.3579 50.4453,-90.5 56,-90.5 60.166,-90.5 62.4036,-85.3576 62.7128,-78.6433\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-71.5373 65.8541,-78.3818 62.5434,-75.0335 62.7076,-78.5296 62.7076,-78.5296 62.7076,-78.5296 62.5434,-75.0335 59.561,-78.6774 62.3792,-71.5373 62.3792,-71.5373\"/>\n",
"<text text-anchor=\"start\" x=\"52.5\" y=\"-94.3\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-73.8373C48.3189,-83.6579 50.4453,-92.8 56,-92.8 60.166,-92.8 62.4036,-87.6576 62.7128,-80.9433\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-73.8373 65.8541,-80.6818 62.5434,-77.3335 62.7076,-80.8296 62.7076,-80.8296 62.7076,-80.8296 62.5434,-77.3335 59.561,-80.9774 62.3792,-73.8373 62.3792,-73.8373\"/>\n",
"<text text-anchor=\"start\" x=\"52.5\" y=\"-96.6\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-54.5\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"144\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-56.8\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"144\" y=\"-53.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M74.4034,-54.5C87.1928,-54.5 104.732,-54.5 118.874,-54.5\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"125.916,-54.5 118.916,-57.6501 122.416,-54.5 118.916,-54.5001 118.916,-54.5001 118.916,-54.5001 122.416,-54.5 118.916,-51.3501 125.916,-54.5 125.916,-54.5\"/>\n",
"<text text-anchor=\"start\" x=\"94.5\" y=\"-73.3\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"92\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M74.4034,-56.8C87.1928,-56.8 104.732,-56.8 118.874,-56.8\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"125.916,-56.8 118.916,-59.9501 122.416,-56.8 118.916,-56.8001 118.916,-56.8001 118.916,-56.8001 122.416,-56.8 118.916,-53.6501 125.916,-56.8 125.916,-56.8\"/>\n",
"<text text-anchor=\"start\" x=\"94.5\" y=\"-75.6\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"92\" y=\"-60.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node4\" class=\"node\"><title>&#45;1</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"56.5,-1 55.5,-1 55.5,-0 56.5,-0 56.5,-1\"/>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-1.8\" rx=\"1.8\" ry=\"1.8\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;1 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M128.436,-45.3549C104.425,-30.2785 58.9748,-1.73997 57.0623,-0.539139\"/>\n",
"<text text-anchor=\"start\" x=\"95.5\" y=\"-36.3\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M128.216,-47.3452C109.582,-35.428 78.2908,-15.4162 64.2282,-6.42267\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"65.183,-4.12514 57.9658,-2.41768 62.543,-8.25315 65.183,-4.12514\"/>\n",
"<text text-anchor=\"start\" x=\"95.5\" y=\"-38.6\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M56,-1.34375C56,-10.6098 56,-19.8758 56,-29.1418\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"56,-36.2275 52.8501,-29.2275 56,-32.7275 56.0001,-29.2275 56.0001,-29.2275 56.0001,-29.2275 56,-32.7275 59.1501,-29.2276 56,-36.2275 56,-36.2275\"/>\n",
"<g id=\"edge5\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M56,-3.94844C56,-13.1613 56,-22.3742 56,-31.5871\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"56,-38.6323 52.8501,-31.6322 56,-35.1323 56.0001,-31.6323 56.0001,-31.6323 56.0001,-31.6323 56,-35.1323 59.1501,-31.6323 56,-38.6323 56,-38.6323\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M57.0885,-0.5174C58.9055,-0.877388 88.2848,-6.83508 108,-19.5 114.864,-23.9094 121.451,-29.8619 127.021,-35.6065\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"131.831,-40.7735 124.756,-37.7958 129.446,-38.2116 127.061,-35.6496 127.061,-35.6496 127.061,-35.6496 129.446,-38.2116 129.367,-33.5034 131.831,-40.7735 131.831,-40.7735\"/>\n",
"<g id=\"edge6\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M58.3605,-2.07433C64.5216,-3.36203 90.2737,-9.23561 108,-20.8 115.043,-25.3947 121.748,-31.6386 127.37,-37.6363\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"132.206,-43.0208 125.185,-39.9183 129.867,-40.4171 127.528,-37.8133 127.528,-37.8133 127.528,-37.8133 129.867,-40.4171 129.872,-35.7083 132.206,-43.0208 132.206,-43.0208\"/>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f76dc5d7de0> >"
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f76203783c0> >"
]
}
],
"prompt_number": 30
"prompt_number": 5
},
{
"cell_type": "code",
@ -509,7 +487,7 @@
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"prompt_number": 6,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
@ -517,75 +495,76 @@
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"186pt\" height=\"168pt\"\n",
" viewBox=\"0.00 0.00 186.00 167.96\" 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 163.96)\">\n",
"<svg width=\"186pt\" height=\"170pt\"\n",
" viewBox=\"0.00 0.00 186.00 169.80\" 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 165.8)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-163.96 182,-163.96 182,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"66.5\" y=\"-145.76\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"91.5\" y=\"-145.76\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"107.5\" y=\"-145.76\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-165.8 182,-165.8 182,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"66.5\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"91.5\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<text text-anchor=\"start\" x=\"107.5\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<g id=\"clust1\" class=\"cluster\"><title>cluster_0</title>\n",
"<polygon fill=\"none\" stroke=\"orange\" points=\"30,-28.9597 30,-128.96 170,-128.96 170,-28.9597 30,-28.9597\"/>\n",
"<polygon fill=\"none\" stroke=\"orange\" points=\"30,-30.8 30,-130.8 170,-130.8 170,-30.8 30,-30.8\"/>\n",
"</g>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-54.9597\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"56\" y=\"-51.2597\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-56.8\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"56\" y=\"-53.1\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-54.9597C2.79388,-54.9597 17.1543,-54.9597 30.6317,-54.9597\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-54.9597 30.9419,-58.1098 34.4419,-54.9598 30.9419,-54.9598 30.9419,-54.9598 30.9419,-54.9598 34.4419,-54.9598 30.9418,-51.8098 37.9419,-54.9597 37.9419,-54.9597\"/>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-56.8C2.79388,-56.8 17.1543,-56.8 30.6317,-56.8\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-56.8 30.9419,-59.9501 34.4419,-56.8 30.9419,-56.8001 30.9419,-56.8001 30.9419,-56.8001 34.4419,-56.8 30.9418,-53.6501 37.9419,-56.8 37.9419,-56.8\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-71.997C48.3189,-81.8176 50.4453,-90.9597 56,-90.9597 60.166,-90.9597 62.4036,-85.8173 62.7128,-79.103\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-71.997 65.8541,-78.8416 62.5434,-75.4932 62.7076,-78.9893 62.7076,-78.9893 62.7076,-78.9893 62.5434,-75.4932 59.561,-79.1371 62.3792,-71.997 62.3792,-71.997\"/>\n",
"<text text-anchor=\"start\" x=\"52.5\" y=\"-109.76\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"48\" y=\"-94.7597\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-73.8373C48.3189,-83.6579 50.4453,-92.8 56,-92.8 60.166,-92.8 62.4036,-87.6576 62.7128,-80.9433\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-73.8373 65.8541,-80.6818 62.5434,-77.3335 62.7076,-80.8296 62.7076,-80.8296 62.7076,-80.8296 62.5434,-77.3335 59.561,-80.9774 62.3792,-73.8373 62.3792,-73.8373\"/>\n",
"<text text-anchor=\"start\" x=\"52.5\" y=\"-111.6\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"48\" y=\"-96.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-54.9597\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"144\" y=\"-51.2597\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-56.8\" rx=\"18\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"144\" y=\"-53.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M74.4034,-54.9597C87.1928,-54.9597 104.732,-54.9597 118.874,-54.9597\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"125.916,-54.9597 118.916,-58.1098 122.416,-54.9598 118.916,-54.9598 118.916,-54.9598 118.916,-54.9598 122.416,-54.9598 118.916,-51.8098 125.916,-54.9597 125.916,-54.9597\"/>\n",
"<text text-anchor=\"start\" x=\"94.5\" y=\"-58.7597\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M74.4034,-56.8C87.1928,-56.8 104.732,-56.8 118.874,-56.8\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"125.916,-56.8 118.916,-59.9501 122.416,-56.8 118.916,-56.8001 118.916,-56.8001 118.916,-56.8001 122.416,-56.8 118.916,-53.6501 125.916,-56.8 125.916,-56.8\"/>\n",
"<text text-anchor=\"start\" x=\"94.5\" y=\"-60.6\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node4\" class=\"node\"><title>&#45;1</title>\n",
"<polygon fill=\"#ffffaa\" stroke=\"none\" points=\"56.5,-1.45972 55.5,-1.45972 55.5,-0.459718 56.5,-0.459718 56.5,-1.45972\"/>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-1.8\" rx=\"1.8\" ry=\"1.8\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;1 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M131.723,-41.7008C125.318,-34.8036 116.831,-26.6488 108,-20.9597 88.1721,-8.18576 58.8985,-1.39181 57.0882,-0.979667\"/>\n",
"<text text-anchor=\"start\" x=\"95.5\" y=\"-39.7597\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<text text-anchor=\"start\" x=\"92\" y=\"-24.7597\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M131.685,-43.6003C125.268,-36.7206 116.782,-28.5634 108,-22.8 94.1305,-13.6981 75.6755,-7.29775 65.1938,-4.11103\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"65.7549,-1.72327 58.3508,-2.15071 64.4054,-6.4338 65.7549,-1.72327\"/>\n",
"<text text-anchor=\"start\" x=\"95.5\" y=\"-41.6\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<text text-anchor=\"start\" x=\"92\" y=\"-26.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#5da5da\">\u24ff</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M56,-1.80347C56,-11.0695 56,-20.3355 56,-29.6015\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"56,-36.6873 52.8501,-29.6872 56,-33.1873 56.0001,-29.6873 56.0001,-29.6873 56.0001,-29.6873 56,-33.1873 59.1501,-29.6873 56,-36.6873 56,-36.6873\"/>\n",
"<g id=\"edge5\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M56,-3.94844C56,-13.1613 56,-22.3742 56,-31.5871\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"56,-38.6323 52.8501,-31.6322 56,-35.1323 56.0001,-31.6323 56.0001,-31.6323 56.0001,-31.6323 56,-35.1323 59.1501,-31.6323 56,-38.6323 56,-38.6323\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M57.0904,-0.9493C58.9447,-0.740081 88.9129,2.42946 108,-8.95972 117.662,-14.7252 125.575,-24.2646 131.417,-33.166\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"135.127,-39.1724 128.768,-34.872 133.287,-36.1946 131.448,-33.2168 131.448,-33.2168 131.448,-33.2168 133.287,-36.1946 134.128,-31.5615 135.127,-39.1724 135.127,-39.1724\"/>\n",
"<g id=\"edge6\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M58.3854,-1.69527C64.6542,-1.28831 90.8043,-0.315741 108,-10.8 117.607,-16.6573 125.513,-26.2081 131.364,-35.0934\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"135.083,-41.0848 128.715,-36.7985 133.237,-38.111 131.391,-35.1373 131.391,-35.1373 131.391,-35.1373 133.237,-38.111 134.068,-33.4761 135.083,-41.0848 135.083,-41.0848\"/>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f76dc5d7f00> >"
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f7620378360> >"
]
}
],
"prompt_number": 31
"prompt_number": 6
},
{
"cell_type": "code",