* spot/twaalgos/cobuchi.cc, spot/twaalgos/cobuchi.hh (to_nca): New function. (weak_to_cobuchi): New internal function, used in to_nca and to_dca when appropriate. * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Implement the CoBuchi option. * python/spot/__init__.py: Support it in Python. * bin/common_post.cc: Add support for --buchi. * bin/autfilt.cc: Remove the --dca option. * tests/core/dca.test, tests/python/automata.ipynb: Adjust and add more tests. In particular, add more complex persistence and recurrence formulas to the list of dca.test. * tests/python/dca.test: Adjust and rename to... * tests/core/dca2.test: ... this. Add more tests, to the point that this is now failing, as described in issue #317. * tests/python/dca.py: Remove. * tests/Makefile.am: Adjust.
3747 lines
278 KiB
Text
3747 lines
278 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from IPython.display import display\n",
|
|
"import spot\n",
|
|
"spot.setup()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To build an automaton, simply call `translate()` with a formula, and a list of options to characterize the automaton you want (those options have the same name as the long options name of the `ltl2tgba` tool, and they can be abbreviated)."
|
|
]
|
|
},
|
|
{
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"419pt\" height=\"202pt\"\n",
|
|
" viewBox=\"0.00 0.00 419.00 202.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 198)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-198 415,-198 415,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-69C2.79388,-69 17.1543,-69 30.6317,-69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-69 30.9419,-72.1501 34.4419,-69 30.9419,-69.0001 30.9419,-69.0001 30.9419,-69.0001 34.4419,-69 30.9418,-65.8501 37.9419,-69 37.9419,-69\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-86.0373C48.3189,-95.8579 50.4453,-105 56,-105 60.166,-105 62.4036,-99.8576 62.7128,-93.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-86.0373 65.8541,-92.8818 62.5434,-89.5335 62.7076,-93.0296 62.7076,-93.0296 62.7076,-93.0296 62.5434,-89.5335 59.561,-93.1774 62.3792,-86.0373 62.3792,-86.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"173\" cy=\"-109\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"173\" cy=\"-109\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"173\" y=\"-105.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.4767,-74.731C92.1945,-81.2416 123.014,-91.9614 145.203,-99.6792\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"152.077,-102.07 144.431,-102.746 148.772,-100.921 145.466,-99.7706 145.466,-99.7706 145.466,-99.7706 148.772,-100.921 146.501,-96.7955 152.077,-102.07 152.077,-102.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"173\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"173\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.9903,-61.9087C92.9015,-53.0784 127.032,-37.9422 149.557,-27.9532\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"156.146,-25.0311 151.024,-30.7485 152.946,-26.45 149.747,-27.869 149.747,-27.869 149.747,-27.869 152.946,-26.45 148.47,-24.9894 156.146,-25.0311 156.146,-25.0311\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-55.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M162.933,-128.757C161.223,-139.35 164.578,-149 173,-149 179.448,-149 182.926,-143.343 183.435,-135.938\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.067,-128.757 186.571,-135.587 183.246,-132.253 183.425,-135.748 183.425,-135.748 183.425,-135.748 183.246,-132.253 180.279,-135.91 183.067,-128.757 183.067,-128.757\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"156\" y=\"-152.8\" font-family=\"Lato\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"283.5\" cy=\"-143\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"283.5\" y=\"-139.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M188.416,-124.722C195.199,-131.009 203.812,-137.563 213,-141 227.404,-146.388 244.685,-146.908 258.412,-146.072\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"265.631,-145.49 258.907,-149.192 262.143,-145.771 258.654,-146.052 258.654,-146.052 258.654,-146.052 262.143,-145.771 258.401,-142.912 265.631,-145.49 265.631,-145.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"223.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node6\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"393\" cy=\"-92\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"393\" y=\"-88.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M194.955,-107.056C213.394,-105.37 240.969,-102.908 265,-101 300.698,-98.1662 342.076,-95.3147 367.648,-93.6028\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"374.738,-93.1303 367.963,-96.7389 371.246,-93.363 367.753,-93.5958 367.753,-93.5958 367.753,-93.5958 371.246,-93.363 367.544,-90.4528 374.738,-93.1303 374.738,-93.1303\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"265\" y=\"-104.8\" font-family=\"Lato\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\"><title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M163.425,-33.5414C160.73,-43.9087 163.922,-54 173,-54 179.95,-54 183.45,-48.0847 183.499,-40.6591\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"182.575,-33.5414 186.6,-40.0771 183.026,-37.0123 183.477,-40.4831 183.477,-40.4831 183.477,-40.4831 183.026,-37.0123 180.353,-40.889 182.575,-33.5414 182.575,-33.5414\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"173\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\"><title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.237,-132.973C261.978,-129.002 254.385,-124.739 247,-122 232.611,-116.663 215.792,-113.477 201.927,-111.597\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"194.974,-110.728 202.311,-108.47 198.447,-111.162 201.92,-111.596 201.92,-111.596 201.92,-111.596 198.447,-111.162 201.53,-114.722 194.974,-110.728 194.974,-110.728\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"213\" y=\"-125.8\" font-family=\"Lato\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\"><title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M274.521,-158.916C272.179,-169.15 275.172,-179 283.5,-179 289.876,-179 293.125,-173.226 293.246,-165.927\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"292.479,-158.916 296.372,-165.532 292.86,-162.395 293.241,-165.874 293.241,-165.874 293.241,-165.874 292.86,-162.395 290.11,-166.217 292.479,-158.916 292.479,-158.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"277\" y=\"-182.8\" font-family=\"Lato\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\"><title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M300.362,-135.475C318.807,-126.724 349.364,-112.227 370.073,-102.403\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"376.422,-99.3903 371.448,-105.237 373.26,-100.891 370.098,-102.391 370.098,-102.391 370.098,-102.391 373.26,-100.891 368.748,-99.5448 376.422,-99.3903 376.422,-99.3903\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-128.8\" font-family=\"Lato\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\"><title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M375.482,-87.5706C351.175,-81.6713 304.39,-72.6745 265,-79 242.525,-82.6091 218.077,-90.9312 200.187,-97.8967\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"193.429,-100.585 198.769,-95.0706 196.681,-99.2911 199.933,-97.9975 199.933,-97.9975 199.933,-97.9975 196.681,-99.2911 201.098,-100.924 193.429,-100.585 193.429,-100.585\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"280\" y=\"-82.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M383.767,-107.541C381.169,-117.909 384.246,-128 393,-128 399.702,-128 403.077,-122.085 403.124,-114.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"402.233,-107.541 406.229,-114.095 402.668,-111.014 403.103,-114.487 403.103,-114.487 403.103,-114.487 402.668,-111.014 399.977,-114.879 402.233,-107.541 402.233,-107.541\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\">!c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f9d08673930> >"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.translate('(a U b) & GFc & GFd', 'BA', 'complete'); a"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The call the `spot.setup()` in the first cells has installed a default style for the graphviz output. If you want to change this style temporarily, you can call the `show(style)` method explicitely. For instance here is a vertical layout with the default font of GraphViz."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"351pt\" viewBox=\"0.00 0.00 237.00 351.00\" width=\"237pt\" 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 347)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-347 233,-347 233,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"131\" cy=\"-287\" fill=\"none\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"131\" y=\"-283.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M131,-341.845C131,-340.206 131,-325.846 131,-312.368\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"131,-305.058 134.15,-312.058 131,-308.558 131,-312.058 131,-312.058 131,-312.058 131,-308.558 127.85,-312.058 131,-305.058 131,-305.058\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M148.037,-293.379C157.858,-294.681 167,-292.555 167,-287 167,-282.834 161.858,-280.596 155.143,-280.287\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"148.037,-280.621 154.882,-277.146 151.533,-280.457 155.03,-280.292 155.03,-280.292 155.03,-280.292 151.533,-280.457 155.177,-283.439 148.037,-280.621 148.037,-280.621\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"185.5\" y=\"-283.3\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"78\" cy=\"-196\" fill=\"none\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"78\" cy=\"-196\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"78\" y=\"-192.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M122.009,-270.902C113.927,-257.33 101.911,-237.152 92.4759,-221.309\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"88.8703,-215.254 95.1583,-219.656 90.6611,-218.261 92.4519,-221.268 92.4519,-221.268 92.4519,-221.268 90.6611,-218.261 89.7454,-222.88 88.8703,-215.254 88.8703,-215.254\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"113.5\" y=\"-239.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>4</title>\n",
|
|
"<ellipse cx=\"186\" cy=\"-196\" fill=\"none\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"186\" y=\"-192.3\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->4</title>\n",
|
|
"<path d=\"M140.082,-271.303C149.079,-256.746 162.942,-234.312 173.083,-217.902\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"176.904,-211.718 175.904,-219.329 175.064,-214.696 173.224,-217.673 173.224,-217.673 173.224,-217.673 175.064,-214.696 170.545,-216.017 176.904,-211.718 176.904,-211.718\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"181.5\" y=\"-239.8\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
|
"<path d=\"M98.5808,-204.37C108.845,-205.528 118,-202.738 118,-196 118,-190.946 112.85,-188.113 105.945,-187.501\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"98.5808,-187.63 105.525,-184.358 102.08,-187.569 105.58,-187.508 105.58,-187.508 105.58,-187.508 102.08,-187.569 105.635,-190.657 98.5808,-187.63 98.5808,-187.63\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-192.3\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>2</title>\n",
|
|
"<ellipse cx=\"18\" cy=\"-105\" fill=\"none\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"18\" y=\"-101.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->2</title>\n",
|
|
"<path d=\"M57.5964,-187.099C44.382,-180.81 28.1659,-170.619 20,-156 15.6311,-148.178 14.4575,-138.545 14.6139,-129.828\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"15.017,-122.782 17.7619,-129.95 14.8171,-126.276 14.6171,-129.77 14.6171,-129.77 14.6171,-129.77 14.8171,-126.276 11.4722,-129.59 15.017,-122.782 15.017,-122.782\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"26\" y=\"-144.8\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node6\"><title>3</title>\n",
|
|
"<ellipse cx=\"102\" cy=\"-18\" fill=\"none\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"102\" y=\"-14.3\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>1->3</title>\n",
|
|
"<path d=\"M83.8727,-174.481C85.4014,-168.556 86.9204,-162.056 88,-156 94.9806,-116.843 98.8007,-70.7236 100.62,-43.2262\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"101.081,-35.9857 103.78,-43.1718 100.859,-39.4786 100.636,-42.9715 100.636,-42.9715 100.636,-42.9715 100.859,-39.4786 97.4927,-42.7713 101.081,-35.9857 101.081,-35.9857\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"116.5\" y=\"-101.3\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge13\"><title>4->4</title>\n",
|
|
"<path d=\"M202.29,-204.016C212.389,-205.949 222,-203.277 222,-196 222,-190.542 216.594,-187.674 209.63,-187.397\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"202.29,-187.984 209.017,-184.286 205.779,-187.705 209.268,-187.426 209.268,-187.426 209.268,-187.426 205.779,-187.705 209.519,-190.566 202.29,-187.984 202.29,-187.984\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"225.5\" y=\"-192.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>2->1</title>\n",
|
|
"<path d=\"M27.6536,-120.319C36.9047,-134.042 51.0376,-155.006 61.9772,-171.233\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"66.1459,-177.416 59.621,-173.373 64.1894,-174.514 62.2329,-171.612 62.2329,-171.612 62.2329,-171.612 64.1894,-174.514 64.8448,-169.851 66.1459,-177.416 66.1459,-177.416\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"68\" y=\"-144.8\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>2->2</title>\n",
|
|
"<path d=\"M34.6641,-112.383C44.625,-114.023 54,-111.562 54,-105 54,-100.078 48.7266,-97.4634 41.8876,-97.1558\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"34.6641,-97.6172 41.449,-94.0273 38.1569,-97.394 41.6498,-97.1709 41.6498,-97.1709 41.6498,-97.1709 38.1569,-97.394 41.8507,-100.314 34.6641,-97.6172 34.6641,-97.6172\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"60\" y=\"-101.3\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>2->3</title>\n",
|
|
"<path d=\"M26.1601,-88.4509C32.1393,-77.9698 40.9431,-64.2405 51,-54 59.6413,-45.201 70.7932,-37.2529 80.4641,-31.163\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"86.5641,-27.4392 82.2308,-33.7752 83.5768,-29.2629 80.5894,-31.0865 80.5894,-31.0865 80.5894,-31.0865 83.5768,-29.2629 78.9481,-28.3979 86.5641,-27.4392 86.5641,-27.4392\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"69.5\" y=\"-57.8\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge11\"><title>3->1</title>\n",
|
|
"<path d=\"M112.987,-32.4924C127.759,-52.3541 150.875,-90.6129 139,-123 131.283,-144.048 114.387,-163.166 100.33,-176.403\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"94.9106,-181.355 97.9539,-174.308 97.4946,-178.994 100.079,-176.633 100.079,-176.633 100.079,-176.633 97.4946,-178.994 102.203,-178.959 94.9106,-181.355 94.9106,-181.355\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"145.5\" y=\"-101.3\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge12\"><title>3->3</title>\n",
|
|
"<path d=\"M118.664,-25.3828C128.625,-27.0234 138,-24.5625 138,-18 138,-13.0781 132.727,-10.4634 125.888,-10.1558\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"118.664,-10.6172 125.449,-7.02727 122.157,-10.394 125.65,-10.1709 125.65,-10.1709 125.65,-10.1709 122.157,-10.394 125.851,-13.3145 118.664,-10.6172 118.664,-10.6172\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143.5\" y=\"-14.3\">!c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a.show(\"v\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"If you want to add some style options to the existing one, pass a dot to the `show()` function in addition to your own style options:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"355pt\" viewBox=\"0.00 0.00 427.00 355.00\" width=\"427pt\" 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 351)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-351 423,-351 423,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"188.5\" y=\"-332.8\">Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"210.5\" y=\"-332.8\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"226.5\" y=\"-332.8\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"186.5\" y=\"-318.8\">[Büchi]</text>\n",
|
|
"<g class=\"cluster\" id=\"clust1\"><title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" points=\"143,-101 143,-303 411,-303 411,-101 143,-101\" stroke=\"green\"/>\n",
|
|
"</g>\n",
|
|
"<g class=\"cluster\" id=\"clust2\"><title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" points=\"143,-8 143,-93 195,-93 195,-8 143,-8\" stroke=\"grey\"/>\n",
|
|
"</g>\n",
|
|
"<g class=\"cluster\" id=\"clust3\"><title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" points=\"30,-18 30,-103 82,-103 82,-18 30,-18\" stroke=\"red\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-44\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-40.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-44C2.79388,-44 17.1543,-44 30.6317,-44\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-44 30.9419,-47.1501 34.4419,-44 30.9419,-44.0001 30.9419,-44.0001 30.9419,-44.0001 34.4419,-44 30.9418,-40.8501 37.9419,-44 37.9419,-44\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-61.0373C48.3189,-70.8579 50.4453,-80 56,-80 60.166,-80 62.4036,-74.8576 62.7128,-68.1433\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-61.0373 65.8541,-67.8818 62.5434,-64.5335 62.7076,-68.0296 62.7076,-68.0296 62.7076,-68.0296 62.5434,-64.5335 59.561,-68.1774 62.3792,-61.0373 62.3792,-61.0373\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"37.5\" y=\"-83.8\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"169\" cy=\"-151\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"169\" y=\"-147.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M69.7331,-56.2743C89.5555,-75.3823 127.846,-112.293 150.33,-133.967\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"155.415,-138.869 148.189,-136.279 152.896,-136.44 150.376,-134.011 150.376,-134.011 150.376,-134.011 152.896,-136.44 152.562,-131.743 155.415,-138.869 155.415,-138.869\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"108\" y=\"-120.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g class=\"node\" id=\"node6\"><title>4</title>\n",
|
|
"<ellipse cx=\"169\" cy=\"-34\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"169\" y=\"-30.3\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->4</title>\n",
|
|
"<path d=\"M74.3438,-42.4375C92.9975,-40.757 122.797,-38.0723 143.763,-36.1835\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"150.778,-35.5515 144.089,-39.317 147.292,-35.8656 143.806,-36.1797 143.806,-36.1797 143.806,-36.1797 147.292,-35.8656 143.524,-33.0424 150.778,-35.5515 150.778,-35.5515\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-44.8\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
|
"<path d=\"M160.021,-166.916C157.679,-177.15 160.672,-187 169,-187 175.376,-187 178.625,-181.226 178.746,-173.927\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"177.979,-166.916 181.872,-173.532 178.36,-170.395 178.741,-173.874 178.741,-173.874 178.741,-173.874 178.36,-170.395 175.61,-174.217 177.979,-166.916 177.979,-166.916\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"152\" y=\"-205.8\">c & d</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"161\" y=\"-190.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"275.5\" cy=\"-193\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"275.5\" y=\"-189.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->2</title>\n",
|
|
"<path d=\"M186.737,-147.555C201.262,-145.401 222.492,-144.312 239,-152 248.114,-156.244 255.801,-164.081 261.667,-171.775\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"265.79,-177.569 259.165,-173.693 263.76,-174.718 261.731,-171.866 261.731,-171.866 261.731,-171.866 263.76,-174.718 264.297,-170.04 265.79,-177.569 265.79,-177.569\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"215.5\" y=\"-170.8\">!d</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"214\" y=\"-155.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>3</title>\n",
|
|
"<ellipse cx=\"385\" cy=\"-193\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"385\" y=\"-189.3\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>1->3</title>\n",
|
|
"<path d=\"M186.385,-144.944C210.438,-136.96 256.512,-125.127 294,-136 321.45,-143.961 348.554,-163.081 365.728,-176.986\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"371.158,-181.479 363.756,-179.443 368.461,-179.247 365.764,-177.016 365.764,-177.016 365.764,-177.016 368.461,-179.247 367.772,-174.589 371.158,-181.479 371.158,-181.479\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"257\" y=\"-154.8\">!c & d</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"267.5\" y=\"-139.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>2->1</title>\n",
|
|
"<path d=\"M257.435,-192.94C242.865,-192.285 221.682,-189.872 205,-182 198.283,-178.83 191.897,-173.966 186.462,-169.024\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"181.368,-164.115 188.595,-166.704 183.889,-166.544 186.409,-168.972 186.409,-168.972 186.409,-168.972 183.889,-166.544 184.223,-171.241 181.368,-164.115 181.368,-164.115\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"205\" y=\"-195.8\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>2->2</title>\n",
|
|
"<path d=\"M266.521,-208.916C264.179,-219.15 267.172,-229 275.5,-229 281.876,-229 285.125,-223.226 285.246,-215.927\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"284.479,-208.916 288.372,-215.532 284.86,-212.395 285.241,-215.874 285.241,-215.874 285.241,-215.874 284.86,-212.395 282.11,-216.217 284.479,-208.916 284.479,-208.916\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"269\" y=\"-232.8\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>2->3</title>\n",
|
|
"<path d=\"M293.772,-193C311.638,-193 339.686,-193 359.767,-193\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"366.771,-193 359.771,-196.15 363.271,-193 359.771,-193 359.771,-193 359.771,-193 363.271,-193 359.771,-189.85 366.771,-193 366.771,-193\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"312\" y=\"-196.8\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge11\"><title>3->1</title>\n",
|
|
"<path d=\"M372.089,-205.642C349.996,-227.482 300.914,-268.52 257,-253 219.934,-239.901 193.906,-199.684 180.487,-173.836\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"177.192,-167.28 183.15,-172.121 178.764,-170.408 180.336,-173.535 180.336,-173.535 180.336,-173.535 178.764,-170.408 177.521,-174.949 177.192,-167.28 177.192,-167.28\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"272\" y=\"-259.8\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge12\"><title>3->3</title>\n",
|
|
"<path d=\"M375.767,-208.541C373.169,-218.909 376.246,-229 385,-229 391.702,-229 395.077,-223.085 395.124,-215.659\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"394.233,-208.541 398.229,-215.095 394.668,-212.014 395.103,-215.487 395.103,-215.487 395.103,-215.487 394.668,-212.014 391.977,-215.879 394.233,-208.541 394.233,-208.541\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"379.5\" y=\"-232.8\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge13\"><title>4->4</title>\n",
|
|
"<path d=\"M160.021,-49.916C157.679,-60.1504 160.672,-70 169,-70 175.376,-70 178.625,-64.2263 178.746,-56.9268\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"177.979,-49.916 181.872,-56.5315 178.36,-53.3952 178.741,-56.8744 178.741,-56.8744 178.741,-56.8744 178.36,-53.3952 175.61,-57.2174 177.979,-49.916 177.979,-49.916\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"169\" y=\"-73.8\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a.show(\".ast\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The `translate()` function can also be called with a formula object. Either as a function, or as a method."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$a \\mathbin{\\mathsf{U}} b$"
|
|
],
|
|
"text/plain": [
|
|
"a U b"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f = spot.formula('a U b'); f"
|
|
]
|
|
},
|
|
{
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"171pt\" height=\"85pt\"\n",
|
|
" viewBox=\"0.00 0.00 171.00 85.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 81)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-81 167,-81 167,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-22C2.79388,-22 17.1543,-22 30.6317,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-22 30.9419,-25.1501 34.4419,-22 30.9419,-22.0001 30.9419,-22.0001 30.9419,-22.0001 34.4419,-22 30.9418,-18.8501 37.9419,-22 37.9419,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-39.0373C48.3189,-48.8579 50.4453,-58 56,-58 60.166,-58 62.4036,-52.8576 62.7128,-46.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-39.0373 65.8541,-45.8818 62.5434,-42.5335 62.7076,-46.0296 62.7076,-46.0296 62.7076,-46.0296 62.5434,-42.5335 59.561,-46.1774 62.3792,-39.0373 62.3792,-39.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"141\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"141\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"141\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.1977,-22C85.0734,-22 99.3874,-22 111.887,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"118.997,-22 111.997,-25.1501 115.497,-22 111.997,-22.0001 111.997,-22.0001 111.997,-22.0001 115.497,-22 111.997,-18.8501 118.997,-22 118.997,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M132.994,-42.5808C131.886,-52.8447 134.555,-62 141,-62 145.834,-62 148.544,-56.8502 149.129,-49.9451\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"149.006,-42.5808 152.273,-49.5273 149.065,-46.0803 149.123,-49.5798 149.123,-49.5798 149.123,-49.5798 149.065,-46.0803 145.973,-49.6324 149.006,-42.5808 149.006,-42.5808\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"141\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">1</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 0x7f9d0857cbd0> >"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate(f)"
|
|
]
|
|
},
|
|
{
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"171pt\" height=\"85pt\"\n",
|
|
" viewBox=\"0.00 0.00 171.00 85.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 81)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-81 167,-81 167,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-22C2.79388,-22 17.1543,-22 30.6317,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-22 30.9419,-25.1501 34.4419,-22 30.9419,-22.0001 30.9419,-22.0001 30.9419,-22.0001 34.4419,-22 30.9418,-18.8501 37.9419,-22 37.9419,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-39.0373C48.3189,-48.8579 50.4453,-58 56,-58 60.166,-58 62.4036,-52.8576 62.7128,-46.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-39.0373 65.8541,-45.8818 62.5434,-42.5335 62.7076,-46.0296 62.7076,-46.0296 62.7076,-46.0296 62.5434,-42.5335 59.561,-46.1774 62.3792,-39.0373 62.3792,-39.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"141\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"141\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"141\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.1977,-22C85.0734,-22 99.3874,-22 111.887,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"118.997,-22 111.997,-25.1501 115.497,-22 111.997,-22.0001 111.997,-22.0001 111.997,-22.0001 115.497,-22 111.997,-18.8501 118.997,-22 118.997,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M132.994,-42.5808C131.886,-52.8447 134.555,-62 141,-62 145.834,-62 148.544,-56.8502 149.129,-49.9451\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"149.006,-42.5808 152.273,-49.5273 149.065,-46.0803 149.123,-49.5798 149.123,-49.5798 149.123,-49.5798 149.065,-46.0803 145.973,-49.6324 149.006,-42.5808 149.006,-42.5808\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"141\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">1</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 0x7f9d08673960> >"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f.translate()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"When used as a method, all the arguments are translation options. Here is a monitor:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"163pt\" height=\"77pt\"\n",
|
|
" viewBox=\"0.00 0.00 163.00 77.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 73)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-73 159,-73 159,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-18C2.79388,-18 17.1543,-18 30.6317,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-18 30.9419,-21.1501 34.4419,-18 30.9419,-18.0001 30.9419,-18.0001 30.9419,-18.0001 34.4419,-18 30.9418,-14.8501 37.9419,-18 37.9419,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"137\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"137\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.1418,-18C85.1153,-18 99.5214,-18 111.67,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"118.892,-18 111.892,-21.1501 115.392,-18 111.892,-18.0001 111.892,-18.0001 111.892,-18.0001 115.392,-18 111.892,-14.8501 118.892,-18 118.892,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M129.969,-34.6641C128.406,-44.625 130.75,-54 137,-54 141.688,-54 144.178,-48.7266 144.471,-41.8876\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"144.031,-34.6641 147.601,-41.4598 144.244,-38.1576 144.456,-41.6511 144.456,-41.6511 144.456,-41.6511 144.244,-38.1576 141.312,-41.8425 144.031,-34.6641 144.031,-34.6641\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"137\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</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 0x7f9d08673b40> >"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f.translate('mon')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The following three cells show a formulas for which it makes a difference to select `'small'` or `'deterministic'`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\mathsf{G} a \\lor \\mathsf{G} b \\lor \\mathsf{G} c$"
|
|
],
|
|
"text/plain": [
|
|
"Ga | Gb | Gc"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f = spot.formula('Ga | Gb | Gc'); f"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"177pt\" viewBox=\"0.00 0.00 253.00 177.00\" width=\"253pt\" 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 173)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-173 249,-173 249,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"109\" cy=\"-113\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-109.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M109,-167.845C109,-166.206 109,-151.846 109,-138.368\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"109,-131.058 112.15,-138.058 109,-134.558 109,-138.058 109,-138.058 109,-138.058 109,-134.558 105.85,-138.058 109,-131.058 109,-131.058\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"22\" cy=\"-22\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"22\" cy=\"-22\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"22\" y=\"-18.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->1</title>\n",
|
|
"<path d=\"M96.903,-99.6249C82.686,-85.081 58.8862,-60.7342 41.9306,-43.3887\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"36.9064,-38.2491 44.0522,-41.0528 39.353,-40.7519 41.7996,-43.2548 41.7996,-43.2548 41.7996,-43.2548 39.353,-40.7519 39.547,-45.4567 36.9064,-38.2491 36.9064,-38.2491\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"74\" y=\"-65.8\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"109\" cy=\"-22\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"109\" cy=\"-22\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-18.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->2</title>\n",
|
|
"<path d=\"M109,-94.8399C109,-82.5378 109,-65.6842 109,-51.3928\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"109,-44.1905 112.15,-51.1905 109,-47.6905 109,-51.1905 109,-51.1905 109,-51.1905 109,-47.6905 105.85,-51.1906 109,-44.1905 109,-44.1905\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"109\" y=\"-65.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>3</title>\n",
|
|
"<ellipse cx=\"198\" cy=\"-22\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"198\" cy=\"-22\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"198\" y=\"-18.3\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->3</title>\n",
|
|
"<path d=\"M121.375,-99.6249C135.919,-85.081 160.266,-60.7342 177.611,-43.3887\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"182.751,-38.2491 180.029,-45.4262 180.276,-40.7239 177.801,-43.1988 177.801,-43.1988 177.801,-43.1988 180.276,-40.7239 175.574,-40.9714 182.751,-38.2491 182.751,-38.2491\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"158\" y=\"-65.8\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
|
"<path d=\"M42.5808,-30.3702C52.8447,-31.5284 62,-28.7383 62,-22 62,-16.9463 56.8502,-14.1134 49.9451,-13.5015\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"42.5808,-13.6298 49.5248,-10.3582 46.0803,-13.5688 49.5797,-13.5077 49.5797,-13.5077 49.5797,-13.5077 46.0803,-13.5688 49.6347,-16.6573 42.5808,-13.6298 42.5808,-13.6298\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"62\" y=\"-18.3\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>2->2</title>\n",
|
|
"<path d=\"M129.581,-30.3702C139.845,-31.5284 149,-28.7383 149,-22 149,-16.9463 143.85,-14.1134 136.945,-13.5015\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"129.581,-13.6298 136.525,-10.3582 133.08,-13.5688 136.58,-13.5077 136.58,-13.5077 136.58,-13.5077 133.08,-13.5688 136.635,-16.6573 129.581,-13.6298 129.581,-13.6298\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"149\" y=\"-18.3\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>3->3</title>\n",
|
|
"<path d=\"M218.581,-30.3702C228.845,-31.5284 238,-28.7383 238,-22 238,-16.9463 232.85,-14.1134 225.945,-13.5015\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"218.581,-13.6298 225.525,-10.3582 222.08,-13.5688 225.58,-13.5077 225.58,-13.5077 225.58,-13.5077 222.08,-13.5688 225.635,-16.6573 218.581,-13.6298 218.581,-13.6298\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"238\" y=\"-18.3\">c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f.translate('ba', 'small').show('.v')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"280pt\" viewBox=\"0.00 0.00 596.88 280.00\" width=\"597pt\" 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 276)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-276 592.883,-276 592.883,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 6 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>6</title>\n",
|
|
"<ellipse cx=\"279.883\" cy=\"-212\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"279.883\" cy=\"-212\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"279.883\" y=\"-208.3\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->6 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->6</title>\n",
|
|
"<path d=\"M279.883,-270.834C279.883,-269.159 279.883,-255.116 279.883,-241.289\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"279.883,-234.144 283.033,-241.144 279.883,-237.644 279.883,-241.144 279.883,-241.144 279.883,-241.144 279.883,-237.644 276.733,-241.145 279.883,-234.144 279.883,-234.144\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g class=\"edge\" id=\"edge20\"><title>6->6</title>\n",
|
|
"<path d=\"M300.874,-219.317C310.971,-220.22 319.883,-217.781 319.883,-212 319.883,-207.664 314.87,-205.208 308.104,-204.632\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"300.874,-204.683 307.852,-201.484 304.374,-204.658 307.874,-204.634 307.874,-204.634 307.874,-204.634 304.374,-204.658 307.896,-207.784 300.874,-204.683 300.874,-204.683\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"319.883\" y=\"-208.3\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>0</title>\n",
|
|
"<ellipse cx=\"98.8834\" cy=\"-22\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"98.8834\" cy=\"-22\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"98.8834\" y=\"-18.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge14\"><title>6->0</title>\n",
|
|
"<path d=\"M258.05,-208.601C199.066,-201.628 38.871,-179.258 7.88337,-139 -20.5572,-102.052 37.5535,-58.9513 73.4411,-37.1624\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"79.8576,-33.3483 75.45,-39.6328 76.849,-35.1367 73.8404,-36.9251 73.8404,-36.9251 73.8404,-36.9251 76.849,-35.1367 72.2309,-34.2174 79.8576,-33.3483 79.8576,-33.3483\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"7.88337\" y=\"-113.3\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>1</title>\n",
|
|
"<ellipse cx=\"104.883\" cy=\"-117\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"104.883\" cy=\"-117\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"104.883\" y=\"-113.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge15\"><title>6->1</title>\n",
|
|
"<path d=\"M258.548,-205.147C236.734,-198.695 202.263,-187.184 174.883,-172 157.384,-162.295 139.553,-148.469 126.267,-137.237\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"120.866,-132.602 128.229,-134.77 123.522,-134.881 126.178,-137.161 126.178,-137.161 126.178,-137.161 123.522,-134.881 124.126,-139.551 120.866,-132.602 120.866,-132.602\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"174.883\" y=\"-160.8\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>2</title>\n",
|
|
"<ellipse cx=\"326.883\" cy=\"-22\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"326.883\" cy=\"-22\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"326.883\" y=\"-18.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge16\"><title>6->2</title>\n",
|
|
"<path d=\"M295.807,-196.555C302.236,-189.767 309.034,-181.157 312.883,-172 329.476,-132.531 330.508,-82.1352 329.137,-51.2346\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"328.768,-44.1943 332.28,-51.0197 328.951,-47.6895 329.135,-51.1847 329.135,-51.1847 329.135,-51.1847 328.951,-47.6895 325.989,-51.3498 328.768,-44.1943 328.768,-44.1943\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"327.883\" y=\"-113.3\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node6\"><title>3</title>\n",
|
|
"<ellipse cx=\"478.883\" cy=\"-22\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"478.883\" cy=\"-22\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"478.883\" y=\"-18.3\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge17\"><title>6->3</title>\n",
|
|
"<path d=\"M301.69,-207.819C355.332,-199.487 491.143,-175.144 515.883,-139 535.586,-110.215 514.515,-70.3416 497.048,-45.6345\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"492.712,-39.6958 499.384,-43.4919 494.776,-42.5226 496.84,-45.3493 496.84,-45.3493 496.84,-45.3493 494.776,-42.5226 494.296,-47.2068 492.712,-39.6958 492.712,-39.6958\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"522.883\" y=\"-113.3\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g class=\"node\" id=\"node7\"><title>4</title>\n",
|
|
"<ellipse cx=\"218.883\" cy=\"-117\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"218.883\" cy=\"-117\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"218.883\" y=\"-113.3\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge18\"><title>6->4</title>\n",
|
|
"<path d=\"M266.785,-194.191C261.662,-187.412 255.838,-179.446 250.883,-172 244.654,-162.639 238.247,-152.05 232.818,-142.746\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"229.23,-136.54 235.461,-141.023 230.982,-139.57 232.734,-142.6 232.734,-142.6 232.734,-142.6 230.982,-139.57 230.007,-144.176 229.23,-136.54 229.23,-136.54\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"250.883\" y=\"-160.8\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g class=\"node\" id=\"node8\"><title>5</title>\n",
|
|
"<ellipse cx=\"432.883\" cy=\"-117\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<ellipse cx=\"432.883\" cy=\"-117\" fill=\"none\" rx=\"22\" ry=\"22\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"432.883\" y=\"-113.3\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g class=\"edge\" id=\"edge19\"><title>6->5</title>\n",
|
|
"<path d=\"M298.339,-199.782C325.793,-183.094 377.444,-151.699 408.145,-133.037\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"414.363,-129.258 410.017,-135.585 411.372,-131.076 408.381,-132.894 408.381,-132.894 408.381,-132.894 411.372,-131.076 406.745,-130.202 414.363,-129.258 414.363,-129.258\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"364.883\" y=\"-160.8\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M119.464,-30.3702C129.728,-31.5284 138.883,-28.7383 138.883,-22 138.883,-16.9463 133.734,-14.1134 126.829,-13.5015\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"119.464,-13.6298 126.408,-10.3582 122.964,-13.5688 126.463,-13.5077 126.463,-13.5077 126.463,-13.5077 122.964,-13.5688 126.518,-16.6573 119.464,-13.6298 119.464,-13.6298\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"138.883\" y=\"-18.3\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>1->0</title>\n",
|
|
"<path d=\"M101.764,-94.9925C101.016,-89.1774 100.312,-82.8549 99.8834,-77 99.2697,-68.6098 98.9633,-59.468 98.8243,-51.1319\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"98.7416,-44.0528 101.973,-51.0155 98.7825,-47.5526 98.8234,-51.0524 98.8234,-51.0524 98.8234,-51.0524 98.7825,-47.5526 95.6736,-51.0892 98.7416,-44.0528 98.7416,-44.0528\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"99.8834\" y=\"-65.8\">!b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->1</title>\n",
|
|
"<path d=\"M125.464,-125.37C135.728,-126.528 144.883,-123.738 144.883,-117 144.883,-111.946 139.734,-109.113 132.829,-108.501\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"125.464,-108.63 132.408,-105.358 128.964,-108.569 132.463,-108.508 132.463,-108.508 132.463,-108.508 128.964,-108.569 132.518,-111.657 125.464,-108.63 125.464,-108.63\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"144.883\" y=\"-113.3\">b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->2</title>\n",
|
|
"<path d=\"M118.615,-99.4594C130.558,-85.4667 147.262,-66.9259 155.883,-62 201.053,-36.1916 262.094,-27.4608 297.704,-24.508\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"304.902,-23.9616 298.16,-27.6325 301.412,-24.2266 297.922,-24.4916 297.922,-24.4916 297.922,-24.4916 301.412,-24.2266 297.683,-21.3506 304.902,-23.9616 304.902,-23.9616\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"155.883\" y=\"-65.8\">b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>2->2</title>\n",
|
|
"<path d=\"M347.464,-30.3702C357.728,-31.5284 366.883,-28.7383 366.883,-22 366.883,-16.9463 361.734,-14.1134 354.829,-13.5015\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"347.464,-13.6298 354.408,-10.3582 350.964,-13.5688 354.463,-13.5077 354.463,-13.5077 354.463,-13.5077 350.964,-13.5688 354.518,-16.6573 347.464,-13.6298 347.464,-13.6298\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"366.883\" y=\"-18.3\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>3->3</title>\n",
|
|
"<path d=\"M499.464,-30.3702C509.728,-31.5284 518.883,-28.7383 518.883,-22 518.883,-16.9463 513.734,-14.1134 506.829,-13.5015\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"499.464,-13.6298 506.408,-10.3582 502.964,-13.5688 506.463,-13.5077 506.463,-13.5077 506.463,-13.5077 502.964,-13.5688 506.518,-16.6573 499.464,-13.6298 499.464,-13.6298\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"518.883\" y=\"-18.3\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>4->0</title>\n",
|
|
"<path d=\"M214.631,-95.3163C211.41,-84.2043 205.939,-70.9826 196.883,-62 178.078,-43.3468 149.236,-33.3217 127.704,-28.1297\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"120.707,-26.5487 128.229,-25.019 124.121,-27.3201 127.534,-28.0915 127.534,-28.0915 127.534,-28.0915 124.121,-27.3201 126.84,-31.1641 120.707,-26.5487 120.707,-26.5487\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"206.883\" y=\"-65.8\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>4->3</title>\n",
|
|
"<path d=\"M238.845,-107.727C265.547,-96.7677 314.456,-77.0653 356.883,-62 388.924,-50.6228 426.214,-38.9231 451.051,-31.345\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"458.026,-29.2257 452.244,-34.2749 454.677,-30.2433 451.328,-31.261 451.328,-31.261 451.328,-31.261 454.677,-30.2433 450.412,-28.2471 458.026,-29.2257 458.026,-29.2257\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"356.883\" y=\"-65.8\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>4->4</title>\n",
|
|
"<path d=\"M239.464,-125.37C249.728,-126.528 258.883,-123.738 258.883,-117 258.883,-111.946 253.734,-109.113 246.829,-108.501\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"239.464,-108.63 246.408,-105.358 242.964,-108.569 246.463,-108.508 246.463,-108.508 246.463,-108.508 242.964,-108.569 246.518,-111.657 239.464,-108.63 239.464,-108.63\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"258.883\" y=\"-113.3\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge11\"><title>5->2</title>\n",
|
|
"<path d=\"M423.273,-97.1109C416.901,-85.9186 407.728,-72.013 396.883,-62 384.323,-50.4024 367.69,-40.9523 353.79,-34.2605\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"347.216,-31.1996 354.891,-31.2984 350.389,-32.6769 353.562,-34.1541 353.562,-34.1541 353.562,-34.1541 350.389,-32.6769 352.232,-37.0098 347.216,-31.1996 347.216,-31.1996\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"408.883\" y=\"-65.8\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge12\"><title>5->3</title>\n",
|
|
"<path d=\"M444.753,-98.1028C448.839,-91.5928 453.288,-84.0908 456.883,-77 461.334,-68.2222 465.577,-58.3236 469.128,-49.4213\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"471.701,-42.843 472.085,-50.5095 470.426,-46.1025 469.152,-49.3621 469.152,-49.3621 469.152,-49.3621 470.426,-46.1025 466.218,-48.2147 471.701,-42.843 471.701,-42.843\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"462.883\" y=\"-65.8\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g class=\"edge\" id=\"edge13\"><title>5->5</title>\n",
|
|
"<path d=\"M453.464,-125.37C463.728,-126.528 472.883,-123.738 472.883,-117 472.883,-111.946 467.734,-109.113 460.829,-108.501\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"453.464,-108.63 460.408,-105.358 456.964,-108.569 460.463,-108.508 460.463,-108.508 460.463,-108.508 456.964,-108.569 460.518,-111.657 453.464,-108.63 453.464,-108.63\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"472.883\" y=\"-113.3\">a & b</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f.translate('ba', 'det').show('v.')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Here is how to build an unambiguous automaton:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"302pt\" height=\"311pt\"\n",
|
|
" viewBox=\"0.00 0.00 301.50 311.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 307)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-307 297.5,-307 297.5,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-123\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-119.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-123C2.79388,-123 17.1543,-123 30.6317,-123\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-123 30.9419,-126.15 34.4419,-123 30.9419,-123 30.9419,-123 30.9419,-123 34.4419,-123 30.9418,-119.85 37.9419,-123 37.9419,-123\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"157.5\" cy=\"-204\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"157.5\" y=\"-200.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.5112,-137.647C72.9549,-146.82 82.0794,-158.476 92,-167 104.757,-177.961 121.236,-187.349 134.344,-193.926\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"140.854,-197.102 133.181,-196.863 137.708,-195.567 134.563,-194.032 134.563,-194.032 134.563,-194.032 137.708,-195.567 135.944,-191.202 140.854,-197.102 140.854,-197.102\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"105.5\" y=\"-188.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"157.5\" cy=\"-66\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"157.5\" y=\"-62.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.1119,-114.343C89.0117,-104.662 116.498,-88.9157 135.486,-78.0382\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"141.572,-74.5518 137.064,-80.7647 138.535,-76.2916 135.498,-78.0314 135.498,-78.0314 135.498,-78.0314 138.535,-76.2916 133.932,-75.2981 141.572,-74.5518 141.572,-74.5518\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"273\" cy=\"-123\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"273\" y=\"-119.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.0034,-126.729C106.092,-133.193 177.685,-144.886 237,-135 241.14,-134.31 245.447,-133.19 249.566,-131.905\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"256.258,-129.634 250.642,-134.867 252.943,-130.759 249.629,-131.884 249.629,-131.884 249.629,-131.884 252.943,-130.759 248.617,-128.901 256.258,-129.634 256.258,-129.634\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137\" y=\"-141.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\"><title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"273\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"273\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.5788,-106.747C76.3694,-83.5932 101.497,-41.9353 137,-24 172.369,-6.13214 219.835,-9.23041 248.037,-13.4066\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"255.114,-14.5378 247.705,-16.5434 251.658,-13.9853 248.202,-13.4328 248.202,-13.4328 248.202,-13.4328 251.658,-13.9853 248.699,-10.3223 255.114,-14.5378 255.114,-14.5378\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M152.858,-221.41C151.992,-231.088 153.539,-240 157.5,-240 160.409,-240 162.016,-235.194 162.321,-228.807\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"162.142,-221.41 165.461,-228.331 162.227,-224.909 162.312,-228.408 162.312,-228.408 162.312,-228.408 162.227,-224.909 159.163,-228.484 162.142,-221.41 162.142,-221.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"151\" y=\"-243.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M150.038,-220.586C145.364,-238.17 147.852,-258 157.5,-258 165.867,-258 168.849,-243.087 166.446,-227.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"164.962,-220.586 169.482,-226.79 165.681,-224.011 166.399,-227.437 166.399,-227.437 166.399,-227.437 165.681,-224.011 163.316,-228.083 164.962,-220.586 164.962,-220.586\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153\" y=\"-276.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\"><title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M148.521,-81.916C146.179,-92.1504 149.172,-102 157.5,-102 163.876,-102 167.125,-96.2263 167.246,-88.9268\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"166.479,-81.916 170.372,-88.5315 166.86,-85.3952 167.241,-88.8744 167.241,-88.8744 167.241,-88.8744 166.86,-85.3952 164.11,-89.2174 166.479,-81.916 166.479,-81.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\"><title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M169.815,-79.2791C176.712,-86.6222 186.087,-95.3722 196,-101 212.117,-110.15 232.356,-115.766 247.895,-119.032\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"255.107,-120.451 247.631,-122.19 251.673,-119.775 248.239,-119.099 248.239,-119.099 248.239,-119.099 251.673,-119.775 248.847,-116.009 255.107,-120.451 255.107,-120.451\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-119.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\"><title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M174.076,-58.2162C180.773,-54.9495 188.72,-51.1791 196,-48 213.699,-40.2709 234.068,-32.2776 249.262,-26.4873\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"255.85,-23.9908 250.42,-29.4169 252.577,-25.231 249.304,-26.4713 249.304,-26.4713 249.304,-26.4713 252.577,-25.231 248.188,-23.5256 255.85,-23.9908 255.85,-23.9908\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\"><title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M262.811,-107.876C256.615,-98.9778 247.642,-88.2732 237,-82 220.479,-72.2616 198.982,-68.372 182.662,-66.8559\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.564,-66.3138 182.784,-63.7061 179.054,-66.5804 182.544,-66.8469 182.544,-66.8469 182.544,-66.8469 179.054,-66.5804 182.304,-69.9878 175.564,-66.3138 175.564,-66.3138\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M263.425,-138.541C260.73,-148.909 263.922,-159 273,-159 279.95,-159 283.45,-153.085 283.499,-145.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"282.575,-138.541 286.6,-145.077 283.026,-142.012 283.477,-145.483 283.477,-145.483 283.477,-145.483 283.026,-142.012 280.353,-145.889 282.575,-138.541 282.575,-138.541\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-162.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\"><title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M263.425,-33.5414C260.73,-43.9087 263.922,-54 273,-54 279.95,-54 283.45,-48.0847 283.499,-40.6591\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"282.575,-33.5414 286.6,-40.0771 283.026,-37.0123 283.477,-40.4831 283.477,-40.4831 283.477,-40.4831 283.026,-37.0123 280.353,-40.889 282.575,-33.5414 282.575,-33.5414\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"265\" y=\"-57.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 0x7f9d0858c360> >"
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('GFa -> GFb', 'unambig')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Compare with the standard translation:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"165pt\" height=\"227pt\"\n",
|
|
" viewBox=\"0.00 0.00 165.00 227.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 223)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-223 161,-223 161,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-77\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-73.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-77C2.79388,-77 17.1543,-77 30.6317,-77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-77 30.9419,-80.1501 34.4419,-77 30.9419,-77.0001 30.9419,-77.0001 30.9419,-77.0001 34.4419,-77 30.9418,-73.8501 37.9419,-77 37.9419,-77\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-94.0373C48.3189,-103.858 50.4453,-113 56,-113 60.166,-113 62.4036,-107.858 62.7128,-101.143\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-94.0373 65.8541,-100.882 62.5434,-97.5335 62.7076,-101.03 62.7076,-101.03 62.7076,-101.03 62.5434,-97.5335 59.561,-101.177 62.3792,-94.0373 62.3792,-94.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-120\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-116.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.2355,-85.088C84.6805,-91.6946 102.425,-101.114 116.346,-108.505\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"122.833,-111.948 115.173,-111.448 119.741,-110.307 116.65,-108.666 116.65,-108.666 116.65,-108.666 119.741,-110.307 118.127,-105.884 122.833,-111.948 122.833,-111.948\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-104.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.1091,-66.723C84.1178,-57.2476 103.56,-43.0856 118.137,-32.4684\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"124.053,-28.1592 120.249,-34.8268 121.223,-30.2199 118.394,-32.2806 118.394,-32.2806 118.394,-32.2806 121.223,-30.2199 116.54,-29.7345 124.053,-28.1592 124.053,-28.1592\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-54.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M135.405,-137.782C134.794,-147.315 135.992,-156 139,-156 141.209,-156 142.442,-151.316 142.699,-145.052\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"142.595,-137.782 145.845,-144.736 142.645,-141.281 142.695,-144.781 142.695,-144.781 142.695,-144.781 142.645,-141.281 139.546,-144.826 142.595,-137.782 142.595,-137.782\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"132.5\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M133.148,-137.142C129.706,-154.585 131.656,-174 139,-174 145.368,-174 147.681,-159.4 145.938,-144.146\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"144.852,-137.142 149.038,-143.576 145.388,-140.6 145.925,-144.059 145.925,-144.059 145.925,-144.059 145.388,-140.6 142.812,-144.542 144.852,-137.142 144.852,-137.142\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-192.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.969,-34.6641C130.406,-44.625 132.75,-54 139,-54 143.688,-54 146.178,-48.7266 146.471,-41.8876\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.031,-34.6641 149.601,-41.4598 146.244,-38.1576 146.456,-41.6511 146.456,-41.6511 146.456,-41.6511 146.244,-38.1576 143.312,-41.8425 146.031,-34.6641 146.031,-34.6641\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-57.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 0x7f9d0857c450> >"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('GFa -> GFb')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"And here is the automaton above with state-based acceptance:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"258pt\" height=\"180pt\"\n",
|
|
" viewBox=\"0.00 0.00 258.00 180.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 176)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-176 254,-176 254,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-76\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-72.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-76C2.79388,-76 17.1543,-76 30.6317,-76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-76 30.9419,-79.1501 34.4419,-76 30.9419,-76.0001 30.9419,-76.0001 30.9419,-76.0001 34.4419,-76 30.9418,-72.8501 37.9419,-76 37.9419,-76\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-93.0373C48.3189,-102.858 50.4453,-112 56,-112 60.166,-112 62.4036,-106.858 62.7128,-100.143\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-93.0373 65.8541,-99.8818 62.5434,-96.5335 62.7076,-100.03 62.7076,-100.03 62.7076,-100.03 62.5434,-96.5335 59.561,-100.177 62.3792,-93.0373 62.3792,-93.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-115.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"143\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"143\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138.5\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.5903,-83.52C84.8926,-89.4541 102.305,-97.8532 116.612,-104.754\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"122.938,-107.805 115.264,-107.601 119.785,-106.285 116.633,-104.764 116.633,-104.764 116.633,-104.764 119.785,-106.285 118.001,-101.927 122.938,-107.805 122.938,-107.805\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-100.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"143\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"143\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"143\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.8059,-66.5939C84.5413,-58.5032 103.153,-46.6792 118.012,-37.2391\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"124.123,-33.3572 119.904,-39.7697 121.169,-35.234 118.214,-37.1109 118.214,-37.1109 118.214,-37.1109 121.169,-35.234 116.525,-34.452 124.123,-33.3572 124.123,-33.3572\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M134.994,-137.581C133.886,-147.845 136.555,-157 143,-157 147.834,-157 150.544,-151.85 151.129,-144.945\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.006,-137.581 154.273,-144.527 151.065,-141.08 151.123,-144.58 151.123,-144.58 151.123,-144.58 151.065,-141.08 147.973,-144.632 151.006,-137.581 151.006,-137.581\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"232\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"232\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M165.06,-117C177.588,-117 193.534,-117 206.607,-117\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"213.925,-117 206.925,-120.15 210.425,-117 206.925,-117 206.925,-117 206.925,-117 210.425,-117 206.925,-113.85 213.925,-117 213.925,-117\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"183\" y=\"-120.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M134.994,-42.5808C133.886,-52.8447 136.555,-62 143,-62 147.834,-62 150.544,-56.8502 151.129,-49.9451\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.006,-42.5808 154.273,-49.5273 151.065,-46.0803 151.123,-49.5798 151.123,-49.5798 151.123,-49.5798 151.065,-46.0803 147.973,-49.6324 151.006,-42.5808 151.006,-42.5808\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\"><title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M216.689,-107.134C210.598,-103.507 203.237,-99.8378 196,-98 186.646,-95.6248 176.631,-98.0356 167.911,-101.843\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"161.529,-104.972 166.428,-99.0623 164.671,-103.431 167.814,-101.891 167.814,-101.891 167.814,-101.891 164.671,-103.431 169.201,-104.719 161.529,-104.972 161.529,-104.972\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"185\" y=\"-101.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M224.617,-133.664C222.977,-143.625 225.438,-153 232,-153 236.922,-153 239.537,-147.727 239.844,-140.888\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"239.383,-133.664 242.973,-140.449 239.606,-137.157 239.829,-140.65 239.829,-140.65 239.829,-140.65 239.606,-137.157 236.686,-140.851 239.383,-133.664 239.383,-133.664\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"225.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\">!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 0x7f9d0857c420> >"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('GFa -> GFb', 'sbacc')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Some example of running the self-loopization algorithm on an automaton:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"325pt\" height=\"92pt\"\n",
|
|
" viewBox=\"0.00 0.00 325.00 92.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 88)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-88 321,-88 321,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-18C2.79388,-18 17.1543,-18 30.6317,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-18 30.9419,-21.1501 34.4419,-18 30.9419,-18.0001 30.9419,-18.0001 30.9419,-18.0001 34.4419,-18 30.9418,-14.8501 37.9419,-18 37.9419,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"130.5\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.0888,-18C84.5562,-18 98.1196,-18 109.693,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.959,-18 109.959,-21.1501 113.459,-18 109.959,-18.0001 109.959,-18.0001 109.959,-18.0001 113.459,-18 109.959,-14.8501 116.959,-18 116.959,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"218\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"218\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.178,-18C164.669,-18 179.959,-18 192.693,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"199.847,-18 192.847,-21.1501 196.347,-18 192.847,-18.0001 192.847,-18.0001 192.847,-18.0001 196.347,-18 192.847,-14.8501 199.847,-18 199.847,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"299\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"299\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M236.142,-18C247.115,-18 261.521,-18 273.67,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"280.892,-18 273.892,-21.1501 277.392,-18 273.892,-18.0001 273.892,-18.0001 273.892,-18.0001 277.392,-18 273.892,-14.8501 280.892,-18 280.892,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"254\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M291.969,-34.6641C290.406,-44.625 292.75,-54 299,-54 303.688,-54 306.178,-48.7266 306.471,-41.8876\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"306.031,-34.6641 309.601,-41.4598 306.244,-38.1576 306.456,-41.6511 306.456,-41.6511 306.456,-41.6511 306.244,-38.1576 303.312,-41.8425 306.031,-34.6641 306.031,-34.6641\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"294.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"291\" y=\"-57.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 0x7f9d0857c480> >"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.translate('F(a & X(!a &Xb))', \"any\"); a"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"734pt\" height=\"335pt\"\n",
|
|
" viewBox=\"0.00 0.00 734.00 334.60\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.601793 0.601793) rotate(0) translate(4 552)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-552 1215.69,-552 1215.69,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-282\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-278.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-282C2.79388,-282 17.1543,-282 30.6317,-282\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-282 30.9419,-285.15 34.4419,-282 30.9419,-282 30.9419,-282 30.9419,-282 34.4419,-282 30.9418,-278.85 37.9419,-282 37.9419,-282\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"162.5\" cy=\"-225\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"162.5\" y=\"-221.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.4193,-273.589C90.3498,-263.809 120.054,-247.607 140.185,-236.627\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.357,-233.26 141.72,-239.377 143.285,-234.936 140.212,-236.612 140.212,-236.612 140.212,-236.612 143.285,-234.936 138.703,-233.846 146.357,-233.26 146.357,-233.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-264.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"274.5\" cy=\"-282\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"274.5\" y=\"-278.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.874,-285.312C105.727,-291.062 176.828,-301.499 236,-293 240.783,-292.313 245.807,-291.157 250.568,-289.846\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"257.296,-287.851 251.48,-292.861 253.94,-288.846 250.585,-289.841 250.585,-289.841 250.585,-289.841 253.94,-288.846 249.689,-286.821 257.296,-287.851 257.296,-287.851\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"392.5\" cy=\"-182\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"392.5\" y=\"-178.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.4817,-266.974C86.5703,-236.695 136.724,-168.943 199,-142 262.31,-114.61 292.001,-103.76 354,-134 365.071,-139.4 373.832,-149.824 380.091,-159.582\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"383.843,-165.838 377.542,-161.455 382.043,-162.836 380.243,-159.835 380.243,-159.835 380.243,-159.835 382.043,-162.836 382.945,-158.215 383.843,-165.838 383.843,-165.838\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"199\" y=\"-145.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\"><title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"508.5\" cy=\"-278\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"508.5\" y=\"-274.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M57.7109,-300.095C60.7583,-350.7 76.8361,-490 161.5,-490 161.5,-490 161.5,-490 334.5,-490 408.778,-490 436.783,-460.399 472,-395 487.961,-365.36 497.771,-327.541 502.925,-303.052\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"504.377,-295.904 506.07,-303.391 503.68,-299.334 502.983,-302.764 502.983,-302.764 502.983,-302.764 503.68,-299.334 499.896,-302.137 504.377,-295.904 504.377,-295.904\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"254\" y=\"-493.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node7\" class=\"node\"><title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"618\" cy=\"-159\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"618\" y=\"-155.3\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->5 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>0->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M59.5927,-264.36C69.1541,-202.623 104.85,-0 161.5,-0 161.5,-0 161.5,-0 509.5,-0 573.575,-0 602.045,-89.7125 612.246,-134.362\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"613.783,-141.377 609.207,-135.213 613.034,-137.958 612.285,-134.539 612.285,-134.539 612.285,-134.539 613.034,-137.958 615.362,-133.865 613.783,-141.377 613.783,-141.377\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"316.5\" y=\"-3.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\"><title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"618\" cy=\"-278\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"618\" y=\"-274.3\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->6 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>0->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M56.3587,-300.051C55.3315,-357.603 60.4873,-533 161.5,-533 161.5,-533 161.5,-533 509.5,-533 608.298,-533 617.736,-368.458 617.626,-303.721\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"617.571,-296.339 620.774,-303.315 617.597,-299.839 617.624,-303.339 617.624,-303.339 617.624,-303.339 617.597,-299.839 614.474,-303.362 617.571,-296.339 617.571,-296.339\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"315\" y=\"-536.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.521,-240.916C151.179,-251.15 154.172,-261 162.5,-261 168.876,-261 172.125,-255.226 172.246,-247.927\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.479,-240.916 175.372,-247.532 171.86,-244.395 172.241,-247.874 172.241,-247.874 172.241,-247.874 171.86,-244.395 169.11,-248.217 171.479,-240.916 171.479,-240.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"145.5\" y=\"-264.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\"><title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M174.399,-238.625C180.859,-245.896 189.606,-254.461 199,-260 214.575,-269.182 234.268,-274.781 249.495,-278.031\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"256.574,-279.443 249.093,-281.163 253.141,-278.758 249.709,-278.073 249.709,-278.073 249.709,-278.073 253.141,-278.758 250.325,-274.984 256.574,-279.443 256.574,-279.443\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"199\" y=\"-277.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\"><title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M180.265,-221.838C220.288,-214.29 321.514,-195.199 367.775,-186.474\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"374.71,-185.167 368.415,-189.559 371.271,-185.815 367.831,-186.464 367.831,-186.464 367.831,-186.464 371.271,-185.815 367.247,-183.368 374.71,-185.167 374.71,-185.167\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"256\" y=\"-210.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\"><title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M172.479,-209.649C178.749,-200.27 187.958,-188.807 199,-182 280.605,-131.693 320.87,-128.502 413,-155 442.746,-163.556 452.505,-167.959 472,-192 486.613,-210.02 481.031,-219.603 490,-241 492.04,-245.866 494.368,-251.022 496.647,-255.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"499.691,-262.296 493.841,-257.325 498.188,-259.135 496.686,-255.974 496.686,-255.974 496.686,-255.974 498.188,-259.135 499.531,-254.622 499.691,-262.296 499.691,-262.296\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->5 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\"><title>1->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M168.516,-208.006C173.818,-192.756 183.579,-170.722 199,-157 218.547,-139.606 228.567,-142.149 254,-136 371.942,-107.483 406.242,-121.118 527,-133 551.471,-135.408 558.612,-131.407 582,-139 586.83,-140.568 591.734,-142.854 596.282,-145.325\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"602.64,-149.015 595.005,-148.226 599.613,-147.258 596.586,-145.501 596.586,-145.501 596.586,-145.501 599.613,-147.258 598.167,-142.777 602.64,-149.015 602.64,-149.015\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"375.5\" y=\"-123.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->6 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\"><title>1->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M168.269,-242.453C175.368,-267.605 188.955,-312.508 199,-326 236.272,-376.061 253.88,-387.996 313,-408 430.568,-447.78 491.922,-418.385 582,-333 591.795,-323.715 600.06,-311.146 606.094,-300.367\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"609.556,-293.932 609.013,-301.589 607.898,-297.014 606.239,-300.097 606.239,-300.097 606.239,-300.097 607.898,-297.014 603.465,-298.604 609.556,-293.932 609.556,-293.932\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"374\" y=\"-428.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\"><title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M263.695,-267.344C256.944,-258.393 247.194,-247.463 236,-241 221.361,-232.548 202.695,-228.557 187.969,-226.674\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.67,-225.869 187.973,-223.506 184.149,-226.253 187.628,-226.637 187.628,-226.637 187.628,-226.637 184.149,-226.253 187.282,-229.768 180.67,-225.869 180.67,-225.869\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200.5\" y=\"-244.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\"><title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M264.925,-297.541C262.23,-307.909 265.422,-318 274.5,-318 281.45,-318 284.95,-312.085 284.999,-304.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"284.075,-297.541 288.1,-304.077 284.526,-301.012 284.977,-304.483 284.977,-304.483 284.977,-304.483 284.526,-301.012 281.853,-304.889 284.075,-297.541 284.075,-297.541\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"256\" y=\"-321.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\"><title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M283.767,-266.383C290.49,-254.757 300.835,-239.052 313,-228 328.464,-213.95 335.98,-215.575 354,-205 359.397,-201.833 365.181,-198.337 370.551,-195.047\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"376.617,-191.312 372.308,-197.664 373.637,-193.147 370.657,-194.982 370.657,-194.982 370.657,-194.982 373.637,-193.147 369.005,-192.3 376.617,-191.312 376.617,-191.312\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"315\" y=\"-231.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\"><title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M292.652,-281.815C308.555,-281.636 332.877,-281.341 354,-281 399.698,-280.262 453.044,-279.167 483.291,-278.524\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"490.465,-278.371 483.534,-281.67 486.965,-278.446 483.466,-278.52 483.466,-278.52 483.466,-278.52 486.965,-278.446 483.399,-275.371 490.465,-278.371 490.465,-278.371\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-283.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\"><title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M280.75,-264.887C286.653,-247.539 297.486,-220.539 313,-201 333.676,-174.96 341.248,-167.646 372,-155 447.842,-123.811 548.384,-141.861 593.424,-152.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"600.416,-154.41 592.864,-155.787 597.019,-153.569 593.621,-152.729 593.621,-152.729 593.621,-152.729 597.019,-153.569 594.378,-149.671 600.416,-154.41 600.416,-154.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"434.5\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\"><title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M287.995,-294.51C294.839,-300.673 303.787,-307.689 313,-312 399.778,-352.61 435.301,-365.764 527,-338 554.774,-329.591 581.811,-309.471 598.881,-294.843\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"604.274,-290.117 601.085,-297.1 601.642,-292.424 599.009,-294.73 599.009,-294.73 599.009,-294.73 601.642,-292.424 596.933,-292.361 604.274,-290.117 604.274,-290.117\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"433\" y=\"-355.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\"><title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M374.301,-179.412C348.005,-176.004 296.393,-171.485 254,-181 228.343,-186.759 201.571,-200.956 183.865,-211.678\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.771,-215.449 182.066,-209.087 180.747,-213.608 183.723,-211.766 183.723,-211.766 183.723,-211.766 180.747,-213.608 185.381,-214.445 177.771,-215.449 177.771,-215.449\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"257.5\" y=\"-184.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\"><title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M384.617,-198.245C378.275,-211.641 367.766,-230.422 354,-243 345.219,-251.024 317.889,-263.791 297.94,-272.517\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"291.494,-275.308 296.666,-269.635 294.706,-273.917 297.918,-272.526 297.918,-272.526 297.918,-272.526 294.706,-273.917 299.17,-275.417 291.494,-275.308 291.494,-275.308\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"315\" y=\"-268.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M382.687,-197.167C379.713,-207.664 382.984,-218 392.5,-218 399.785,-218 403.41,-211.941 403.375,-204.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"402.313,-197.167 406.448,-203.634 402.822,-200.629 403.331,-204.092 403.331,-204.092 403.331,-204.092 402.822,-200.629 400.215,-204.55 402.313,-197.167 402.313,-197.167\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"374\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\"><title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M402.231,-197.183C409.049,-208.102 419.309,-222.663 431,-233 446.653,-246.84 454.005,-245.383 472,-256 476.723,-258.786 481.753,-261.846 486.497,-264.775\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"492.733,-268.65 485.125,-267.631 489.761,-266.802 486.788,-264.955 486.788,-264.955 486.788,-264.955 489.761,-266.802 488.45,-262.28 492.733,-268.65 492.733,-268.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"431\" y=\"-259.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\"><title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M410.186,-177.389C416.642,-175.765 424.121,-174.077 431,-173 488.646,-163.973 557.288,-160.717 592.89,-159.581\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"599.969,-159.37 593.066,-162.727 596.471,-159.474 592.972,-159.579 592.972,-159.579 592.972,-159.579 596.471,-159.474 592.878,-156.43 599.969,-159.37 599.969,-159.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"491.5\" y=\"-168.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\"><title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M410.445,-183.944C426.625,-186.149 451.507,-190.459 472,-198 518.961,-215.282 569.09,-246.043 596.372,-263.967\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"602.48,-268.016 594.905,-266.773 599.563,-266.082 596.646,-264.148 596.646,-264.148 596.646,-264.148 599.563,-266.082 598.387,-261.523 602.48,-268.016 602.48,-268.016\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"490\" y=\"-225.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\"><title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M506.449,-296.022C504.091,-317.954 496.482,-354.141 472,-371 391.5,-426.437 342.22,-384.081 254,-342 224.451,-327.905 219.126,-318.821 199,-293 188.235,-279.189 179.164,-261.627 172.885,-247.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"170.033,-241.361 175.745,-246.488 171.449,-244.562 172.864,-247.763 172.864,-247.763 172.864,-247.763 171.449,-244.562 169.984,-249.037 170.033,-241.361 170.033,-241.361\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"316.5\" y=\"-392.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->2 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\"><title>4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M491.961,-285.82C485.881,-288.543 478.755,-291.331 472,-293 403.39,-309.947 382.37,-308.503 313,-295 308.092,-294.045 302.954,-292.586 298.11,-290.987\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"291.284,-288.585 298.933,-287.938 294.586,-289.747 297.888,-290.909 297.888,-290.909 297.888,-290.909 294.586,-289.747 296.842,-293.88 291.284,-288.585 291.284,-288.585\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"374\" y=\"-308.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\"><title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M500.06,-261.823C492.171,-245.236 479.794,-220.915 472,-214 467.579,-210.078 437.805,-198.481 416.231,-190.383\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"409.557,-187.891 417.217,-187.389 412.836,-189.116 416.115,-190.34 416.115,-190.34 416.115,-190.34 412.836,-189.116 415.013,-193.291 409.557,-187.891 409.557,-187.891\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"433\" y=\"-217.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\"><title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M499.267,-293.541C496.669,-303.909 499.746,-314 508.5,-314 515.202,-314 518.577,-308.085 518.624,-300.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"517.733,-293.541 521.729,-300.095 518.168,-297.014 518.603,-300.487 518.603,-300.487 518.603,-300.487 518.168,-297.014 515.477,-300.879 517.733,-293.541 517.733,-293.541\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"488\" y=\"-317.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->5 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\"><title>4->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M521.415,-264.81C540.646,-243.522 578.577,-201.534 600.43,-177.342\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"605.358,-171.887 603.003,-179.193 603.012,-174.484 600.666,-177.082 600.666,-177.082 600.666,-177.082 603.012,-174.484 598.328,-174.97 605.358,-171.887 605.358,-171.887\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"546.5\" y=\"-239.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->6 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\"><title>4->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M526.772,-278C544.638,-278 572.686,-278 592.767,-278\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"599.771,-278 592.771,-281.15 596.271,-278 592.771,-278 592.771,-278 592.771,-278 596.271,-278 592.771,-274.85 599.771,-278 599.771,-278\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"545\" y=\"-281.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\"><title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.767,-174.541C606.169,-184.909 609.246,-195 618,-195 624.702,-195 628.077,-189.085 628.124,-181.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"627.233,-174.541 631.229,-181.095 627.668,-178.014 628.103,-181.487 628.103,-181.487 628.103,-181.487 627.668,-178.014 624.977,-181.879 627.233,-174.541 627.233,-174.541\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"601\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node9\" class=\"node\"><title>7</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"731\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"731\" y=\"-170.3\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->7 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\"><title>5->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M636.061,-158.269C651.569,-157.936 675.011,-158.262 695,-162 698.946,-162.738 703.052,-163.831 707.004,-165.061\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"713.883,-167.378 706.244,-168.129 710.566,-166.261 707.249,-165.144 707.249,-165.144 707.249,-165.144 710.566,-166.261 708.255,-162.159 713.883,-167.378 713.883,-167.378\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"656\" y=\"-165.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node10\" class=\"node\"><title>8</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"731\" cy=\"-268\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"731\" y=\"-264.3\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->8 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\"><title>5->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M626.703,-174.907C632.971,-186.813 642.624,-203.036 654,-215 670.048,-231.878 692.253,-246.617 708.517,-256.238\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"714.652,-259.792 707.016,-259.009 711.623,-258.038 708.595,-256.283 708.595,-256.283 708.595,-256.283 711.623,-258.038 710.174,-253.557 714.652,-259.792 714.652,-259.792\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"654\" y=\"-250.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\"><title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.767,-293.541C606.169,-303.909 609.246,-314 618,-314 624.702,-314 628.077,-308.085 628.124,-300.659\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"627.233,-293.541 631.229,-300.095 627.668,-297.014 628.103,-300.487 628.103,-300.487 628.103,-300.487 627.668,-297.014 624.977,-300.879 627.233,-293.541 627.233,-293.541\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"599.5\" y=\"-317.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->7 -->\n",
|
|
"<g id=\"edge36\" class=\"edge\"><title>6->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M622.587,-260.4C627.051,-242.801 636.342,-216.101 654,-200 668.298,-186.963 689.422,-180.42 705.773,-177.162\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"712.909,-175.884 706.573,-180.219 709.463,-176.501 706.018,-177.118 706.018,-177.118 706.018,-177.118 709.463,-176.501 705.463,-174.017 712.909,-175.884 712.909,-175.884\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"656\" y=\"-203.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->8 -->\n",
|
|
"<g id=\"edge37\" class=\"edge\"><title>6->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M636.344,-276.438C654.998,-274.757 684.797,-272.072 705.763,-270.183\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"712.778,-269.552 706.089,-273.317 709.292,-269.866 705.806,-270.18 705.806,-270.18 705.806,-270.18 709.292,-269.866 705.524,-267.042 712.778,-269.552 712.778,-269.552\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"654\" y=\"-277.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge38\" class=\"edge\"><title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M722.021,-189.916C719.679,-200.15 722.672,-210 731,-210 737.376,-210 740.625,-204.226 740.746,-196.927\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"739.979,-189.916 743.872,-196.532 740.36,-193.395 740.741,-196.874 740.741,-196.874 740.741,-196.874 740.36,-193.395 737.61,-197.217 739.979,-189.916 739.979,-189.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"712.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9 -->\n",
|
|
"<g id=\"node11\" class=\"node\"><title>9</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"837.5\" cy=\"-319\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"837.5\" y=\"-315.3\" font-family=\"Lato\" font-size=\"14.00\">9</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->9 -->\n",
|
|
"<g id=\"edge39\" class=\"edge\"><title>7->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M742.755,-187.857C756.533,-205.716 781.02,-237.825 801,-266 808.357,-276.375 816.258,-288.107 822.734,-297.892\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"826.763,-304.006 820.281,-299.895 824.837,-301.084 822.911,-298.161 822.911,-298.161 822.911,-298.161 824.837,-301.084 825.541,-296.428 826.763,-304.006 826.763,-304.006\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"767\" y=\"-269.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10 -->\n",
|
|
"<g id=\"node12\" class=\"node\"><title>10</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"950.448\" cy=\"-224\" rx=\"21.3963\" ry=\"21.3963\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"950.448\" y=\"-220.3\" font-family=\"Lato\" font-size=\"14.00\">10</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->10 -->\n",
|
|
"<g id=\"edge40\" class=\"edge\"><title>7->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M748.986,-175.353C773.003,-177.455 818.177,-182.108 856,-190 880.921,-195.2 887.178,-197.021 911,-206 915.448,-207.677 920.096,-209.651 924.56,-211.667\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"930.924,-214.62 923.248,-214.531 927.749,-213.147 924.574,-211.674 924.574,-211.674 924.574,-211.674 927.749,-213.147 925.9,-208.816 930.924,-214.62 930.924,-214.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"819\" y=\"-193.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->8 -->\n",
|
|
"<g id=\"edge41\" class=\"edge\"><title>8->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M722.021,-283.916C719.679,-294.15 722.672,-304 731,-304 737.376,-304 740.625,-298.226 740.746,-290.927\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"739.979,-283.916 743.872,-290.532 740.36,-287.395 740.741,-290.874 740.741,-290.874 740.741,-290.874 740.36,-287.395 737.61,-291.217 739.979,-283.916 739.979,-283.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"710.5\" y=\"-307.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->9 -->\n",
|
|
"<g id=\"edge42\" class=\"edge\"><title>8->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M747.419,-275.525C765.17,-284.188 794.46,-298.483 814.577,-308.301\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"821.017,-311.444 813.345,-311.205 817.872,-309.909 814.727,-308.374 814.727,-308.374 814.727,-308.374 817.872,-309.909 816.108,-305.543 821.017,-311.444 821.017,-311.444\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"767\" y=\"-304.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->10 -->\n",
|
|
"<g id=\"edge43\" class=\"edge\"><title>8->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M740.078,-252.24C746.053,-242.436 755.193,-230.653 767,-225 817.622,-200.762 885.572,-209.597 922.612,-217.334\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"929.594,-218.857 922.084,-220.443 926.174,-218.111 922.755,-217.365 922.755,-217.365 922.755,-217.365 926.174,-218.111 923.426,-214.288 929.594,-218.857 929.594,-218.857\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"819\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->9 -->\n",
|
|
"<g id=\"edge44\" class=\"edge\"><title>9->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M828.521,-334.916C826.179,-345.15 829.172,-355 837.5,-355 843.876,-355 847.125,-349.226 847.246,-341.927\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"846.479,-334.916 850.372,-341.532 846.86,-338.395 847.241,-341.874 847.241,-341.874 847.241,-341.874 846.86,-338.395 844.11,-342.217 846.479,-334.916 846.479,-334.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"820.5\" y=\"-373.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"829.5\" y=\"-358.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->10 -->\n",
|
|
"<g id=\"edge45\" class=\"edge\"><title>9->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M842.449,-301.446C847.146,-284.574 856.635,-259.552 874,-245 887.255,-233.893 905.962,-228.639 921.432,-226.164\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"928.729,-225.158 922.224,-229.234 925.262,-225.636 921.794,-226.114 921.794,-226.114 921.794,-226.114 925.262,-225.636 921.364,-222.993 928.729,-225.158 928.729,-225.158\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"874\" y=\"-263.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"884.5\" y=\"-248.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11 -->\n",
|
|
"<g id=\"node13\" class=\"node\"><title>11</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1190.24\" cy=\"-318\" rx=\"21.3963\" ry=\"21.3963\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1190.24\" y=\"-314.3\" font-family=\"Lato\" font-size=\"14.00\">11</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->11 -->\n",
|
|
"<g id=\"edge46\" class=\"edge\"><title>9->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M839.947,-337.074C843.366,-374.939 853.261,-460.691 874,-480 925.334,-527.795 960.93,-501.936 1030.9,-497 1084.58,-493.213 1111.02,-516.263 1150.79,-480 1170.19,-462.316 1181.41,-388.203 1186.3,-346.617\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1187.11,-339.497 1189.45,-346.809 1186.72,-342.975 1186.32,-346.452 1186.32,-346.452 1186.32,-346.452 1186.72,-342.975 1183.19,-346.095 1187.11,-339.497 1187.11,-339.497\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"991.896\" y=\"-520.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1002.4\" y=\"-505.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12 -->\n",
|
|
"<g id=\"node14\" class=\"node\"><title>12</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1070.34\" cy=\"-319\" rx=\"21.3963\" ry=\"21.3963\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1070.34\" y=\"-315.3\" font-family=\"Lato\" font-size=\"14.00\">12</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->12 -->\n",
|
|
"<g id=\"edge47\" class=\"edge\"><title>9->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M854.953,-324.076C860.894,-325.667 867.691,-327.213 874,-328 943.195,-336.635 961.625,-335.999 1030.9,-328 1034.73,-327.558 1038.73,-326.875 1042.65,-326.079\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1049.54,-324.552 1043.39,-329.141 1046.13,-325.309 1042.71,-326.066 1042.71,-326.066 1042.71,-326.066 1046.13,-325.309 1042.03,-322.99 1049.54,-324.552 1049.54,-324.552\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"929.948\" y=\"-352.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"942.448\" y=\"-337.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->9 -->\n",
|
|
"<g id=\"edge48\" class=\"edge\"><title>10->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M938.445,-241.876C931.44,-252.332 921.692,-265.332 911,-275 908.786,-277.002 880.266,-294.135 859.668,-306.418\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"853.568,-310.052 857.97,-303.763 856.575,-308.261 859.582,-306.47 859.582,-306.47 859.582,-306.47 856.575,-308.261 861.194,-309.176 853.568,-310.052 853.568,-310.052\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"875.5\" y=\"-314.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"884.5\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->10 -->\n",
|
|
"<g id=\"edge49\" class=\"edge\"><title>10->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M940.451,-243.077C938.584,-253.682 941.917,-263.448 950.448,-263.448 956.98,-263.448 960.464,-257.724 960.901,-250.281\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"960.446,-243.077 964.031,-249.865 960.667,-246.57 960.887,-250.063 960.887,-250.063 960.887,-250.063 960.667,-246.57 957.744,-250.262 960.446,-243.077 960.446,-243.077\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"931.948\" y=\"-282.248\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"942.448\" y=\"-267.248\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->11 -->\n",
|
|
"<g id=\"edge50\" class=\"edge\"><title>10->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M968.572,-211.756C975.193,-207.079 982.858,-201.735 989.896,-197 1030,-170.02 1045.42,-145.36 1091.79,-159 1121.71,-167.802 1131.84,-172.229 1150.79,-197 1171.73,-224.362 1181.43,-263.419 1185.81,-289.689\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1186.91,-296.74 1182.72,-290.309 1186.37,-293.282 1185.84,-289.823 1185.84,-289.823 1185.84,-289.823 1186.37,-293.282 1188.95,-289.338 1186.91,-296.74 1186.91,-296.74\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1051.84\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1062.34\" y=\"-162.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->12 -->\n",
|
|
"<g id=\"edge51\" class=\"edge\"><title>10->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M962.313,-242.032C969.27,-252.542 979.014,-265.546 989.896,-275 991.093,-276.04 1022.16,-293.149 1045.08,-305.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1051.3,-309.128 1043.65,-308.526 1048.23,-307.446 1045.16,-305.763 1045.16,-305.763 1045.16,-305.763 1048.23,-307.446 1046.68,-303.001 1051.3,-309.128 1051.3,-309.128\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"989.896\" y=\"-315.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1002.4\" y=\"-300.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->9 -->\n",
|
|
"<g id=\"edge52\" class=\"edge\"><title>11->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1175.79,-334.339C1158.66,-353.709 1127.01,-384.889 1091.79,-397 1047.72,-412.154 960.01,-414.671 929,-405 894.956,-394.383 867.29,-361.89 851.866,-340.025\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"847.845,-334.167 854.403,-338.156 849.826,-337.053 851.806,-339.939 851.806,-339.939 851.806,-339.939 849.826,-337.053 849.209,-341.721 847.845,-334.167 847.845,-334.167\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"993.396\" y=\"-428.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1002.4\" y=\"-413.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->10 -->\n",
|
|
"<g id=\"edge53\" class=\"edge\"><title>11->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1174.22,-303.599C1167.38,-297.452 1159,-290.454 1150.79,-285 1101.17,-252.014 1088.8,-239.065 1030.9,-225 1014.08,-220.915 994.661,-220.594 979.233,-221.329\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"972.008,-221.762 978.807,-218.198 975.502,-221.552 978.996,-221.343 978.996,-221.343 978.996,-221.343 975.502,-221.552 979.184,-224.487 972.008,-221.762 972.008,-221.762\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1051.84\" y=\"-264.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1062.34\" y=\"-249.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->11 -->\n",
|
|
"<g id=\"edge54\" class=\"edge\"><title>11->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1179.89,-337.077C1177.95,-347.682 1181.4,-357.448 1190.24,-357.448 1197.01,-357.448 1200.61,-351.724 1201.07,-344.281\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1200.6,-337.077 1204.2,-343.857 1200.82,-340.57 1201.05,-344.062 1201.05,-344.062 1201.05,-344.062 1200.82,-340.57 1197.91,-344.268 1200.6,-337.077 1200.6,-337.077\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1171.74\" y=\"-376.248\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1182.24\" y=\"-361.248\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->12 -->\n",
|
|
"<g id=\"edge55\" class=\"edge\"><title>11->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1173.07,-304.515C1166.57,-299.921 1158.73,-295.354 1150.79,-293 1133.32,-287.82 1127.22,-287.662 1109.79,-293 1103.92,-294.798 1098.14,-297.829 1092.92,-301.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1087.06,-305.259 1091.02,-298.68 1089.94,-303.264 1092.82,-301.269 1092.82,-301.269 1092.82,-301.269 1089.94,-303.264 1094.61,-303.857 1087.06,-305.259 1087.06,-305.259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1109.79\" y=\"-311.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1122.29\" y=\"-296.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->9 -->\n",
|
|
"<g id=\"edge56\" class=\"edge\"><title>12->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1052.16,-331.174C1045.66,-335.507 1038.09,-340.239 1030.9,-344 989.658,-365.544 974.545,-377.504 929,-368 902.519,-362.474 875.705,-346.345 858.215,-334.087\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"852.211,-329.773 859.734,-331.3 855.054,-331.816 857.896,-333.858 857.896,-333.858 857.896,-333.858 855.054,-331.816 856.058,-336.416 852.211,-329.773 852.211,-329.773\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"933.448\" y=\"-389.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"942.448\" y=\"-374.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->10 -->\n",
|
|
"<g id=\"edge57\" class=\"edge\"><title>12->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1064.53,-298.174C1059.29,-280.284 1049.12,-255.195 1030.9,-241 1016.33,-229.649 995.874,-225.463 979.37,-224.081\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"972.101,-223.628 979.283,-220.919 975.594,-223.845 979.087,-224.063 979.087,-224.063 979.087,-224.063 975.594,-223.845 978.891,-227.207 972.101,-223.628 972.101,-223.628\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"991.896\" y=\"-259.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1002.4\" y=\"-244.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->11 -->\n",
|
|
"<g id=\"edge58\" class=\"edge\"><title>12->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1091.67,-321.512C1097.51,-322.126 1103.89,-322.694 1109.79,-323 1127.99,-323.944 1132.61,-324.177 1150.79,-323 1154.39,-322.767 1158.17,-322.412 1161.9,-321.996\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1168.94,-321.139 1162.37,-325.113 1165.46,-321.563 1161.99,-321.986 1161.99,-321.986 1161.99,-321.986 1165.46,-321.563 1161.61,-318.859 1168.94,-321.139 1168.94,-321.139\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1111.79\" y=\"-341.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1122.29\" y=\"-326.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->12 -->\n",
|
|
"<g id=\"edge59\" class=\"edge\"><title>12->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1059.99,-338.077C1058.06,-348.682 1061.51,-358.448 1070.34,-358.448 1077.11,-358.448 1080.72,-352.724 1081.17,-345.281\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1080.7,-338.077 1084.3,-344.857 1080.93,-341.57 1081.16,-345.062 1081.16,-345.062 1081.16,-345.062 1080.93,-341.57 1078.01,-345.268 1080.7,-338.077 1080.7,-338.077\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1049.84\" y=\"-377.248\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1062.34\" y=\"-362.248\" 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 0x7f9d0b183ae0> >"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.sl(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"False"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a.is_empty()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Reading from file (see `automaton-io.ipynb` for more examples)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Writing example1.aut\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"%%file example1.aut\n",
|
|
"HOA: v1\n",
|
|
"States: 3\n",
|
|
"Start: 0\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"acc-name: Buchi\n",
|
|
"Acceptance: 4 Inf(0)&Fin(1)&Fin(3) | Inf(2)&Inf(3) | Inf(1)\n",
|
|
"--BODY--\n",
|
|
"State: 0 {3}\n",
|
|
"[t] 0\n",
|
|
"[0] 1 {1}\n",
|
|
"[!0] 2 {0}\n",
|
|
"State: 1 {3}\n",
|
|
"[1] 0\n",
|
|
"[0&1] 1 {0}\n",
|
|
"[!0&1] 2 {2}\n",
|
|
"State: 2\n",
|
|
"[!1] 0\n",
|
|
"[0&!1] 1 {0}\n",
|
|
"[!0&!1] 2 {0}\n",
|
|
"--END--"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"178pt\" viewBox=\"0.00 0.00 361.00 178.46\" width=\"361pt\" 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 174.462)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-174.462 357,-174.462 357,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"8\" y=\"-156.262\">(Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"33\" y=\"-156.262\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"49\" y=\"-156.262\">) & Fin(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"95\" y=\"-156.262\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"111\" y=\"-156.262\">) & Fin(</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"157\" y=\"-156.262\">❸</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"173\" y=\"-156.262\">)) | (Inf(</text>\n",
|
|
"<text fill=\"#ff7f00\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"217\" y=\"-156.262\">❷</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"233\" y=\"-156.262\">)&Inf(</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"269\" y=\"-156.262\">❸</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"285\" y=\"-156.262\">)) | Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"325\" y=\"-156.262\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"341\" y=\"-156.262\">)</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"87.75\" cy=\"-24.4625\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"87.75\" y=\"-20.7625\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M32.9049,-24.4625C34.5439,-24.4625 48.9043,-24.4625 62.3817,-24.4625\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"69.6919,-24.4625 62.6919,-27.6126 66.1919,-24.4625 62.6919,-24.4626 62.6919,-24.4626 62.6919,-24.4626 66.1919,-24.4625 62.6918,-21.3126 69.6919,-24.4625 69.6919,-24.4625\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M81.3708,-41.4998C80.0689,-51.3204 82.1953,-60.4625 87.75,-60.4625 91.916,-60.4625 94.1536,-55.32 94.4628,-48.6058\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"94.1292,-41.4998 97.6041,-48.3443 94.2934,-44.9959 94.4576,-48.4921 94.4576,-48.4921 94.4576,-48.4921 94.2934,-44.9959 91.311,-48.6398 94.1292,-41.4998 94.1292,-41.4998\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"83.25\" y=\"-79.2625\">1</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"79.75\" y=\"-64.2625\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"191.75\" cy=\"-83.4625\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"191.75\" y=\"-79.7625\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M96.2222,-40.4354C102.139,-51.2481 111.454,-64.894 123.75,-72.4625 136.455,-80.2825 152.974,-83.0589 166.43,-83.8673\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"173.547,-84.1335 166.434,-87.0196 170.049,-84.0026 166.551,-83.8718 166.551,-83.8718 166.551,-83.8718 170.049,-84.0026 166.669,-80.724 173.547,-84.1335 173.547,-84.1335\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"136.25\" y=\"-100.262\">a</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"123.75\" y=\"-86.2625\">❶</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"139.75\" y=\"-86.2625\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"300.75\" cy=\"-24.4625\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"300.75\" y=\"-20.7625\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->2</title>\n",
|
|
"<path d=\"M105.831,-23.2907C111.528,-22.9521 117.91,-22.6292 123.75,-22.4625 186.391,-20.6742 202.109,-20.6742 264.75,-22.4625 268.218,-22.5615 271.876,-22.7155 275.469,-22.8952\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"282.669,-23.2907 275.506,-26.0519 279.174,-23.0987 275.679,-22.9067 275.679,-22.9067 275.679,-22.9067 279.174,-23.0987 275.852,-19.7614 282.669,-23.2907 282.669,-23.2907\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"186.25\" y=\"-38.2625\">!a</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"175.75\" y=\"-24.2625\">⓿</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"191.75\" y=\"-24.2625\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->0</title>\n",
|
|
"<path d=\"M182.416,-67.7662C176.334,-57.843 167.17,-45.5882 155.75,-38.4625 142.991,-30.5007 126.471,-26.9895 113.029,-25.4742\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"105.92,-24.8221 113.179,-22.3249 109.406,-25.1419 112.891,-25.4617 112.891,-25.4617 112.891,-25.4617 109.406,-25.1419 112.603,-28.5985 105.92,-24.8221 105.92,-24.8221\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"135.25\" y=\"-57.2625\">b</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"131.75\" y=\"-42.2625\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->1</title>\n",
|
|
"<path d=\"M182.771,-99.3785C180.429,-109.613 183.422,-119.462 191.75,-119.462 198.126,-119.462 201.375,-113.689 201.496,-106.389\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"200.729,-99.3785 204.622,-105.994 201.11,-102.858 201.491,-106.337 201.491,-106.337 201.491,-106.337 201.11,-102.858 198.36,-106.68 200.729,-99.3785 200.729,-99.3785\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"174.75\" y=\"-137.262\">a & b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"175.75\" y=\"-123.262\">⓿</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"191.75\" y=\"-123.262\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>1->2</title>\n",
|
|
"<path d=\"M210.007,-84.4326C225.435,-84.5035 248.11,-82.5775 264.75,-72.4625 274.871,-66.3102 282.955,-56.0178 288.793,-46.5381\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"292.304,-40.4776 291.521,-48.1137 290.549,-43.5062 288.795,-46.5348 288.795,-46.5348 288.795,-46.5348 290.549,-43.5062 286.069,-44.9558 292.304,-40.4776 292.304,-40.4776\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"227.75\" y=\"-100.262\">!a & b</text>\n",
|
|
"<text fill=\"#ff7f00\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"230.25\" y=\"-86.2625\">❷</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"246.25\" y=\"-86.2625\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>2->0</title>\n",
|
|
"<path d=\"M283.519,-18.1905C259.601,-9.70234 213.427,3.81075 173.75,-1.46246 152.401,-4.2998 128.809,-10.9793 111.907,-16.4132\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"105.099,-18.6508 110.765,-13.4725 108.424,-17.5579 111.749,-16.465 111.749,-16.465 111.749,-16.465 108.424,-17.5579 112.732,-19.4575 105.099,-18.6508 105.099,-18.6508\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"185.25\" y=\"-5.26246\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>2->1</title>\n",
|
|
"<path d=\"M282.526,-24.4701C267.12,-25.2161 244.459,-28.1972 227.75,-38.4625 218.611,-44.0772 210.937,-53.0028 205.126,-61.4297\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"201.051,-67.7136 202.217,-60.1264 202.955,-64.7769 204.86,-61.8401 204.86,-61.8401 204.86,-61.8401 202.955,-64.7769 207.503,-63.5538 201.051,-67.7136 201.051,-67.7136\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"227.75\" y=\"-57.2625\">a & !b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"238.25\" y=\"-42.2625\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>2->2</title>\n",
|
|
"<path d=\"M291.517,-40.0039C288.919,-50.3712 291.996,-60.4625 300.75,-60.4625 307.452,-60.4625 310.827,-54.5471 310.874,-47.1215\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"309.983,-40.0039 313.979,-46.5579 310.418,-43.4768 310.853,-46.9496 310.853,-46.9496 310.853,-46.9496 310.418,-43.4768 307.727,-47.3413 309.983,-40.0039 309.983,-40.0039\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"280.25\" y=\"-79.2625\">!a & !b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"292.75\" y=\"-64.2625\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"189pt\" viewBox=\"0.00 0.00 410.50 188.53\" width=\"411pt\" 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 184.526)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-184.526 406.5,-184.526 406.5,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"97.75\" y=\"-166.326\">Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"119.75\" y=\"-166.326\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"135.75\" y=\"-166.326\">) | Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"172.75\" y=\"-166.326\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"188.75\" y=\"-166.326\">) | (Inf(</text>\n",
|
|
"<text fill=\"#ff7f00\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"228.75\" y=\"-166.326\">❷</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"244.75\" y=\"-166.326\">)&Inf(</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"280.75\" y=\"-166.326\">❸</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"296.75\" y=\"-166.326\">))</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"166.25\" y=\"-152.326\">[Fin-less 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-25.5257\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-21.8257\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-25.5257C2.79388,-25.5257 17.1543,-25.5257 30.6317,-25.5257\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-25.5257 30.9419,-28.6758 34.4419,-25.5258 30.9419,-25.5258 30.9419,-25.5258 30.9419,-25.5258 34.4419,-25.5258 30.9418,-22.3758 37.9419,-25.5257 37.9419,-25.5257\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-42.5631C48.3189,-52.3837 50.4453,-61.5257 56,-61.5257 60.166,-61.5257 62.4036,-56.3833 62.7128,-49.669\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-42.5631 65.8541,-49.4076 62.5434,-46.0592 62.7076,-49.5554 62.7076,-49.5554 62.7076,-49.5554 62.5434,-46.0592 59.561,-49.7031 62.3792,-42.5631 62.3792,-42.5631\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"51.5\" y=\"-80.3257\">1</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"48\" y=\"-65.3257\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"160\" cy=\"-78.5257\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"160\" y=\"-74.8257\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M64.2739,-41.8373C70.0973,-52.8095 79.3819,-66.507 92,-73.5257 104.901,-80.7019 121.422,-82.0046 134.83,-81.4873\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"141.916,-81.0385 135.129,-84.6248 138.423,-81.2598 134.93,-81.4811 134.93,-81.4811 134.93,-81.4811 138.423,-81.2598 134.731,-78.3374 141.916,-81.0385 141.916,-81.0385\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"104.5\" y=\"-98.3257\">a</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-84.3257\">❶</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"108\" y=\"-84.3257\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"269\" cy=\"-25.5257\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"269\" y=\"-21.8257\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->2</title>\n",
|
|
"<path d=\"M74.248,-24.476C91.4149,-23.4873 118.517,-22.078 142,-21.5257 182.443,-20.5747 192.59,-21.6366 233,-23.5257 236.465,-23.6877 240.123,-23.8768 243.715,-24.0727\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"250.914,-24.4783 243.748,-27.2295 247.419,-24.2814 243.925,-24.0845 243.925,-24.0845 243.925,-24.0845 247.419,-24.2814 244.102,-20.9395 250.914,-24.4783 250.914,-24.4783\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"154.5\" y=\"-40.3257\">!a</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"152\" y=\"-25.3257\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->0</title>\n",
|
|
"<path d=\"M149.358,-63.7736C143.113,-55.3948 134.248,-45.4299 124,-39.5257 110.969,-32.0177 94.4463,-28.5115 81.0699,-26.8854\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"74.0044,-26.162 81.2889,-23.7415 77.4862,-26.5185 80.968,-26.8751 80.968,-26.8751 80.968,-26.8751 77.4862,-26.5185 80.6471,-30.0087 74.0044,-26.162 74.0044,-26.162\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"103.5\" y=\"-58.3257\">b</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"100\" y=\"-43.3257\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->1</title>\n",
|
|
"<path d=\"M151.021,-94.4418C148.679,-104.676 151.672,-114.526 160,-114.526 166.376,-114.526 169.625,-108.752 169.746,-101.453\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"168.979,-94.4418 172.872,-101.057 169.36,-97.921 169.741,-101.4 169.741,-101.4 169.741,-101.4 169.36,-97.921 166.61,-101.743 168.979,-94.4418 168.979,-94.4418\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"143\" y=\"-133.326\">a & b</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"152\" y=\"-118.326\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>1->2</title>\n",
|
|
"<path d=\"M177.894,-76.2046C193.077,-73.5836 215.598,-68.3394 233,-58.5257 239.656,-54.7722 246.025,-49.4861 251.463,-44.2425\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"256.565,-39.0714 253.891,-46.2665 254.107,-41.5627 251.649,-44.054 251.649,-44.054 251.649,-44.054 254.107,-41.5627 249.406,-41.8416 256.565,-39.0714 256.565,-39.0714\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"196\" y=\"-89.3257\">!a & b</text>\n",
|
|
"<text fill=\"#ff7f00\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"198.5\" y=\"-75.3257\">❷</text>\n",
|
|
"<text fill=\"#6a3d9a\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"214.5\" y=\"-75.3257\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>2->0</title>\n",
|
|
"<path d=\"M252.173,-19.1294C228.38,-10.2839 181.925,4.00261 142,-1.52575 120.47,-4.50705 96.7218,-11.5451 79.8133,-17.2333\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"73.012,-19.5727 78.6068,-14.3171 76.3217,-18.4343 79.6314,-17.2958 79.6314,-17.2958 79.6314,-17.2958 76.3217,-18.4343 80.6559,-20.2745 73.012,-19.5727 73.012,-19.5727\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"153.5\" y=\"-5.32575\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>2->1</title>\n",
|
|
"<path d=\"M250.943,-25.8163C235.65,-26.7527 213.06,-29.8545 196,-39.5257 187.962,-44.0825 180.793,-51.162 175.069,-58.0454\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"170.613,-63.7216 172.457,-56.2704 172.774,-60.9685 174.935,-58.2155 174.935,-58.2155 174.935,-58.2155 172.774,-60.9685 177.413,-60.1606 170.613,-63.7216 170.613,-63.7216\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"196\" y=\"-43.3257\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>2->2</title>\n",
|
|
"<path d=\"M259.767,-41.0672C257.169,-51.4344 260.246,-61.5257 269,-61.5257 275.702,-61.5257 279.077,-55.6104 279.124,-48.1848\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"278.233,-41.0672 282.229,-47.6212 278.668,-44.54 279.103,-48.0129 279.103,-48.0129 279.103,-48.0129 278.668,-44.54 275.977,-48.4046 278.233,-41.0672 278.233,-41.0672\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"248.5\" y=\"-65.3257\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>3</title>\n",
|
|
"<ellipse cx=\"382\" cy=\"-25.5257\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"382\" y=\"-21.8257\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge11\"><title>2->3</title>\n",
|
|
"<path d=\"M287.344,-25.5257C305.998,-25.5257 335.797,-25.5257 356.763,-25.5257\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"363.778,-25.5257 356.778,-28.6758 360.278,-25.5258 356.778,-25.5258 356.778,-25.5258 356.778,-25.5258 360.278,-25.5258 356.778,-22.3758 363.778,-25.5257 363.778,-25.5257\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"305\" y=\"-29.3257\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge12\"><title>3->3</title>\n",
|
|
"<path d=\"M372.425,-41.0672C369.73,-51.4344 372.922,-61.5257 382,-61.5257 388.95,-61.5257 392.45,-55.6104 392.499,-48.1848\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"391.575,-41.0672 395.6,-47.6029 392.026,-44.538 392.477,-48.0088 392.477,-48.0088 392.477,-48.0088 392.026,-44.538 389.353,-48.4148 391.575,-41.0672 391.575,-41.0672\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"361.5\" y=\"-80.3257\">!a & !b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"374\" y=\"-65.3257\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"215pt\" viewBox=\"0.00 0.00 491.00 215.00\" width=\"491pt\" 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 211)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-211 487,-211 487,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"220.5\" y=\"-192.8\">Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"242.5\" y=\"-192.8\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"258.5\" y=\"-192.8\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"218.5\" y=\"-178.8\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-63\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-59.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-63C2.79388,-63 17.1543,-63 30.6317,-63\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-63 30.9419,-66.1501 34.4419,-63 30.9419,-63.0001 30.9419,-63.0001 30.9419,-63.0001 34.4419,-63 30.9418,-59.8501 37.9419,-63 37.9419,-63\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-80.0373C48.3189,-89.8579 50.4453,-99 56,-99 60.166,-99 62.4036,-93.8576 62.7128,-87.1433\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-80.0373 65.8541,-86.8818 62.5434,-83.5335 62.7076,-87.0296 62.7076,-87.0296 62.7076,-87.0296 62.5434,-83.5335 59.561,-87.1774 62.3792,-80.0373 62.3792,-80.0373\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"51.5\" y=\"-102.8\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"144\" cy=\"-118\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"139.5\" y=\"-114.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M68.7319,-76.0584C75.1386,-82.6454 83.4866,-90.4025 92,-96 100.604,-101.657 110.903,-106.422 119.987,-110.056\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"126.648,-112.61 118.984,-113.045 123.38,-111.357 120.112,-110.104 120.112,-110.104 120.112,-110.104 123.38,-111.357 121.239,-107.162 126.648,-112.61 126.648,-112.61\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"96.5\" y=\"-122.8\">a</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-107.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"253\" cy=\"-63\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"253\" y=\"-59.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->2</title>\n",
|
|
"<path d=\"M74.3049,-63C108.997,-63 187.15,-63 227.246,-63\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"234.734,-63 227.734,-66.1501 231.234,-63 227.734,-63.0001 227.734,-63.0001 227.734,-63.0001 231.234,-63 227.734,-59.8501 234.734,-63 234.734,-63\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"138.5\" y=\"-66.8\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->0</title>\n",
|
|
"<path d=\"M133.659,-103.124C127.406,-94.3189 118.427,-83.6253 108,-77 99.9283,-71.8712 89.9824,-68.5983 81.0235,-66.5201\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"74.105,-65.097 81.5961,-63.422 77.5332,-65.8022 80.9614,-66.5074 80.9614,-66.5074 80.9614,-66.5074 77.5332,-65.8022 80.3267,-69.5928 74.105,-65.097 74.105,-65.097\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"95.5\" y=\"-80.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->1</title>\n",
|
|
"<path d=\"M136.332,-134.29C134.483,-144.389 137.039,-154 144,-154 149.221,-154 151.964,-148.594 152.229,-141.63\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"151.668,-134.29 155.342,-141.03 151.935,-137.78 152.201,-141.27 152.201,-141.27 152.201,-141.27 151.935,-137.78 149.06,-141.51 151.668,-134.29 151.668,-134.29\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"127\" y=\"-157.8\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>1->2</title>\n",
|
|
"<path d=\"M155.172,-103.784C161.479,-95.9626 170.229,-86.7126 180,-81 194.587,-72.4715 213.123,-67.9572 227.735,-65.5825\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"234.976,-64.5257 228.504,-68.6536 231.513,-65.0312 228.049,-65.5366 228.049,-65.5366 228.049,-65.5366 231.513,-65.0312 227.594,-62.4196 234.976,-64.5257 234.976,-64.5257\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"180\" y=\"-99.8\">!a & b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"190.5\" y=\"-84.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>4</title>\n",
|
|
"<ellipse cx=\"465\" cy=\"-120\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"465\" y=\"-116.3\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>1->4</title>\n",
|
|
"<path d=\"M158.837,-128.67C164.97,-132.749 172.488,-136.919 180,-139 195.848,-143.39 200.567,-139.619 217,-139 298.865,-135.915 395.651,-126.902 439.831,-122.49\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"446.957,-121.773 440.308,-125.608 443.475,-122.124 439.993,-122.474 439.993,-122.474 439.993,-122.474 443.475,-122.124 439.677,-119.34 446.957,-121.773 446.957,-121.773\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"303\" y=\"-138.8\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>2->0</title>\n",
|
|
"<path d=\"M235.712,-57.5603C211.723,-50.2264 165.461,-38.6662 126,-44 110.416,-46.1064 93.3766,-50.7739 80.1294,-54.9554\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"73.1933,-57.2091 78.8773,-52.0501 76.522,-56.1275 79.8507,-55.0459 79.8507,-55.0459 79.8507,-55.0459 76.522,-56.1275 80.8242,-58.0417 73.1933,-57.2091 73.1933,-57.2091\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"137.5\" y=\"-47.8\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>2->1</title>\n",
|
|
"<path d=\"M244.677,-79.2247C238.831,-90.1559 229.539,-103.84 217,-111 202.605,-119.22 183.913,-120.824 169.183,-120.45\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"161.885,-120.099 169.028,-117.289 165.38,-120.267 168.876,-120.435 168.876,-120.435 168.876,-120.435 165.38,-120.267 168.725,-123.582 161.885,-120.099 161.885,-120.099\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"180\" y=\"-123.8\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge11\"><title>2->2</title>\n",
|
|
"<path d=\"M243.767,-78.5414C241.169,-88.9087 244.246,-99 253,-99 259.702,-99 263.077,-93.0847 263.124,-85.6591\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"262.233,-78.5414 266.229,-85.0955 262.668,-82.0143 263.103,-85.4871 263.103,-85.4871 263.103,-85.4871 262.668,-82.0143 259.977,-85.8788 262.233,-78.5414 262.233,-78.5414\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"232.5\" y=\"-102.8\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge13\"><title>2->4</title>\n",
|
|
"<path d=\"M270.184,-68.6018C288.821,-74.9506 320.42,-85.4023 348,-93 379.615,-101.709 416.578,-109.99 440.129,-115.03\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"446.987,-116.488 439.485,-118.114 443.564,-115.76 440.14,-115.033 440.14,-115.033 440.14,-115.033 443.564,-115.76 440.795,-111.951 446.987,-116.488 446.987,-116.488\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"361.5\" y=\"-105.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node6\"><title>3</title>\n",
|
|
"<ellipse cx=\"366\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"366\" y=\"-14.3\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge12\"><title>2->3</title>\n",
|
|
"<path d=\"M269.904,-56.5526C288.944,-48.8335 320.958,-35.8548 342.522,-27.1128\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"349.126,-24.4354 343.822,-29.9847 345.882,-25.7504 342.639,-27.0654 342.639,-27.0654 342.639,-27.0654 345.882,-25.7504 341.455,-24.1462 349.126,-24.4354 349.126,-24.4354\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"289\" y=\"-51.8\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge16\"><title>4->4</title>\n",
|
|
"<path d=\"M456.635,-136.29C454.618,-146.389 457.406,-156 465,-156 470.695,-156 473.688,-150.594 473.977,-143.63\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"473.365,-136.29 477.086,-143.004 473.656,-139.778 473.947,-143.266 473.947,-143.266 473.947,-143.266 473.656,-139.778 470.807,-143.528 473.365,-136.29 473.365,-136.29\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"460.5\" y=\"-159.8\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g class=\"edge\" id=\"edge15\"><title>3->4</title>\n",
|
|
"<path d=\"M379.285,-30.9184C396.413,-48.9291 427.541,-81.6613 446.919,-102.039\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"451.815,-107.187 444.708,-104.285 449.403,-104.65 446.991,-102.114 446.991,-102.114 446.991,-102.114 449.403,-104.65 449.273,-99.9432 451.815,-107.187 451.815,-107.187\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"402\" y=\"-84.8\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge14\"><title>3->3</title>\n",
|
|
"<path d=\"M357.635,-34.2903C355.618,-44.3892 358.406,-54 366,-54 371.695,-54 374.688,-48.5939 374.977,-41.6304\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"374.365,-34.2903 378.086,-41.0044 374.656,-37.7782 374.947,-41.2661 374.947,-41.2661 374.947,-41.2661 374.656,-37.7782 371.807,-41.5278 374.365,-34.2903 374.365,-34.2903\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"345.5\" y=\"-72.8\">!a & !b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"358\" y=\"-57.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"527pt\" height=\"179pt\"\n",
|
|
" viewBox=\"0.00 0.00 527.00 179.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 175)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-175 523,-175 523,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-66\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-62.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-66C2.79388,-66 17.1543,-66 30.6317,-66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-66 30.9419,-69.1501 34.4419,-66 30.9419,-66.0001 30.9419,-66.0001 30.9419,-66.0001 34.4419,-66 30.9418,-62.8501 37.9419,-66 37.9419,-66\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-83.0373C48.3189,-92.8579 50.4453,-102 56,-102 60.166,-102 62.4036,-96.8576 62.7128,-90.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-83.0373 65.8541,-89.8818 62.5434,-86.5335 62.7076,-90.0296 62.7076,-90.0296 62.7076,-90.0296 62.5434,-86.5335 59.561,-90.1774 62.3792,-83.0373 62.3792,-83.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"141\" cy=\"-113\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"141\" cy=\"-113\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"136.5\" y=\"-109.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M68.4614,-79.4988C74.7941,-86.2064 83.1575,-93.9384 92,-99 98.0857,-102.484 105.11,-105.163 111.875,-107.198\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"119.057,-109.162 111.474,-110.354 115.681,-108.239 112.305,-107.316 112.305,-107.316 112.305,-107.316 115.681,-108.239 113.136,-104.277 119.057,-109.162 119.057,-109.162\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-106.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"377.5\" cy=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"377.5\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.7415,-62.6785C110.812,-55.6914 202.666,-40.4016 280,-44 304.741,-45.1512 332.934,-47.954 352.43,-50.1285\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"359.451,-50.9264 352.14,-53.2658 355.973,-50.5312 352.495,-50.1359 352.495,-50.1359 352.495,-50.1359 355.973,-50.5312 352.851,-47.006 359.451,-50.9264 359.451,-50.9264\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M124.745,-97.6496C117.939,-91.4784 109.538,-84.7216 101,-80 94.818,-76.5813 87.6782,-73.8573 80.9725,-71.7548\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.9325,-69.7139 81.5327,-68.6376 77.294,-70.6884 80.6556,-71.663 80.6556,-71.663 80.6556,-71.663 77.294,-70.6884 79.7785,-74.6884 73.9325,-69.7139 73.9325,-69.7139\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-83.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"497\" cy=\"-120\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"497\" y=\"-116.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M162.476,-118.163C205.763,-128.519 309.833,-150.472 398,-146 424.324,-144.665 431.725,-147.476 457,-140 463.084,-138.2 469.341,-135.452 475.014,-132.563\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"481.36,-129.156 476.683,-135.242 478.276,-130.811 475.193,-132.467 475.193,-132.467 475.193,-132.467 478.276,-130.811 473.703,-129.692 481.36,-129.156 481.36,-129.156\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301.5\" y=\"-148.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\"><title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"258\" cy=\"-75\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"258\" cy=\"-75\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"258\" y=\"-71.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M162.031,-106.381C180.88,-100.153 209.241,-90.7811 230.064,-83.9005\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"236.812,-81.6707 231.154,-86.858 233.489,-82.7689 230.166,-83.8671 230.166,-83.8671 230.166,-83.8671 233.489,-82.7689 229.177,-80.8761 236.812,-81.6707 236.812,-81.6707\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"181\" y=\"-102.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\"><title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M395.499,-55.8003C412.166,-59.1234 437.797,-65.8167 457,-78 466.106,-83.7772 474.491,-92.1901 481.135,-99.9716\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"485.858,-105.745 478.988,-102.322 483.642,-103.036 481.426,-100.327 481.426,-100.327 481.426,-100.327 483.642,-103.036 483.864,-98.3326 485.858,-105.745 485.858,-105.745\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"418\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node7\" class=\"node\"><title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"497\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"497\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"497\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\"><title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M394.383,-46.4766C400.994,-43.9178 408.794,-41.0983 416,-39 432.988,-34.0535 452.392,-29.8946 467.836,-26.9286\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.071,-25.5702 468.773,-29.9579 471.631,-26.2161 468.191,-26.862 468.191,-26.862 468.191,-26.862 471.631,-26.2161 467.61,-23.766 475.071,-25.5702 475.071,-25.5702\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"416\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M486.849,-135.167C483.772,-145.664 487.156,-156 497,-156 504.537,-156 508.287,-149.941 508.25,-142.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"507.151,-135.167 511.318,-141.614 507.678,-138.627 508.204,-142.087 508.204,-142.087 508.204,-142.087 507.678,-138.627 505.09,-142.561 507.151,-135.167 507.151,-135.167\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"480\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\"><title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M478.931,-117.685C444.496,-112.879 364.336,-101.007 298,-86 294.14,-85.1268 290.094,-84.1063 286.129,-83.0453\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"279.139,-81.115 286.725,-79.9419 282.512,-82.0466 285.886,-82.9783 285.886,-82.9783 285.886,-82.9783 282.512,-82.0466 285.048,-86.0147 279.139,-81.115 279.139,-81.115\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"359\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\"><title>4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M235.751,-72.7308C216.718,-70.8083 188.031,-68.1815 163,-67 135.045,-65.6804 102.898,-65.5757 81.4039,-65.7082\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.2697,-65.7633 81.2451,-62.5592 77.7696,-65.7362 81.2695,-65.7091 81.2695,-65.7091 81.2695,-65.7091 77.7696,-65.7362 81.2939,-68.859 74.2697,-65.7633 74.2697,-65.7633\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\"><title>4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M279.736,-71.1175C300.127,-67.2996 331.226,-61.4769 352.634,-57.4684\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"359.769,-56.1325 353.469,-60.5171 356.329,-56.7767 352.889,-57.4209 352.889,-57.4209 352.889,-57.4209 356.329,-56.7767 352.309,-54.3247 359.769,-56.1325 359.769,-56.1325\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"298\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\"><title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M275.32,-88.9223C282.032,-94.1592 290.08,-99.8453 298,-104 322.519,-116.862 329.72,-119.264 357,-124 396.958,-130.937 444.329,-127.047 472.178,-123.553\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"479.157,-122.634 472.628,-126.671 475.687,-123.091 472.217,-123.548 472.217,-123.548 472.217,-123.548 475.687,-123.091 471.805,-120.425 479.157,-122.634 479.157,-122.634\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"359\" y=\"-130.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->5 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\"><title>4->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M274.833,-60.3991C293.061,-44.6756 324.669,-20.622 357,-11 394.645,0.203426 440.407,-7.21294 468.875,-14.1473\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.725,-15.8883 468.164,-17.2168 472.332,-15.0261 468.94,-14.1639 468.94,-14.1639 468.94,-14.1639 472.332,-15.0261 469.716,-11.111 475.725,-15.8883 475.725,-15.8883\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"357\" y=\"-14.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\"><title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M486.288,-41.3443C484.289,-52.0977 487.859,-62 497,-62 503.998,-62 507.732,-56.1954 508.2,-48.6485\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"507.712,-41.3443 511.321,-48.1187 507.945,-44.8365 508.178,-48.3288 508.178,-48.3288 508.178,-48.3288 507.945,-44.8365 505.035,-48.5388 507.712,-41.3443 507.712,-41.3443\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"476.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !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 0x7f9d0858c600> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.automaton('example1.aut')\n",
|
|
"display(a.show('.a'))\n",
|
|
"display(spot.remove_fin(a).show('.a'))\n",
|
|
"display(a.postprocess('TGBA', 'complete').show('.a'))\n",
|
|
"display(a.postprocess('BA'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!rm example1.aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"376pt\" height=\"164pt\"\n",
|
|
" viewBox=\"0.00 0.00 376.00 163.63\" 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 159.627)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-159.627 372,-159.627 372,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.6271\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.9271\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-23.6271C2.79388,-23.6271 17.1543,-23.6271 30.6317,-23.6271\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-23.6271 30.9419,-26.7772 34.4419,-23.6271 30.9419,-23.6272 30.9419,-23.6272 30.9419,-23.6272 34.4419,-23.6271 30.9418,-20.4772 37.9419,-23.6271 37.9419,-23.6271\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-40.6644C48.3189,-50.485 50.4453,-59.6271 56,-59.6271 60.166,-59.6271 62.4036,-54.4847 62.7128,-47.7704\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-40.6644 65.8541,-47.5089 62.5434,-44.1606 62.7076,-47.6567 62.7076,-47.6567 62.7076,-47.6567 62.5434,-44.1606 59.561,-47.8045 62.3792,-40.6644 62.3792,-40.6644\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-78.4271\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-63.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"160\" cy=\"-91.6271\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"160\" y=\"-87.9271\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.0461,-39.5832C71.116,-50.1043 80.3787,-63.4106 92,-71.6271 104.628,-80.5557 121.282,-85.5508 134.826,-88.3162\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"141.986,-89.634 134.531,-91.4648 138.544,-89.0004 135.101,-88.3668 135.101,-88.3668 135.101,-88.3668 138.544,-89.0004 135.672,-85.2688 141.986,-89.634 141.986,-89.634\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-102.427\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-88.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-88.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"269\" cy=\"-34.6271\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"269\" y=\"-30.9271\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.0815,-22.4553C79.7775,-22.1168 86.1595,-21.7938 92,-21.6271 154.698,-19.8372 170.775,-19.7328 233,-27.6271 236.671,-28.0929 240.534,-28.7222 244.3,-29.4136\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"251.345,-30.7926 243.87,-32.5392 247.91,-30.1202 244.475,-29.4478 244.475,-29.4478 244.475,-29.4478 247.91,-30.1202 245.08,-26.3565 251.345,-30.7926 251.345,-30.7926\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-39.4271\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-25.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-25.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M152.502,-75.1398C146.816,-62.8931 137.362,-46.7854 124,-37.6271 111.512,-29.0678 94.8589,-25.5604 81.2799,-24.1966\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.0982,-23.641 81.3203,-21.0404 77.5877,-23.911 81.0773,-24.181 81.0773,-24.181 81.0773,-24.181 77.5877,-23.911 80.8343,-27.3216 74.0982,-23.641 74.0982,-23.641\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-56.4271\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-41.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M151.021,-107.543C148.679,-117.777 151.672,-127.627 160,-127.627 166.376,-127.627 169.625,-121.853 169.746,-114.554\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"168.979,-107.543 172.872,-114.159 169.36,-111.022 169.741,-114.502 169.741,-114.502 169.741,-114.502 169.36,-111.022 166.61,-114.844 168.979,-107.543 168.979,-107.543\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-145.427\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-131.427\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-131.427\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\"><title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M167.91,-75.2258C173.659,-63.768 183.007,-49.2139 196,-41.6271 210.315,-33.2685 229.009,-31.6683 243.761,-32.0794\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"251.072,-32.4526 243.92,-35.2416 247.576,-32.2741 244.081,-32.0957 244.081,-32.0957 244.081,-32.0957 247.576,-32.2741 244.241,-28.9498 251.072,-32.4526 251.072,-32.4526\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-59.4271\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198.5\" y=\"-45.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"214.5\" y=\"-45.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"350\" cy=\"-103.627\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"350\" y=\"-99.9271\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\"><title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M173.474,-103.976C179.696,-109.273 187.664,-114.87 196,-117.627 240.31,-132.284 295.524,-120.365 326.037,-111.352\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"332.881,-109.255 327.111,-114.318 329.534,-110.281 326.188,-111.306 326.188,-111.306 326.188,-111.306 329.534,-110.281 325.265,-108.294 332.881,-109.255 332.881,-109.255\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-127.427\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\"><title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M252.579,-26.7885C235.049,-18.4033 205.316,-5.75244 178,-1.6271 143.605,3.56728 103.982,-6.75979 79.7161,-14.9564\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.9986,-17.3045 78.5671,-12.021 76.3026,-16.1495 79.6065,-14.9946 79.6065,-14.9946 79.6065,-14.9946 76.3026,-16.1495 80.646,-17.9682 72.9986,-17.3045 72.9986,-17.3045\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153.5\" y=\"-5.4271\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\"><title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M256.965,-48.5704C250.631,-55.7566 242.134,-64.1397 233,-69.6271 218.307,-78.4541 199.773,-84.0107 185.19,-87.3312\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.965,-88.8693 184.155,-84.3307 181.388,-88.1405 184.811,-87.4117 184.811,-87.4117 184.811,-87.4117 181.388,-88.1405 185.467,-90.4926 177.965,-88.8693 177.965,-88.8693\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-102.427\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"206.5\" y=\"-87.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\"><title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M261.969,-51.2912C260.406,-61.2521 262.75,-70.6271 269,-70.6271 273.688,-70.6271 276.178,-65.3537 276.471,-58.5147\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"276.031,-51.2912 279.601,-58.0869 276.244,-54.7847 276.456,-58.2782 276.456,-58.2782 276.456,-58.2782 276.244,-54.7847 273.312,-58.4696 276.031,-51.2912 276.031,-51.2912\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"248.5\" y=\"-89.4271\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"261\" y=\"-74.4271\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\"><title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M283.045,-46.021C295.967,-57.3074 315.88,-74.6997 330.446,-87.4219\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"335.935,-92.2162 328.591,-89.9839 333.299,-89.9138 330.663,-87.6114 330.663,-87.6114 330.663,-87.6114 333.299,-89.9138 332.735,-85.2389 335.935,-92.2162 335.935,-92.2162\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"305\" y=\"-74.4271\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\"><title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M342.969,-120.291C341.406,-130.252 343.75,-139.627 350,-139.627 354.688,-139.627 357.178,-134.354 357.471,-127.515\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"357.031,-120.291 360.601,-127.087 357.244,-123.785 357.456,-127.278 357.456,-127.278 357.456,-127.278 357.244,-123.785 354.312,-127.47 357.031,-120.291 357.031,-120.291\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"350\" y=\"-143.427\" font-family=\"Lato\" font-size=\"14.00\">1</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 0x7f9d0858c450> >"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.complete(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"173pt\" height=\"85pt\"\n",
|
|
" viewBox=\"0.00 0.00 173.00 85.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 81)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-81 169,-81 169,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"60\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"60\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"60\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.16638,-22C2.84121,-22 16.884,-22 30.7112,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.8555,-22 30.8556,-25.1501 34.3555,-22 30.8555,-22.0001 30.8555,-22.0001 30.8555,-22.0001 34.3555,-22 30.8555,-18.8501 37.8555,-22 37.8555,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.6831,-42.9908C51.7798,-53.0872 54.2188,-62 60,-62 64.3359,-62 66.7918,-56.9866 67.3677,-50.2204\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"67.3169,-42.9908 70.5161,-49.9684 67.3415,-46.4907 67.3662,-49.9906 67.3662,-49.9906 67.3662,-49.9906 67.3415,-46.4907 64.2163,-50.0128 67.3169,-42.9908 67.3169,-42.9908\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"56.5\" y=\"-65.8\" 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=\"147\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"147\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M82.0112,-22C94.0936,-22 109.32,-22 121.889,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"128.938,-22 121.938,-25.1501 125.438,-22 121.938,-22.0001 121.938,-22.0001 121.938,-22.0001 125.438,-22 121.938,-18.8501 128.938,-22 128.938,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M139.969,-38.6641C138.406,-48.625 140.75,-58 147,-58 151.688,-58 154.178,-52.7266 154.471,-45.8876\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"154.031,-38.6641 157.601,-45.4598 154.244,-42.1576 154.456,-45.6511 154.456,-45.6511 154.456,-45.6511 154.244,-42.1576 151.312,-45.8425 154.031,-38.6641 154.031,-38.6641\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"147\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">1</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 0x7f9d0858c390> >"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.complete(spot.translate('Ga'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"128pt\" viewBox=\"0.00 0.00 170.00 128.00\" width=\"170pt\" 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 124)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-124 166,-124 166,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"60\" y=\"-105.8\">Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"82\" y=\"-105.8\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"98\" y=\"-105.8\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"58\" y=\"-91.8\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>1</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-14.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->1</title>\n",
|
|
"<path d=\"M1.15491,-18C2.79388,-18 17.1543,-18 30.6317,-18\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-18 30.9419,-21.1501 34.4419,-18 30.9419,-18.0001 30.9419,-18.0001 30.9419,-18.0001 34.4419,-18 30.9418,-14.8501 37.9419,-18 37.9419,-18\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->1</title>\n",
|
|
"<path d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"38\" y=\"-72.8\">a & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"48\" y=\"-57.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>0</title>\n",
|
|
"<ellipse cx=\"144\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144\" y=\"-14.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>1->0</title>\n",
|
|
"<path d=\"M74.4034,-18C87.1928,-18 104.732,-18 118.874,-18\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"125.916,-18 118.916,-21.1501 122.416,-18 118.916,-18.0001 118.916,-18.0001 118.916,-18.0001 122.416,-18 118.916,-14.8501 125.916,-18 125.916,-18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"96.5\" y=\"-36.8\">c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-21.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M136.332,-34.2903C134.483,-44.3892 137.039,-54 144,-54 149.221,-54 151.964,-48.5939 152.229,-41.6304\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"151.668,-34.2903 155.342,-41.0299 151.935,-37.7801 152.201,-41.2699 152.201,-41.2699 152.201,-41.2699 151.935,-37.7801 149.06,-41.5099 151.668,-34.2903 151.668,-34.2903\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"139.5\" y=\"-72.8\">1</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"136\" y=\"-57.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"128pt\" viewBox=\"0.00 0.00 163.00 128.00\" width=\"163pt\" 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 124)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-124 159,-124 159,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"56.5\" y=\"-105.8\">Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"78.5\" y=\"-105.8\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"94.5\" y=\"-105.8\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"54.5\" y=\"-91.8\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>1</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-14.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->1</title>\n",
|
|
"<path d=\"M1.15491,-18C2.79388,-18 17.1543,-18 30.6317,-18\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-18 30.9419,-21.1501 34.4419,-18 30.9419,-18.0001 30.9419,-18.0001 30.9419,-18.0001 34.4419,-18 30.9418,-14.8501 37.9419,-18 37.9419,-18\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->1</title>\n",
|
|
"<path d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"37.5\" y=\"-57.8\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>0</title>\n",
|
|
"<ellipse cx=\"137\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"137\" y=\"-14.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>1->0</title>\n",
|
|
"<path d=\"M74.1418,-18C85.1153,-18 99.5214,-18 111.67,-18\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"118.892,-18 111.892,-21.1501 115.392,-18 111.892,-18.0001 111.892,-18.0001 111.892,-18.0001 115.392,-18 111.892,-14.8501 118.892,-18 118.892,-18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-21.8\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M129.969,-34.6641C128.406,-44.625 130.75,-54 137,-54 141.688,-54 144.178,-48.7266 144.471,-41.8876\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"144.031,-34.6641 147.601,-41.4598 144.244,-38.1576 144.456,-41.6511 144.456,-41.6511 144.456,-41.6511 144.244,-38.1576 141.312,-41.8425 144.031,-34.6641 144.031,-34.6641\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"132.5\" y=\"-72.8\">1</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"129\" y=\"-57.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"271pt\" viewBox=\"0.00 0.00 374.00 271.00\" width=\"374pt\" 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 267)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-267 370,-267 370,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"136\" y=\"-248.8\">Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"158\" y=\"-248.8\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"174\" y=\"-248.8\">)&Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"210\" y=\"-248.8\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"226\" y=\"-248.8\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"139\" y=\"-234.8\">[gen. Büchi 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"65\" cy=\"-118\" fill=\"#ffffaa\" rx=\"27\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"55\" y=\"-114.3\">1,1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.04566,-118C1.94863,-118 16.101,-118 30.7579,-118\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9378,-118 30.9378,-121.15 34.4378,-118 30.9378,-118 30.9378,-118 30.9378,-118 34.4378,-118 30.9378,-114.85 37.9378,-118 37.9378,-118\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>0->0</title>\n",
|
|
"<path d=\"M57.1448,-135.41C55.6785,-145.088 58.2969,-154 65,-154 69.9226,-154 72.6423,-149.194 73.1591,-142.807\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"72.8552,-135.41 76.2899,-142.275 72.9989,-138.907 73.1426,-142.404 73.1426,-142.404 73.1426,-142.404 72.9989,-138.907 69.9953,-142.533 72.8552,-135.41 72.8552,-135.41\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"32\" y=\"-172.8\">a & !b & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"57\" y=\"-157.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"339\" cy=\"-118\" fill=\"#ffffaa\" rx=\"27\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"329\" y=\"-114.3\">0,0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->1</title>\n",
|
|
"<path d=\"M81.4599,-132.849C112.036,-160.34 182.598,-214.494 244,-193 274.537,-182.311 302.549,-157.079 319.902,-138.829\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"324.937,-133.413 322.478,-140.685 322.554,-135.977 320.171,-138.54 320.171,-138.54 320.171,-138.54 322.554,-135.977 317.864,-136.396 324.937,-133.413 324.937,-133.413\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"200\" y=\"-215.8\">b & c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"209\" y=\"-200.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"217\" cy=\"-118\" fill=\"#ffffaa\" rx=\"27\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"207\" y=\"-114.3\">0,1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->2</title>\n",
|
|
"<path d=\"M92.128,-118C117.324,-118 155.554,-118 182.874,-118\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"189.92,-118 182.92,-121.15 186.42,-118 182.92,-118 182.92,-118 182.92,-118 186.42,-118 182.92,-114.85 189.92,-118 189.92,-118\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"110\" y=\"-136.8\">a & !b & c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"133\" y=\"-121.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>3</title>\n",
|
|
"<ellipse cx=\"217\" cy=\"-18\" fill=\"#ffffaa\" rx=\"27\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"207\" y=\"-14.3\">1,0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->3</title>\n",
|
|
"<path d=\"M82.8344,-104.351C90.9083,-97.9714 100.805,-90.3913 110,-84 136.571,-65.532 168.193,-46.1623 189.943,-33.2209\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"196.081,-29.5834 191.665,-35.8621 193.07,-31.3678 190.059,-33.1522 190.059,-33.1522 190.059,-33.1522 193.07,-31.3678 188.453,-30.4423 196.081,-29.5834 196.081,-29.5834\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"110\" y=\"-102.8\">a & b & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"133\" y=\"-87.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->1</title>\n",
|
|
"<path d=\"M328.453,-134.664C326.109,-144.625 329.625,-154 339,-154 346.031,-154 349.767,-148.727 350.206,-141.888\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"349.547,-134.664 353.32,-141.349 349.865,-138.15 350.183,-141.635 350.183,-141.635 350.183,-141.635 349.865,-138.15 347.046,-141.921 349.547,-134.664 349.547,-134.664\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"334.5\" y=\"-171.8\">1</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"323\" y=\"-157.8\">⓿</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"339\" y=\"-157.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>2->1</title>\n",
|
|
"<path d=\"M244.038,-118C261.764,-118 285.386,-118 304.51,-118\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"311.598,-118 304.598,-121.15 308.098,-118 304.598,-118 304.598,-118 304.598,-118 308.098,-118 304.598,-114.85 311.598,-118 311.598,-118\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"273.5\" y=\"-136.8\">b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"270\" y=\"-121.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>2->2</title>\n",
|
|
"<path d=\"M206.453,-134.664C204.109,-144.625 207.625,-154 217,-154 224.031,-154 227.767,-148.727 228.206,-141.888\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"227.547,-134.664 231.32,-141.349 227.865,-138.15 228.183,-141.635 228.183,-141.635 228.183,-141.635 227.865,-138.15 225.046,-141.921 227.547,-134.664 227.547,-134.664\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"198.5\" y=\"-172.8\">a & !b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"209\" y=\"-157.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>3->1</title>\n",
|
|
"<path d=\"M234.685,-31.9046C255.821,-49.5173 292.31,-79.9248 315.785,-99.4879\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"321.456,-104.214 314.062,-102.152 318.767,-101.973 316.079,-99.7322 316.079,-99.7322 316.079,-99.7322 318.767,-101.973 318.095,-97.3123 321.456,-104.214 321.456,-104.214\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"274.5\" y=\"-96.8\">c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"262\" y=\"-82.8\">⓿</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"278\" y=\"-82.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>3->3</title>\n",
|
|
"<path d=\"M206.453,-34.6641C204.109,-44.625 207.625,-54 217,-54 224.031,-54 227.767,-48.7266 228.206,-41.8876\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"227.547,-34.6641 231.32,-41.3488 227.865,-38.1496 228.183,-41.6351 228.183,-41.6351 228.183,-41.6351 227.865,-38.1496 225.046,-41.9214 227.547,-34.6641 227.547,-34.6641\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"199\" y=\"-71.8\">a & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"201\" y=\"-57.8\">⓿</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"217\" y=\"-57.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"271pt\" viewBox=\"0.00 0.00 320.00 271.00\" width=\"320pt\" 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 267)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-267 316,-267 316,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"109\" y=\"-248.8\">Inf(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"131\" y=\"-248.8\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"147\" y=\"-248.8\">)&Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"183\" y=\"-248.8\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"199\" y=\"-248.8\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"112\" y=\"-234.8\">[gen. Büchi 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-118\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-114.3\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-118C2.79388,-118 17.1543,-118 30.6317,-118\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-118 30.9419,-121.15 34.4419,-118 30.9419,-118 30.9419,-118 30.9419,-118 34.4419,-118 30.9418,-114.85 37.9419,-118 37.9419,-118\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-135.037C48.3189,-144.858 50.4453,-154 56,-154 60.166,-154 62.4036,-148.858 62.7128,-142.143\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-135.037 65.8541,-141.882 62.5434,-138.533 62.7076,-142.03 62.7076,-142.03 62.7076,-142.03 62.5434,-138.533 59.561,-142.177 62.3792,-135.037 62.3792,-135.037\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"23\" y=\"-172.8\">a & !b & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"48\" y=\"-157.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"294\" cy=\"-118\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"294\" y=\"-114.3\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->1</title>\n",
|
|
"<path d=\"M68.7125,-131.209C93.5537,-157.536 153.703,-212.415 208,-193 237.136,-182.582 262.545,-156.671 277.815,-138.227\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"282.596,-132.291 280.658,-139.719 280.401,-135.017 278.205,-137.743 278.205,-137.743 278.205,-137.743 280.401,-135.017 275.752,-135.767 282.596,-132.291 282.596,-132.291\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"173\" y=\"-215.8\">b & c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"182\" y=\"-200.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
|
|
"<ellipse cx=\"190\" cy=\"-118\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"190\" y=\"-114.3\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->2</title>\n",
|
|
"<path d=\"M74.2567,-118C97.2816,-118 138.189,-118 164.429,-118\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"171.739,-118 164.739,-121.15 168.239,-118 164.739,-118 164.739,-118 164.739,-118 168.239,-118 164.739,-114.85 171.739,-118 171.739,-118\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-136.8\">a & !b & c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"115\" y=\"-121.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g class=\"node\" id=\"node5\"><title>3</title>\n",
|
|
"<ellipse cx=\"190\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"190\" y=\"-14.3\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>0->3</title>\n",
|
|
"<path d=\"M69.1464,-105.175C75.6666,-98.5602 83.9909,-90.5322 92,-84 116.925,-63.6708 148.008,-43.309 168.168,-30.6899\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"174.309,-26.8747 170.025,-33.2447 171.336,-28.7219 168.363,-30.5691 168.363,-30.5691 168.363,-30.5691 171.336,-28.7219 166.7,-27.8936 174.309,-26.8747 174.309,-26.8747\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-102.8\">a & b & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"115\" y=\"-87.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge6\"><title>1->1</title>\n",
|
|
"<path d=\"M285.021,-133.916C282.679,-144.15 285.672,-154 294,-154 300.376,-154 303.625,-148.226 303.746,-140.927\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"302.979,-133.916 306.872,-140.532 303.36,-137.395 303.741,-140.874 303.741,-140.874 303.741,-140.874 303.36,-137.395 300.61,-141.217 302.979,-133.916 302.979,-133.916\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"289.5\" y=\"-171.8\">1</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"278\" y=\"-157.8\">⓿</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"294\" y=\"-157.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge7\"><title>2->1</title>\n",
|
|
"<path d=\"M208.303,-118C224.962,-118 250.303,-118 268.927,-118\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"275.953,-118 268.953,-121.15 272.453,-118 268.953,-118 268.953,-118 268.953,-118 272.453,-118 268.953,-114.85 275.953,-118 275.953,-118\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"237.5\" y=\"-136.8\">b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"234\" y=\"-121.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g class=\"edge\" id=\"edge8\"><title>2->2</title>\n",
|
|
"<path d=\"M181.021,-133.916C178.679,-144.15 181.672,-154 190,-154 196.376,-154 199.625,-148.226 199.746,-140.927\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"198.979,-133.916 202.872,-140.532 199.36,-137.395 199.741,-140.874 199.741,-140.874 199.741,-140.874 199.36,-137.395 196.61,-141.217 198.979,-133.916 198.979,-133.916\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"171.5\" y=\"-172.8\">a & !b</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"182\" y=\"-157.8\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge9\"><title>3->1</title>\n",
|
|
"<path d=\"M203.507,-30.262C221.478,-47.8803 254.693,-80.4442 275.213,-100.562\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"280.39,-105.638 273.187,-102.987 277.891,-103.187 275.392,-100.737 275.392,-100.737 275.392,-100.737 277.891,-103.187 277.597,-98.4879 280.39,-105.638 280.39,-105.638\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"238.5\" y=\"-99.8\">c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"226\" y=\"-85.8\">⓿</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"242\" y=\"-85.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g class=\"edge\" id=\"edge10\"><title>3->3</title>\n",
|
|
"<path d=\"M181.021,-33.916C178.679,-44.1504 181.672,-54 190,-54 196.376,-54 199.625,-48.2263 199.746,-40.9268\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"198.979,-33.916 202.872,-40.5315 199.36,-37.3952 199.741,-40.8744 199.741,-40.8744 199.741,-40.8744 199.36,-37.3952 196.61,-41.2174 198.979,-33.916 198.979,-33.916\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"172\" y=\"-71.8\">a & !c</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"174\" y=\"-57.8\">⓿</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"190\" y=\"-57.8\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Using +1 in the display options is a convient way to shift the \n",
|
|
"# set numbers in the output, as an aid in reading the product.\n",
|
|
"a1 = spot.translate('a W c'); display(a1.show('.bat'))\n",
|
|
"a2 = spot.translate('a U b'); display(a2.show('.bat+1'))\n",
|
|
"# the product should display pairs of states, unless asked not to (using 1).\n",
|
|
"p = spot.product(a1, a2); display(p.show('.bat')); display(p.show('.bat1'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Explicit determinization after translation:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"161pt\" height=\"92pt\"\n",
|
|
" viewBox=\"0.00 0.00 161.00 92.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 88)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-88 157,-88 157,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-18C2.79388,-18 17.1543,-18 30.6317,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-18 30.9419,-21.1501 34.4419,-18 30.9419,-18.0001 30.9419,-18.0001 30.9419,-18.0001 34.4419,-18 30.9418,-14.8501 37.9419,-18 37.9419,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"130.5\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.0888,-18C84.5562,-18 98.1196,-18 109.693,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.959,-18 109.959,-21.1501 113.459,-18 109.959,-18.0001 109.959,-18.0001 109.959,-18.0001 113.459,-18 109.959,-14.8501 116.959,-18 116.959,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M128.266,-35.0373C126.892,-44.8579 129.137,-54 135,-54 139.397,-54 141.759,-48.8576 142.086,-42.1433\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"141.734,-35.0373 145.226,-41.8728 141.907,-38.533 142.08,-42.0287 142.08,-42.0287 142.08,-42.0287 141.907,-38.533 138.934,-42.1847 141.734,-35.0373 141.734,-35.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"131.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"127\" y=\"-57.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 0x7f9d0858c1b0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"False"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.translate('FGa')\n",
|
|
"display(a)\n",
|
|
"display(a.is_deterministic())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"140pt\" viewBox=\"0.00 0.00 170.00 140.47\" width=\"170pt\" 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 136.465)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-136.465 166,-136.465 166,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"29\" y=\"-118.265\">Fin(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"54\" y=\"-118.265\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"70\" y=\"-118.265\">) & Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"113\" y=\"-118.265\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"129\" y=\"-118.265\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"52\" y=\"-104.265\">[Rabin 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-30.4654\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-26.7654\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-30.4654C2.79388,-30.4654 17.1543,-30.4654 30.6317,-30.4654\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-30.4654 30.9419,-33.6155 34.4419,-30.4655 30.9419,-30.4655 30.9419,-30.4655 30.9419,-30.4655 34.4419,-30.4655 30.9418,-27.3155 37.9419,-30.4654 37.9419,-30.4654\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-47.5027C48.3189,-57.3234 50.4453,-66.4654 56,-66.4654 60.166,-66.4654 62.4036,-61.323 62.7128,-54.6087\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-47.5027 65.8541,-54.3473 62.5434,-50.9989 62.7076,-54.495 62.7076,-54.495 62.7076,-54.495 62.5434,-50.9989 59.561,-54.6428 62.3792,-47.5027 62.3792,-47.5027\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"50.5\" y=\"-70.2654\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"144\" cy=\"-30.4654\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144\" y=\"-26.7654\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M74.0378,-33.3939C79.731,-34.2402 86.1223,-35.0477 92,-35.4654 99.0932,-35.9695 100.907,-35.9695 108,-35.4654 111.49,-35.2174 115.161,-34.832 118.759,-34.3826\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"125.962,-33.3939 119.456,-37.4666 122.495,-33.8699 119.027,-34.3459 119.027,-34.3459 119.027,-34.3459 122.495,-33.8699 118.599,-31.2251 125.962,-33.3939 125.962,-33.3939\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"96.5\" y=\"-54.2654\">a</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-39.2654\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->0</title>\n",
|
|
"<path d=\"M131.404,-17.3266C125.156,-11.2493 116.908,-4.67653 108,-1.46544 95.985,2.86544 83.5046,-4.00369 73.8973,-12.1402\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"68.5978,-17.0022 71.6264,-9.94872 71.1769,-14.636 73.7559,-12.2699 73.7559,-12.2699 73.7559,-12.2699 71.1769,-14.636 75.8855,-14.591 68.5978,-17.0022 68.5978,-17.0022\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"94.5\" y=\"-20.2654\">!a</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-5.26544\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
|
"<path d=\"M136.332,-46.7557C134.483,-56.8546 137.039,-66.4654 144,-66.4654 149.221,-66.4654 151.964,-61.0593 152.229,-54.0958\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"151.668,-46.7557 155.342,-53.4954 151.935,-50.2455 152.201,-53.7354 152.201,-53.7354 152.201,-53.7354 151.935,-50.2455 149.06,-53.9754 151.668,-46.7557 151.668,-46.7557\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"140.5\" y=\"-85.2654\">a</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"136\" y=\"-70.2654\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.tgba_determinize(a).show('.ba')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Determinization by `translate()`. The `generic` option allows any acceptance condition to be used instead of the default generalized Büchi."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"140pt\" viewBox=\"0.00 0.00 170.00 140.47\" width=\"170pt\" 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 136.465)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-136.465 166,-136.465 166,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"29\" y=\"-118.265\">Fin(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"54\" y=\"-118.265\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"70\" y=\"-118.265\">) & Inf(</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"113\" y=\"-118.265\">❶</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"129\" y=\"-118.265\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"52\" y=\"-104.265\">[Rabin 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-30.4654\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-26.7654\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-30.4654C2.79388,-30.4654 17.1543,-30.4654 30.6317,-30.4654\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-30.4654 30.9419,-33.6155 34.4419,-30.4655 30.9419,-30.4655 30.9419,-30.4655 30.9419,-30.4655 34.4419,-30.4655 30.9418,-27.3155 37.9419,-30.4654 37.9419,-30.4654\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-47.5027C48.3189,-57.3234 50.4453,-66.4654 56,-66.4654 60.166,-66.4654 62.4036,-61.323 62.7128,-54.6087\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-47.5027 65.8541,-54.3473 62.5434,-50.9989 62.7076,-54.495 62.7076,-54.495 62.7076,-54.495 62.5434,-50.9989 59.561,-54.6428 62.3792,-47.5027 62.3792,-47.5027\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"50.5\" y=\"-70.2654\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"144\" cy=\"-30.4654\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144\" y=\"-26.7654\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M74.0378,-33.3939C79.731,-34.2402 86.1223,-35.0477 92,-35.4654 99.0932,-35.9695 100.907,-35.9695 108,-35.4654 111.49,-35.2174 115.161,-34.832 118.759,-34.3826\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"125.962,-33.3939 119.456,-37.4666 122.495,-33.8699 119.027,-34.3459 119.027,-34.3459 119.027,-34.3459 122.495,-33.8699 118.599,-31.2251 125.962,-33.3939 125.962,-33.3939\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"96.5\" y=\"-54.2654\">a</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-39.2654\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->0</title>\n",
|
|
"<path d=\"M131.404,-17.3266C125.156,-11.2493 116.908,-4.67653 108,-1.46544 95.985,2.86544 83.5046,-4.00369 73.8973,-12.1402\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"68.5978,-17.0022 71.6264,-9.94872 71.1769,-14.636 73.7559,-12.2699 73.7559,-12.2699 73.7559,-12.2699 71.1769,-14.636 75.8855,-14.591 68.5978,-17.0022 68.5978,-17.0022\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"94.5\" y=\"-20.2654\">!a</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-5.26544\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
|
"<path d=\"M136.332,-46.7557C134.483,-56.8546 137.039,-66.4654 144,-66.4654 149.221,-66.4654 151.964,-61.0593 152.229,-54.0958\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"151.668,-46.7557 155.342,-53.4954 151.935,-50.2455 152.201,-53.7354 152.201,-53.7354 152.201,-53.7354 151.935,-50.2455 149.06,-53.9754 151.668,-46.7557 151.668,-46.7557\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"140.5\" y=\"-85.2654\">a</text>\n",
|
|
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"136\" y=\"-70.2654\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.translate('FGa', 'generic', 'deterministic'); aut.show('.ba')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Translation to co-Büchi automaton"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"131pt\" viewBox=\"0.00 0.00 178.74 130.74\" width=\"179pt\" 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 126.74)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-126.74 174.74,-126.74 174.74,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"62.8701\" y=\"-108.54\">Fin(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"87.8701\" y=\"-108.54\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"103.87\" y=\"-108.54\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"52.8701\" y=\"-94.5401\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"64.8701\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"60.3701\" y=\"-30.6701\">0</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"56.8701\" y=\"-15.6701\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.04557,-26.8701C1.94668,-26.8701 16.0699,-26.8701 30.6965,-26.8701\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.8616,-26.8701 30.8617,-30.0202 34.3616,-26.8701 30.8616,-26.8702 30.8616,-26.8702 30.8616,-26.8702 34.3616,-26.8701 30.8616,-23.7202 37.8616,-26.8701 37.8616,-26.8701\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M56.6704,-52.6914C56.2072,-63.0476 58.9404,-71.7401 64.8701,-71.7401 69.3173,-71.7401 71.9666,-66.8506 72.8178,-60.0368\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"73.0697,-52.6914 75.9779,-59.7953 72.9497,-56.1893 72.8297,-59.6873 72.8297,-59.6873 72.8297,-59.6873 72.9497,-56.1893 69.6816,-59.5793 73.0697,-52.6914 73.0697,-52.6914\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"60.3701\" y=\"-75.5401\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"152.74\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"148.24\" y=\"-23.1701\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M92.1005,-26.8701C103.321,-26.8701 116.345,-26.8701 127.355,-26.8701\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"134.608,-26.8701 127.608,-30.0202 131.108,-26.8701 127.608,-26.8702 127.608,-26.8702 127.608,-26.8702 131.108,-26.8701 127.608,-23.7202 134.608,-26.8701 134.608,-26.8701\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"109.74\" y=\"-30.6701\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->1</title>\n",
|
|
"<path d=\"M146.007,-43.9074C144.632,-53.728 146.877,-62.8701 152.74,-62.8701 157.138,-62.8701 159.499,-57.7276 159.826,-51.0134\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"159.474,-43.9074 162.966,-50.7428 159.647,-47.4031 159.82,-50.8988 159.82,-50.8988 159.82,-50.8988 159.647,-47.4031 156.674,-51.0547 159.474,-43.9074 159.474,-43.9074\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"149.24\" y=\"-66.6701\">a</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('FGa', 'coBuchi').show('.ba')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<svg height=\"131pt\" viewBox=\"0.00 0.00 170.00 130.75\" width=\"170pt\" 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 126.75)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" points=\"-4,4 -4,-126.75 166,-126.75 166,4 -4,4\" stroke=\"none\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"58.5\" y=\"-108.55\">Fin(</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"83.5\" y=\"-108.55\">⓿</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"99.5\" y=\"-108.55\">)</text>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"48.5\" y=\"-94.5502\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
|
"<ellipse cx=\"56\" cy=\"-20.7502\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-17.0502\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
|
"<path d=\"M1.15491,-20.7502C2.79388,-20.7502 17.1543,-20.7502 30.6317,-20.7502\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"37.9419,-20.7502 30.9419,-23.9003 34.4419,-20.7502 30.9419,-20.7503 30.9419,-20.7503 30.9419,-20.7503 34.4419,-20.7502 30.9418,-17.6003 37.9419,-20.7502 37.9419,-20.7502\" stroke=\"black\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge2\"><title>0->0</title>\n",
|
|
"<path d=\"M49.6208,-37.7875C48.3189,-47.6081 50.4453,-56.7502 56,-56.7502 60.166,-56.7502 62.4036,-51.6077 62.7128,-44.8935\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"62.3792,-37.7875 65.8541,-44.632 62.5434,-41.2836 62.7076,-44.7798 62.7076,-44.7798 62.7076,-44.7798 62.5434,-41.2836 59.561,-44.9275 62.3792,-37.7875 62.3792,-37.7875\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"50.5\" y=\"-75.5502\">!a</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"48\" y=\"-60.5502\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
|
"<ellipse cx=\"144\" cy=\"-20.7502\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144\" y=\"-17.0502\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge3\"><title>0->1</title>\n",
|
|
"<path d=\"M74.4034,-20.7502C87.1928,-20.7502 104.732,-20.7502 118.874,-20.7502\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"125.916,-20.7502 118.916,-23.9003 122.416,-20.7502 118.916,-20.7503 118.916,-20.7503 118.916,-20.7503 122.416,-20.7502 118.916,-17.6003 125.916,-20.7502 125.916,-20.7502\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"96.5\" y=\"-39.5502\">a</text>\n",
|
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-24.5502\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g class=\"edge\" id=\"edge4\"><title>1->0</title>\n",
|
|
"<path d=\"M128.689,-10.8844C122.598,-7.25669 115.237,-3.58794 108,-1.75016 101.108,-0 98.8924,-0 92,-1.75016 87.1374,-2.98492 82.2193,-5.0462 77.668,-7.36626\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"71.3113,-10.8844 75.9105,-4.73864 74.3736,-9.18956 77.4359,-7.49469 77.4359,-7.49469 77.4359,-7.49469 74.3736,-9.18956 78.9613,-10.2507 71.3113,-10.8844 71.3113,-10.8844\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"94.5\" y=\"-5.55016\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
|
"<path d=\"M136.332,-37.0404C134.483,-47.1393 137.039,-56.7502 144,-56.7502 149.221,-56.7502 151.964,-51.3441 152.229,-44.3805\" fill=\"none\" stroke=\"black\"/>\n",
|
|
"<polygon fill=\"black\" points=\"151.668,-37.0404 155.342,-43.7801 151.935,-40.5303 152.201,-44.0201 152.201,-44.0201 152.201,-44.0201 151.935,-40.5303 149.06,-44.2601 151.668,-37.0404 151.668,-37.0404\" stroke=\"black\"/>\n",
|
|
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"140.5\" y=\"-60.5502\">a</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('FGa', 'coBuchi', 'deterministic').show('.ba')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Adding an atomic proposition to all edges"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 29,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"191pt\" height=\"107pt\"\n",
|
|
" viewBox=\"0.00 0.00 191.00 107.18\" 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 103.182)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-103.182 187,-103.182 187,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-33.1822\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-29.4822\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-33.1822C2.79388,-33.1822 17.1543,-33.1822 30.6317,-33.1822\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-33.1822 30.9419,-36.3323 34.4419,-33.1823 30.9419,-33.1823 30.9419,-33.1823 30.9419,-33.1823 34.4419,-33.1823 30.9418,-30.0323 37.9419,-33.1822 37.9419,-33.1822\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-50.2195C48.3189,-60.0402 50.4453,-69.1822 56,-69.1822 60.166,-69.1822 62.4036,-64.0398 62.7128,-57.3255\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-50.2195 65.8541,-57.0641 62.5434,-53.7157 62.7076,-57.2118 62.7076,-57.2118 62.7076,-57.2118 62.5434,-53.7157 59.561,-57.3596 62.3792,-50.2195 62.3792,-50.2195\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-72.9822\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"165\" cy=\"-33.1822\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"165\" y=\"-29.4822\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.0378,-36.1107C79.731,-36.957 86.1223,-37.7645 92,-38.1822 108.403,-39.348 112.597,-39.348 129,-38.1822 132.49,-37.9342 136.161,-37.5488 139.759,-37.0994\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.962,-36.1107 140.456,-40.1834 143.495,-36.5867 140.027,-37.0627 140.027,-37.0627 140.027,-37.0627 143.495,-36.5867 139.599,-33.9419 146.962,-36.1107 146.962,-36.1107\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-56.9822\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-41.9822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M152.404,-20.0434C146.156,-13.9661 137.908,-7.39333 129,-4.18224 113.53,1.39408 107.47,1.39408 92,-4.18224 85.4579,-6.54039 79.2724,-10.7115 73.9732,-15.168\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.596,-20.0434 71.6659,-13.0079 71.1889,-17.6925 73.7818,-15.3415 73.7818,-15.3415 73.7818,-15.3415 71.1889,-17.6925 75.8976,-17.6751 68.596,-20.0434 68.596,-20.0434\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-22.9822\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-7.98224\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M155.767,-48.7237C153.169,-59.0909 156.246,-69.1822 165,-69.1822 171.702,-69.1822 175.077,-63.2669 175.124,-55.8413\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"174.233,-48.7237 178.229,-55.2777 174.668,-52.1965 175.103,-55.6694 175.103,-55.6694 175.103,-55.6694 174.668,-52.1965 171.977,-56.0611 174.233,-48.7237 174.233,-48.7237\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-87.9822\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"157\" y=\"-72.9822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</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 0x7f9d0858c570> >"
|
|
]
|
|
},
|
|
"execution_count": 29,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"import buddy\n",
|
|
"b = buddy.bdd_ithvar(aut.register_ap('b'))\n",
|
|
"for e in aut.edges():\n",
|
|
" e.cond &= b\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Adding an atomic proposition to the edge between 0 and 1:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"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.38.0 (20140413.2041)\n",
|
|
" -->\n",
|
|
"<!-- Title: G Pages: 1 -->\n",
|
|
"<svg width=\"212pt\" height=\"110pt\"\n",
|
|
" viewBox=\"0.00 0.00 212.00 109.56\" 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 105.556)\">\n",
|
|
"<title>G</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-105.556 208,-105.556 208,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-35.5559\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.8559\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\"><title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15491,-35.5559C2.79388,-35.5559 17.1543,-35.5559 30.6317,-35.5559\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9419,-35.5559 30.9419,-38.706 34.4419,-35.556 30.9419,-35.556 30.9419,-35.556 30.9419,-35.556 34.4419,-35.556 30.9418,-32.406 37.9419,-35.5559 37.9419,-35.5559\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\"><title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.6208,-52.5933C48.3189,-62.4139 50.4453,-71.5559 56,-71.5559 60.166,-71.5559 62.4036,-66.4135 62.7128,-59.6992\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.3792,-52.5933 65.8541,-59.4378 62.5434,-56.0894 62.7076,-59.5855 62.7076,-59.5855 62.7076,-59.5855 62.5434,-56.0894 59.561,-59.7333 62.3792,-52.5933 62.3792,-52.5933\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-75.3559\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"186\" cy=\"-35.5559\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"186\" y=\"-31.8559\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\"><title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.0378,-38.4844C79.731,-39.3307 86.1223,-40.1382 92,-40.5559 117.713,-42.3833 124.287,-42.3833 150,-40.5559 153.49,-40.3079 157.161,-39.9225 160.759,-39.4731\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"167.962,-38.4844 161.456,-42.5571 164.495,-38.9604 161.027,-39.4364 161.027,-39.4364 161.027,-39.4364 164.495,-38.9604 160.599,-36.3156 167.962,-38.4844 167.962,-38.4844\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-60.3559\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-45.3559\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\"><title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M173.404,-22.4171C167.156,-16.3398 158.908,-9.76704 150,-6.55595 125.75,2.18532 116.25,2.18532 92,-6.55595 85.4579,-8.91409 79.2724,-13.0852 73.9732,-17.5417\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.596,-22.4171 71.6659,-15.3816 71.1889,-20.0662 73.7818,-17.7152 73.7818,-17.7152 73.7818,-17.7152 71.1889,-20.0662 75.8976,-20.0488 68.596,-22.4171 68.596,-22.4171\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-25.3559\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-10.3559\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\"><title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M175.292,-50.3476C171.806,-60.9724 175.375,-71.5559 186,-71.5559 194.135,-71.5559 198.134,-65.3521 197.997,-57.6757\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.708,-50.3476 201.023,-56.6963 197.314,-53.7947 197.92,-57.2418 197.92,-57.2418 197.92,-57.2418 197.314,-53.7947 194.818,-57.7874 196.708,-50.3476 196.708,-50.3476\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-90.3559\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"178\" y=\"-75.3559\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</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 0x7f9d0858c570> >"
|
|
]
|
|
},
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"c = buddy.bdd_ithvar(aut.register_ap('c'))\n",
|
|
"for e in aut.out(0):\n",
|
|
" if e.dst == 1:\n",
|
|
" e.cond &= c\n",
|
|
"aut"
|
|
]
|
|
}
|
|
],
|
|
"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.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|