* spot/twaalgos/toparity.cc: Remove merge_states. * tests/python/automata.ipynb, tests/python/toparity.py: Update tests.
3468 lines
236 KiB
Text
3468 lines
236 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from IPython.display import display\n",
|
|
"import spot\n",
|
|
"from spot.jupyter import display_inline\n",
|
|
"spot.setup()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To build an automaton from an LTL formula, 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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"468pt\" height=\"329pt\"\n",
|
|
" viewBox=\"0.00 0.00 468.00 328.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 324.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-324.8 464,-324.8 464,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"207\" y=\"-290.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-120\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-116.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-120C4.178,-120 17.9448,-120 30.9241,-120\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-120 30.9808,-123.1501 34.4807,-120 30.9807,-120.0001 30.9807,-120.0001 30.9807,-120.0001 34.4807,-120 30.9807,-116.8501 37.9807,-120 37.9807,-120\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-137.0373C48.3189,-146.8579 50.4453,-156 56,-156 60.166,-156 62.4036,-150.8576 62.7128,-144.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-137.0373 65.8541,-143.8818 62.5434,-140.5335 62.7076,-144.0296 62.7076,-144.0296 62.7076,-144.0296 62.5434,-140.5335 59.561,-144.1774 62.3792,-137.0373 62.3792,-137.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-214\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"192\" cy=\"-214\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-210.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M67.8332,-133.9421C74.4899,-141.3052 83.2108,-150.1986 92,-157 115.1023,-174.8774 144.4269,-190.9236 165.335,-201.4008\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"171.8091,-204.602 164.138,-204.3229 168.6717,-203.0506 165.5343,-201.4993 165.5343,-201.4993 165.5343,-201.4993 168.6717,-203.0506 166.9305,-198.6756 171.8091,-204.602 171.8091,-204.602\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"332.5\" cy=\"-157\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"332.5\" y=\"-153.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1419,-122.4277C122.1062,-128.846 252.3489,-146.2745 307.3984,-153.641\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"314.6507,-154.6115 307.2947,-156.8051 311.1816,-154.1472 307.7126,-153.683 307.7126,-153.683 307.7126,-153.683 311.1816,-154.1472 308.1304,-150.5608 314.6507,-154.6115 314.6507,-154.6115\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172.5\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"442\" cy=\"-222\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"442\" y=\"-218.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.8778,-116.3857C121.3158,-107.663 253.4179,-89.0652 351,-130 385.0855,-144.2986 412.9463,-178.2196 428.5041,-200.6342\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"432.5609,-206.6252 426.0277,-202.5952 430.5985,-203.7271 428.636,-200.829 428.636,-200.829 428.636,-200.829 430.5985,-203.7271 431.2443,-199.0628 432.5609,-206.6252 432.5609,-206.6252\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"232\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & !c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M64.323,-103.8495C70.7091,-92.6794 80.387,-78.0719 92,-68 114.626,-48.3765 146.3062,-34.244 167.9061,-26.1124\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"174.5406,-23.6837 169.05,-29.0481 171.2539,-24.8869 167.9672,-26.0901 167.9672,-26.0901 167.9672,-26.0901 171.2539,-24.8869 166.8843,-23.132 174.5406,-23.6837 174.5406,-23.6837\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"101.5\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M179.6953,-232.5156C176.9609,-243.5833 181.0625,-254 192,-254 200.5449,-254 204.9175,-247.6422 205.1178,-239.5831\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"204.3047,-232.5156 208.2342,-239.1097 204.7048,-235.9927 205.1048,-239.4698 205.1048,-239.4698 205.1048,-239.4698 204.7048,-235.9927 201.9755,-239.8298 204.3047,-232.5156 204.3047,-232.5156\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"175\" y=\"-257.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M214.3062,-212.8263C236.2237,-210.8821 270.0602,-205.7177 296,-192 303.3681,-188.1035 310.2911,-182.2836 316.0858,-176.5026\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"321.0707,-171.2608 318.5294,-178.5041 318.6587,-173.7971 316.2468,-176.3333 316.2468,-176.3333 316.2468,-176.3333 318.6587,-173.7971 313.9641,-174.1626 321.0707,-171.2608 321.0707,-171.2608\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"257.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M203.7297,-232.6179C210.7106,-241.971 220.4561,-252.4671 232,-258 279.7359,-280.8792 298.1188,-265.3987 351,-263 375.52,-261.8877 383.7721,-268.411 406,-258 413.7217,-254.3833 420.7359,-248.3804 426.4793,-242.3031\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"431.3805,-236.7674 429.0987,-244.0966 429.0604,-239.3879 426.7402,-242.0084 426.7402,-242.0084 426.7402,-242.0084 429.0604,-239.3879 424.3818,-239.9203 431.3805,-236.7674 431.3805,-236.7674\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"314\" y=\"-269.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M314.3814,-156.5337C293.4025,-156.7259 258.3574,-159.3513 232,-173 223.8592,-177.2156 216.3944,-183.7118 210.1745,-190.2994\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"205.255,-195.8065 207.5692,-188.4875 207.5867,-193.1963 209.9184,-190.5861 209.9184,-190.5861 209.9184,-190.5861 207.5867,-193.1963 212.2676,-192.6846 205.255,-195.8065 205.255,-195.8065\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"247\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M323.2674,-172.5414C320.6685,-182.9087 323.7461,-193 332.5,-193 339.2022,-193 342.577,-187.0847 342.6245,-179.6591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"341.7326,-172.5414 345.7286,-179.0955 342.1678,-176.0143 342.603,-179.4871 342.603,-179.4871 342.603,-179.4871 342.1678,-176.0143 339.4775,-179.8788 341.7326,-172.5414 341.7326,-172.5414\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"326\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M348.1887,-166.3129C367.0531,-177.511 398.8271,-196.3722 420.1011,-209.0007\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"426.3404,-212.7044 418.7131,-211.8399 423.3307,-210.9178 420.321,-209.1312 420.321,-209.1312 420.321,-209.1312 423.3307,-210.9178 421.929,-206.4225 426.3404,-212.7044 426.3404,-212.7044\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369\" y=\"-202.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M424.1149,-225.1201C387.6378,-230.9319 302.1713,-241.7245 232,-229 227.7924,-228.237 223.4512,-227.0569 219.2499,-225.6861\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"212.3598,-223.2394 220.0103,-222.6135 215.658,-224.4107 218.9562,-225.5819 218.9562,-225.5819 218.9562,-225.5819 215.658,-224.4107 217.9021,-228.5503 212.3598,-223.2394 212.3598,-223.2394\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"329\" y=\"-237.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M432.7674,-237.5414C430.1685,-247.9087 433.2461,-258 442,-258 448.7022,-258 452.077,-252.0847 452.1245,-244.6591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"451.2326,-237.5414 455.2286,-244.0955 451.6678,-241.0143 452.103,-244.4871 452.103,-244.4871 452.103,-244.4871 451.6678,-241.0143 448.9775,-244.8788 451.2326,-237.5414 451.2326,-237.5414\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"436.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M180.5701,-32.0417C176.2955,-42.9126 180.1055,-54 192,-54 201.2926,-54 205.6508,-47.2328 205.0745,-39.0885\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"203.4299,-32.0417 208.0885,-38.1426 204.2254,-35.4502 205.0209,-38.8586 205.0209,-38.8586 205.0209,-38.8586 204.2254,-35.4502 201.9534,-39.5745 203.4299,-32.0417 203.4299,-32.0417\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440499f0> >"
|
|
]
|
|
},
|
|
"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": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"345pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 345.28 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.9231 0.9231) rotate(0) translate(4 386)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-386 370.0495,-386 370.0495,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"183.0248\" y=\"-350.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"237.0495\" cy=\"-287\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"237.0495\" y=\"-283.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M237.0495,-341.8767C237.0495,-338.822 237.0495,-325.0552 237.0495,-312.0759\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"237.0495,-305.0193 240.1996,-312.0192 237.0496,-308.5193 237.0496,-312.0193 237.0496,-312.0193 237.0496,-312.0193 237.0496,-308.5193 233.8996,-312.0193 237.0495,-305.0193 237.0495,-305.0193\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M254.0869,-293.3792C263.9075,-294.6811 273.0495,-292.5547 273.0495,-287 273.0495,-282.834 267.9071,-280.5964 261.1928,-280.2872\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"254.0869,-280.6208 260.9314,-277.1459 257.583,-280.4566 261.0792,-280.2924 261.0792,-280.2924 261.0792,-280.2924 257.583,-280.4566 261.2269,-283.439 254.0869,-280.6208 254.0869,-280.6208\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"296.0495\" y=\"-283.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"84.0495\" cy=\"-196\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"84.0495\" cy=\"-196\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"84.0495\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M218.7354,-285.7278C193.2333,-283.1023 146.7124,-275.1194 116.0495,-251 106.8613,-243.7725 99.8014,-233.1225 94.6803,-223.1143\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"91.5921,-216.6726 97.4587,-221.623 93.1052,-219.8287 94.6183,-222.9847 94.6183,-222.9847 94.6183,-222.9847 93.1052,-219.8287 91.7778,-224.3465 91.5921,-216.6726 91.5921,-216.6726\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"151.0495\" y=\"-239.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"136.0495\" cy=\"-105\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"136.0495\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M232.0914,-269.6624C223.391,-241.0905 203.4606,-183.0903 174.0495,-141 168.9256,-133.6671 162.1237,-126.6507 155.6918,-120.7916\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"150.421,-116.1606 157.7587,-118.4145 153.0503,-118.4708 155.6796,-120.7809 155.6796,-120.7809 155.6796,-120.7809 153.0503,-118.4708 153.6004,-123.1473 150.421,-116.1606 150.421,-116.1606\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"236.0495\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"109.0495\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"109.0495\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M245.3391,-271.0054C255.6878,-248.8593 270.7971,-207.7668 260.0495,-174 240.2269,-111.721 223.8862,-97.4349 175.0495,-54 162.5088,-42.8464 145.9148,-33.8149 132.5033,-27.5876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"125.8184,-24.5904 133.4945,-24.5799 129.0121,-26.0223 132.2058,-27.4543 132.2058,-27.4543 132.2058,-27.4543 129.0121,-26.0223 130.917,-30.3286 125.8184,-24.5904 125.8184,-24.5904\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"291.0495\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">b & !c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"320.0495\" cy=\"-196\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"320.0495\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M253.1286,-278.135C263.917,-271.6287 277.9478,-262.0292 288.0495,-251 296.7002,-241.5551 304.0787,-229.3845 309.563,-218.8941\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"312.7274,-212.619 312.3881,-220.2876 311.1515,-215.7441 309.5755,-218.8692 309.5755,-218.8692 309.5755,-218.8692 311.1515,-215.7441 306.7629,-217.4509 312.7274,-212.619 312.7274,-212.619\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"324.0495\" y=\"-239.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M104.6304,-204.3702C114.8943,-205.5284 124.0495,-202.7383 124.0495,-196 124.0495,-190.9463 118.8997,-188.1134 111.9947,-187.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"104.6304,-187.6298 111.5744,-184.3582 108.1298,-187.5688 111.6293,-187.5077 111.6293,-187.5077 111.6293,-187.5077 108.1298,-187.5688 111.6842,-190.6573 104.6304,-187.6298 104.6304,-187.6298\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"144.0495\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M91.246,-174.9602C95.2441,-164.423 100.695,-151.6711 107.0495,-141 110.5476,-135.1258 114.9288,-129.1747 119.2181,-123.8484\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"123.7902,-118.3471 121.7385,-125.744 121.5531,-121.0388 119.316,-123.7306 119.316,-123.7306 119.316,-123.7306 121.5531,-121.0388 116.8934,-121.7172 123.7902,-118.3471 123.7902,-118.3471\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"115.0495\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M64.9493,-184.5995C35.5124,-165.4878 -15.5049,-125.3039 5.0495,-87 21.9065,-55.5864 60.0541,-36.0505 85.1624,-26.1005\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"91.8699,-23.5463 86.4491,-28.9812 88.599,-24.7919 85.3281,-26.0374 85.3281,-26.0374 85.3281,-26.0374 88.599,-24.7919 84.2071,-23.0936 91.8699,-23.5463 91.8699,-23.5463\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"28.0495\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M133.7543,-123.3294C131.9188,-133.4471 128.6816,-145.9587 123.0495,-156 118.7497,-163.6661 112.6068,-170.9173 106.4645,-177.0867\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"101.3456,-181.9998 104.2146,-174.88 103.8707,-179.5762 106.3958,-177.1526 106.3958,-177.1526 106.3958,-177.1526 103.8707,-179.5762 108.5771,-179.4252 101.3456,-181.9998 101.3456,-181.9998\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"150.0495\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M152.7136,-112.3828C162.6745,-114.0234 172.0495,-111.5625 172.0495,-105 172.0495,-100.0781 166.7761,-97.4634 159.9371,-97.1558\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"152.7136,-97.6172 159.4985,-94.0273 156.2065,-97.394 159.6994,-97.1709 159.6994,-97.1709 159.6994,-97.1709 156.2065,-97.394 159.9002,-100.3145 152.7136,-97.6172 152.7136,-97.6172\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"180.0495\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M130.5857,-87.3943C126.5336,-74.3374 120.9627,-56.3869 116.5022,-42.014\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"114.4131,-35.2827 119.4964,-41.0344 115.4506,-38.6254 116.488,-41.9681 116.488,-41.9681 116.488,-41.9681 115.4506,-38.6254 113.4795,-42.9018 114.4131,-35.2827 114.4131,-35.2827\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"148.0495\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M106.525,-35.975C102.1941,-66.8106 93.3131,-130.0432 88.1052,-167.1237\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"87.115,-174.1737 84.9693,-166.8036 87.6019,-170.7077 88.0887,-167.2417 88.0887,-167.2417 88.0887,-167.2417 87.6019,-170.7077 91.2081,-167.6799 87.115,-174.1737 87.115,-174.1737\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"103.5495\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M125.7136,-25.3828C135.6745,-27.0234 145.0495,-24.5625 145.0495,-18 145.0495,-13.0781 139.7761,-10.4634 132.9371,-10.1558\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"125.7136,-10.6172 132.4985,-7.0273 129.2065,-10.394 132.6994,-10.1709 132.6994,-10.1709 132.6994,-10.1709 129.2065,-10.394 132.9002,-13.3145 125.7136,-10.6172 125.7136,-10.6172\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"152.5495\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M336.3398,-204.0164C346.4387,-205.9495 356.0495,-203.2773 356.0495,-196 356.0495,-190.542 350.6434,-187.6744 343.6799,-187.3972\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"336.3398,-187.9836 343.0667,-184.2861 339.8287,-187.7048 343.3176,-187.4261 343.3176,-187.4261 343.3176,-187.4261 339.8287,-187.7048 343.5684,-190.5661 336.3398,-187.9836 336.3398,-187.9836\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"361.0495\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.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": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"528pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 527.72 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.8471 0.8471) rotate(0) translate(4 421)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-421 619,-421 619,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-402.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"308.5\" y=\"-402.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-402.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"284.5\" y=\"-388.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#00ff00\" points=\"162,-171 162,-373 607,-373 607,-171 162,-171\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#c0c0c0\" points=\"162,-8 162,-93 214,-93 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"#ff0000\" points=\"30,-106 30,-191 82,-191 82,-106 30,-106\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-132\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-128.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-132C4.178,-132 17.9448,-132 30.9241,-132\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-132 30.9808,-135.1501 34.4807,-132 30.9807,-132.0001 30.9807,-132.0001 30.9807,-132.0001 34.4807,-132 30.9807,-128.8501 37.9807,-132 37.9807,-132\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-149.0373C48.3189,-158.8579 50.4453,-168 56,-168 60.166,-168 62.4036,-162.8576 62.7128,-156.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-149.0373 65.8541,-155.8818 62.5434,-152.5335 62.7076,-156.0296 62.7076,-156.0296 62.7076,-156.0296 62.5434,-152.5335 59.561,-156.1774 62.3792,-149.0373 62.3792,-149.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"37.5\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"188\" cy=\"-248\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-244.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M69.2513,-144.3168C76.0158,-150.5608 84.4009,-158.2346 92,-165 118.2467,-188.3672 149.0536,-214.8362 168.5495,-231.4711\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"174.2193,-236.3036 166.8485,-234.1602 171.5556,-234.0332 168.8918,-231.7628 168.8918,-231.7628 168.8918,-231.7628 171.5556,-234.0332 170.9352,-229.3654 174.2193,-236.3036 174.2193,-236.3036\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-219.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"433.5\" cy=\"-197\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"433.5\" y=\"-193.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.8062,-134.654C124.4892,-142.2776 273.8265,-165.2225 397,-189 400.8218,-189.7378 404.8571,-190.5691 408.7959,-191.4097\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"415.7147,-192.9145 408.2051,-194.5048 412.2946,-192.1707 408.8746,-191.4268 408.8746,-191.4268 408.8746,-191.4268 412.2946,-192.1707 409.5441,-188.3487 415.7147,-192.9145 415.7147,-192.9145\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"224\" y=\"-167.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"581\" cy=\"-241\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"581\" y=\"-237.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.8174,-127.7833C99.0697,-122.1857 146.7879,-113 188,-113 188,-113 188,-113 507.5,-113 554.4663,-113 571.8564,-178.6094 577.9464,-215.8831\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"579.0191,-222.9322 574.8517,-216.4858 578.4925,-219.472 577.9659,-216.0119 577.9659,-216.0119 577.9659,-216.0119 578.4925,-219.472 581.08,-215.5379 579.0191,-222.9322 579.0191,-222.9322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"333\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & !c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M65.1948,-116.2897C71.7138,-106.1408 81.1989,-93.1668 92,-84 113.8829,-65.4281 143.8259,-51.2192 164.422,-42.778\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"171.0233,-40.1384 165.6932,-45.6622 167.7735,-41.4379 164.5237,-42.7374 164.5237,-42.7374 164.5237,-42.7374 167.7735,-41.4379 163.3541,-39.8125 171.0233,-40.1384 171.0233,-40.1384\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"101.5\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M178.7674,-263.5414C176.1685,-273.9087 179.2461,-284 188,-284 194.7022,-284 198.077,-278.0847 198.1245,-270.6591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.2326,-263.5414 201.2286,-270.0955 197.6678,-267.0143 198.103,-270.4871 198.103,-270.4871 198.103,-270.4871 197.6678,-267.0143 194.9775,-270.8788 197.2326,-263.5414 197.2326,-263.5414\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-302.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c & d</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-287.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M205.6558,-244.3322C248.636,-235.4035 358.8132,-212.5154 408.5154,-202.1903\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"415.6744,-200.7031 409.4614,-205.2111 412.2475,-201.415 408.8207,-202.1269 408.8207,-202.1269 408.8207,-202.1269 412.2475,-201.415 408.1799,-199.0428 415.6744,-200.7031 415.6744,-200.7031\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"291.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!d</text>\n",
|
|
"<text text-anchor=\"start\" x=\"290\" y=\"-231.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M205.7394,-251.478C224.3873,-254.9438 254.6228,-260.0257 281,-262 382.9785,-269.6328 504.5245,-253.2927 555.9986,-245.1951\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"563.074,-244.064 556.6591,-248.2796 559.6179,-244.6166 556.1618,-245.1691 556.1618,-245.1691 556.1618,-245.1691 559.6179,-244.6166 555.6645,-242.0586 563.074,-244.064 563.074,-244.064\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"415\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c & d</text>\n",
|
|
"<text text-anchor=\"start\" x=\"425.5\" y=\"-264.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M415.3575,-195.3231C386.4746,-193.1569 328.4539,-190.8709 281,-202 254.7601,-208.1539 227.4236,-222.8282 209.2362,-233.9608\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"202.9685,-237.8797 207.2338,-231.4977 205.9362,-236.0242 208.9038,-234.1686 208.9038,-234.1686 208.9038,-234.1686 205.9362,-236.0242 210.5738,-236.8395 202.9685,-237.8797 202.9685,-237.8797\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"281\" y=\"-205.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M427.1208,-214.0373C425.8189,-223.8579 427.9453,-233 433.5,-233 437.666,-233 439.9036,-227.8576 440.2128,-221.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"439.8792,-214.0373 443.3541,-220.8818 440.0434,-217.5335 440.2076,-221.0296 440.2076,-221.0296 440.2076,-221.0296 440.0434,-217.5335 437.061,-221.1774 439.8792,-214.0373 439.8792,-214.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"427\" y=\"-236.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M450.9994,-202.2202C477.2802,-210.0599 527.0238,-224.8986 556.7757,-233.7738\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"563.5234,-235.7866 555.915,-236.8041 560.1694,-234.7861 556.8155,-233.7856 556.8155,-233.7856 556.8155,-233.7856 560.1694,-234.7861 557.7159,-230.767 563.5234,-235.7866 563.5234,-235.7866\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"489\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M577.5101,-258.9991C570.3472,-289.9582 550.8654,-350 507.5,-350 298,-350 298,-350 298,-350 251.7536,-350 216.7393,-300.9249 199.6255,-270.8551\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"196.0527,-264.3881 202.195,-268.9918 197.7452,-267.4516 199.4378,-270.5152 199.4378,-270.5152 199.4378,-270.5152 197.7452,-267.4516 196.6806,-272.0385 196.0527,-264.3881 196.0527,-264.3881\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"430\" y=\"-353.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M574.6208,-258.0373C573.3189,-267.8579 575.4453,-277 581,-277 585.166,-277 587.4036,-271.8576 587.7128,-265.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"587.3792,-258.0373 590.8541,-264.8818 587.5434,-261.5335 587.7076,-265.0296 587.7076,-265.0296 587.7076,-265.0296 587.5434,-261.5335 584.561,-265.1774 587.3792,-258.0373 587.3792,-258.0373\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"575.5\" y=\"-280.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M178.7674,-49.5414C176.1685,-59.9087 179.2461,-70 188,-70 194.7022,-70 198.077,-64.0847 198.1245,-56.6591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.2326,-49.5414 201.2286,-56.0955 197.6678,-53.0143 198.103,-56.4871 198.103,-56.4871 198.103,-56.4871 197.6678,-53.0143 194.9775,-56.8788 197.2326,-49.5414 197.2326,-49.5414\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a.show(\".st\")"
|
|
]
|
|
},
|
|
{
|
|
"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": [
|
|
"spot.formula(\"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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"171pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 171.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 167,-120.8 167,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"58.5\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-22C4.178,-22 17.9448,-22 30.9241,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-22 30.9808,-25.1501 34.4807,-22 30.9807,-22.0001 30.9807,-22.0001 30.9807,-22.0001 34.4807,-22 30.9807,-18.8501 37.9807,-22 37.9807,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" 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=\"#000000\" stroke=\"#000000\" 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\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"141\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0263,-22C84.9439,-22 99.13,-22 111.634,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"118.7644,-22 111.7645,-25.1501 115.2644,-22 111.7644,-22.0001 111.7644,-22.0001 111.7644,-22.0001 115.2644,-22 111.7644,-18.8501 118.7644,-22 118.7644,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M132.9937,-42.5808C131.8859,-52.8447 134.5547,-62 141,-62 145.834,-62 148.5437,-56.8502 149.129,-49.9451\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"149.0063,-42.5808 152.2726,-49.5273 149.0647,-46.0803 149.123,-49.5798 149.123,-49.5798 149.123,-49.5798 149.0647,-46.0803 145.9735,-49.6324 149.0063,-42.5808 149.0063,-42.5808\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"141\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440567b0> >"
|
|
]
|
|
},
|
|
"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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"171pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 171.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 167,-120.8 167,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"58.5\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-22C4.178,-22 17.9448,-22 30.9241,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-22 30.9808,-25.1501 34.4807,-22 30.9807,-22.0001 30.9807,-22.0001 30.9807,-22.0001 34.4807,-22 30.9807,-18.8501 37.9807,-22 37.9807,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" 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=\"#000000\" stroke=\"#000000\" 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\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"141\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0263,-22C84.9439,-22 99.13,-22 111.634,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"118.7644,-22 111.7645,-25.1501 115.2644,-22 111.7644,-22.0001 111.7644,-22.0001 111.7644,-22.0001 115.2644,-22 111.7644,-18.8501 118.7644,-22 118.7644,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M132.9937,-42.5808C131.8859,-52.8447 134.5547,-62 141,-62 145.834,-62 148.5437,-56.8502 149.129,-49.9451\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"149.0063,-42.5808 152.2726,-49.5273 149.0647,-46.0803 149.123,-49.5798 149.123,-49.5798 149.123,-49.5798 149.0647,-46.0803 145.9735,-49.6324 149.0063,-42.5808 149.0063,-42.5808\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"141\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344056b10> >"
|
|
]
|
|
},
|
|
"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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"163pt\" height=\"115pt\"\n",
|
|
" viewBox=\"0.00 0.00 163.00 115.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.0 1.0) rotate(0) translate(4 111)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-111 159,-111 159,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"74.5\" y=\"-91.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"66.5\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-18C4.178,-18 17.9448,-18 30.9241,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-18 30.9808,-21.1501 34.4807,-18 30.9807,-18.0001 30.9807,-18.0001 30.9807,-18.0001 34.4807,-18 30.9807,-14.8501 37.9807,-18 37.9807,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" 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=\"#000000\" stroke=\"#000000\" 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\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.3802,-18C85.4352,-18 99.6622,-18 111.7609,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"118.9716,-18 111.9716,-21.1501 115.4716,-18 111.9716,-18.0001 111.9716,-18.0001 111.9716,-18.0001 115.4716,-18 111.9716,-14.8501 118.9716,-18 118.9716,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M129.9688,-34.6641C128.4063,-44.625 130.75,-54 137,-54 141.6875,-54 144.1777,-48.7266 144.4707,-41.8876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"144.0313,-34.6641 147.6006,-41.4598 144.2438,-38.1576 144.4564,-41.6511 144.4564,-41.6511 144.4564,-41.6511 144.2438,-38.1576 141.3122,-41.8425 144.0313,-34.6641 144.0313,-34.6641\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"137\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344049d20> >"
|
|
]
|
|
},
|
|
"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": [
|
|
"spot.formula(\"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": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"253pt\" height=\"217pt\"\n",
|
|
" viewBox=\"0.00 0.00 253.00 216.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 212.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-212.8 249,-212.8 249,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"99.5\" y=\"-178.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"109\" cy=\"-113\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"109\" y=\"-109.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M109,-167.8767C109,-164.822 109,-151.0552 109,-138.0759\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"109,-131.0193 112.1501,-138.0192 109,-134.5193 109.0001,-138.0193 109.0001,-138.0193 109.0001,-138.0193 109,-134.5193 105.8501,-138.0193 109,-131.0193 109,-131.0193\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"22\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"22\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"22\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M96.535,-99.9619C82.3984,-85.1754 59.1374,-60.8449 42.3576,-43.2936\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.3754,-38.0824 44.4896,-40.9653 39.7941,-40.6122 42.2128,-43.1421 42.2128,-43.1421 42.2128,-43.1421 39.7941,-40.6122 39.9359,-45.3189 37.3754,-38.0824 37.3754,-38.0824\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"74\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"109\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"109\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"109\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M109,-94.5848C109,-82.2017 109,-65.6103 109,-51.4159\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"109,-44.2465 112.1501,-51.2465 109,-47.7465 109.0001,-51.2465 109.0001,-51.2465 109.0001,-51.2465 109,-47.7465 105.8501,-51.2466 109,-44.2465 109,-44.2465\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"109\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"198\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"198\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"198\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M121.7515,-99.9619C136.3002,-85.0863 160.2959,-60.5514 177.4839,-42.9772\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"182.5815,-37.7649 179.9391,-44.9719 180.1343,-40.2672 177.6871,-42.7694 177.6871,-42.7694 177.6871,-42.7694 180.1343,-40.2672 175.4351,-40.5669 182.5815,-37.7649 182.5815,-37.7649\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M42.5808,-30.3702C52.8447,-31.5284 62,-28.7383 62,-22 62,-16.9463 56.8502,-14.1134 49.9451,-13.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"62\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M129.5808,-30.3702C139.8447,-31.5284 149,-28.7383 149,-22 149,-16.9463 143.8502,-14.1134 136.9451,-13.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"129.5808,-13.6298 136.5248,-10.3582 133.0803,-13.5688 136.5797,-13.5077 136.5797,-13.5077 136.5797,-13.5077 133.0803,-13.5688 136.6347,-16.6573 129.5808,-13.6298 129.5808,-13.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M218.5808,-30.3702C228.8447,-31.5284 238,-28.7383 238,-22 238,-16.9463 232.8502,-14.1134 225.9451,-13.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"218.5808,-13.6298 225.5248,-10.3582 222.0803,-13.5688 225.5797,-13.5077 225.5797,-13.5077 225.5797,-13.5077 222.0803,-13.5688 225.6347,-16.6573 218.5808,-13.6298 218.5808,-13.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.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": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"597pt\" height=\"320pt\"\n",
|
|
" viewBox=\"0.00 0.00 596.97 319.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 315.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-315.8 592.9654,-315.8 592.9654,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"271.4827\" y=\"-281.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"287.9654\" cy=\"-212\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"287.9654\" cy=\"-212\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"287.9654\" y=\"-208.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->6 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M287.9654,-270.8318C287.9654,-267.7509 287.9654,-254.5054 287.9654,-241.3612\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"287.9654,-234.1345 291.1155,-241.1344 287.9655,-237.6345 287.9655,-241.1345 287.9655,-241.1345 287.9655,-241.1345 287.9655,-237.6345 284.8155,-241.1345 287.9654,-234.1345 287.9654,-234.1345\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M308.9562,-219.3169C319.0527,-220.2202 327.9654,-217.7813 327.9654,-212 327.9654,-207.6641 322.952,-205.2082 316.1858,-204.6323\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"308.9562,-204.6831 315.9338,-201.4839 312.4561,-204.6585 315.956,-204.6338 315.956,-204.6338 315.956,-204.6338 312.4561,-204.6585 315.9782,-207.7837 308.9562,-204.6831 308.9562,-204.6831\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"327.9654\" y=\"-208.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"98.9654\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"98.9654\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"98.9654\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>6->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M265.9308,-209.6731C205.582,-202.8018 39.9872,-180.4407 7.9654,-139 -20.6224,-102.0033 37.2077,-58.5869 73.1888,-36.4993\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"79.6272,-32.6296 75.2502,-38.9355 76.6273,-34.4326 73.6275,-36.2357 73.6275,-36.2357 73.6275,-36.2357 76.6273,-34.4326 72.0047,-33.5358 79.6272,-32.6296 79.6272,-32.6296\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"7.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"478.9654\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"478.9654\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"478.9654\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->1 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>6->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M309.8221,-208.4766C362.2134,-199.5229 492.368,-174.0944 515.9654,-139 535.5546,-109.8668 514.5931,-69.7601 497.1695,-44.8789\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"493.0699,-39.2019 499.7218,-43.0328 495.119,-42.0394 497.1681,-44.8769 497.1681,-44.8769 497.1681,-44.8769 495.119,-42.0394 494.6143,-46.7211 493.0699,-39.2019 493.0699,-39.2019\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"522.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"326.9654\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"326.9654\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"326.9654\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>6->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M301.5814,-194.1851C305.956,-187.559 310.3441,-179.7583 312.9654,-172 326.6067,-131.6262 328.5547,-81.8812 328.1683,-51.0495\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"328.0352,-44.0135 331.3172,-50.9526 328.1015,-47.5129 328.1677,-51.0123 328.1677,-51.0123 328.1677,-51.0123 328.1015,-47.5129 325.0183,-51.0719 328.0352,-44.0135 328.0352,-44.0135\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"325.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"104.9654\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"104.9654\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"104.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M266.2581,-206.5907C242.832,-200.2433 204.8664,-188.4553 174.9654,-172 157.4307,-162.3502 139.7237,-148.3891 126.5056,-136.9479\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"121.1292,-132.2187 128.4657,-134.4768 123.7572,-134.5304 126.3852,-136.842 126.3852,-136.842 126.3852,-136.842 123.7572,-134.5304 124.3047,-139.2072 121.1292,-132.2187 121.1292,-132.2187\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"174.9654\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"218.9654\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"218.9654\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"218.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M271.9941,-196.356C265.1341,-189.2402 257.2646,-180.519 250.9654,-172 244.2948,-162.9786 237.8804,-152.4586 232.5689,-143.0491\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"229.0783,-136.7442 235.2247,-141.3426 230.7736,-139.8063 232.4688,-142.8683 232.4688,-142.8683 232.4688,-142.8683 230.7736,-139.8063 229.713,-144.3941 229.0783,-136.7442 229.0783,-136.7442\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"250.9654\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"432.9654\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"432.9654\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"432.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M306.6248,-199.7749C332.509,-182.8163 379.3694,-152.1146 408.1699,-133.2453\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"414.3777,-129.1782 410.2487,-135.6493 411.4501,-131.0963 408.5224,-133.0144 408.5224,-133.0144 408.5224,-133.0144 411.4501,-131.0963 406.7961,-130.3795 414.3777,-129.1782 414.3777,-129.1782\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"368.9654\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M119.5462,-30.3702C129.8102,-31.5284 138.9654,-28.7383 138.9654,-22 138.9654,-16.9463 133.8156,-14.1134 126.9106,-13.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"119.5462,-13.6298 126.4903,-10.3582 123.0457,-13.5688 126.5452,-13.5077 126.5452,-13.5077 126.5452,-13.5077 123.0457,-13.5688 126.6001,-16.6573 119.5462,-13.6298 119.5462,-13.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138.9654\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M499.5462,-30.3702C509.8102,-31.5284 518.9654,-28.7383 518.9654,-22 518.9654,-16.9463 513.8156,-14.1134 506.9106,-13.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"499.5462,-13.6298 506.4903,-10.3582 503.0457,-13.5688 506.5452,-13.5077 506.5452,-13.5077 506.5452,-13.5077 503.0457,-13.5688 506.6001,-16.6573 499.5462,-13.6298 499.5462,-13.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"518.9654\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M347.5462,-30.3702C357.8102,-31.5284 366.9654,-28.7383 366.9654,-22 366.9654,-16.9463 361.8156,-14.1134 354.9106,-13.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"347.5462,-13.6298 354.4903,-10.3582 351.0457,-13.5688 354.5452,-13.5077 354.5452,-13.5077 354.5452,-13.5077 351.0457,-13.5688 354.6001,-16.6573 347.5462,-13.6298 347.5462,-13.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"366.9654\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M101.794,-95.0347C101.0663,-89.1861 100.384,-82.8638 99.9654,-77 99.3711,-68.6745 99.066,-59.6231 98.922,-51.312\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"98.8336,-44.2356 102.0708,-51.1957 98.8773,-47.7353 98.9211,-51.235 98.9211,-51.235 98.9211,-51.235 98.8773,-47.7353 95.7713,-51.2744 98.8336,-44.2356 98.8336,-44.2356\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"99.9654\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M118.9069,-99.8851C130.8179,-85.6735 147.3525,-67.0055 155.9654,-62 201.0018,-35.8266 262.0873,-26.7726 297.7417,-23.6452\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"304.9491,-23.0638 298.2251,-26.7665 301.4604,-23.3453 297.9717,-23.6267 297.9717,-23.6267 297.9717,-23.6267 301.4604,-23.3453 297.7184,-20.4869 304.9491,-23.0638 304.9491,-23.0638\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"155.9654\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M125.5462,-125.3702C135.8102,-126.5284 144.9654,-123.7383 144.9654,-117 144.9654,-111.9463 139.8156,-109.1134 132.9106,-108.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"125.5462,-108.6298 132.4903,-105.3582 129.0457,-108.5688 132.5452,-108.5077 132.5452,-108.5077 132.5452,-108.5077 129.0457,-108.5688 132.6001,-111.6573 125.5462,-108.6298 125.5462,-108.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M214.617,-95.4288C211.3934,-84.2357 205.951,-71.0489 196.9654,-62 178.2356,-43.1383 149.384,-32.8211 127.8287,-27.4143\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.8234,-25.7637 128.3593,-24.3032 124.2302,-26.5665 127.6369,-27.3692 127.6369,-27.3692 127.6369,-27.3692 124.2302,-26.5665 126.9144,-30.4352 120.8234,-25.7637 120.8234,-25.7637\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"206.9654\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M239.3866,-108.397C266.1876,-97.2136 314.7797,-77.3054 356.9654,-62 388.8139,-50.4451 425.8509,-38.5104 450.6879,-30.7203\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"457.6697,-28.5389 451.9276,-33.6332 454.3289,-29.5827 450.9882,-30.6266 450.9882,-30.6266 450.9882,-30.6266 454.3289,-29.5827 450.0487,-27.6199 457.6697,-28.5389 457.6697,-28.5389\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"356.9654\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M239.5462,-125.3702C249.8102,-126.5284 258.9654,-123.7383 258.9654,-117 258.9654,-111.9463 253.8156,-109.1134 246.9106,-108.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"239.5462,-108.6298 246.4903,-105.3582 243.0457,-108.5688 246.5452,-108.5077 246.5452,-108.5077 246.5452,-108.5077 243.0457,-108.5688 246.6001,-111.6573 239.5462,-108.6298 239.5462,-108.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"258.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>5->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M445.0767,-98.2225C449.095,-91.6382 453.4387,-84.11 456.9654,-77 461.299,-68.2634 465.4407,-58.4526 468.9381,-49.5622\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"471.4795,-42.976 471.8983,-50.6407 470.2195,-46.2413 468.9595,-49.5067 468.9595,-49.5067 468.9595,-49.5067 470.2195,-46.2413 466.0207,-48.3727 471.4795,-42.976 471.4795,-42.976\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"462.9654\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>5->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M423.0909,-97.2725C416.7424,-85.9775 407.685,-72.0907 396.9654,-62 384.4407,-50.21 367.8099,-40.5218 353.9015,-33.6344\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"347.3223,-30.4813 354.9962,-30.666 350.4786,-31.994 353.6349,-33.5066 353.6349,-33.5066 353.6349,-33.5066 350.4786,-31.994 352.2735,-36.3472 347.3223,-30.4813 347.3223,-30.4813\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"409.9654\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M453.5462,-125.3702C463.8102,-126.5284 472.9654,-123.7383 472.9654,-117 472.9654,-111.9463 467.8156,-109.1134 460.9106,-108.5015\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"453.5462,-108.6298 460.4903,-105.3582 457.0457,-108.5688 460.5452,-108.5077 460.5452,-108.5077 460.5452,-108.5077 457.0457,-108.5688 460.6001,-111.6573 453.5462,-108.6298 453.5462,-108.6298\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"472.9654\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"302pt\" height=\"347pt\"\n",
|
|
" viewBox=\"0.00 0.00 301.50 347.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.0 1.0) rotate(0) translate(4 343)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-343 297.5,-343 297.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"125.75\" y=\"-324.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"147.75\" y=\"-324.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"163.75\" y=\"-324.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"123.75\" y=\"-310.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-131\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-127.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-131C4.178,-131 17.9448,-131 30.9241,-131\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-131 30.9808,-134.1501 34.4807,-131 30.9807,-131.0001 30.9807,-131.0001 30.9807,-131.0001 34.4807,-131 30.9807,-127.8501 37.9807,-131 37.9807,-131\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M67.8831,-144.5544C74.5545,-151.7153 83.2735,-160.3688 92,-167 105.2828,-177.0934 121.6175,-186.326 134.6516,-193.0439\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.133,-196.319 133.4647,-195.9735 138.0092,-194.7405 134.8853,-193.162 134.8853,-193.162 134.8853,-193.162 138.0092,-194.7405 136.306,-190.3505 141.133,-196.319 141.133,-196.319\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"105.5\" y=\"-186.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.4157,-121.1279C88.7301,-110.0398 116.938,-91.9757 136.3156,-79.5663\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.2718,-75.752 138.0758,-82.1798 139.3244,-77.6396 136.377,-79.5271 136.377,-79.5271 136.377,-79.5271 139.3244,-77.6396 134.6782,-76.8744 142.2718,-75.752 142.2718,-75.752\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-109.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.8762,-133.5352C106.5278,-137.693 177.8966,-144.5912 237,-135 241.0827,-134.3375 245.328,-133.2782 249.4107,-132.0566\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"256.0705,-129.8889 250.3892,-135.0509 252.7424,-130.9722 249.4142,-132.0555 249.4142,-132.0555 249.4142,-132.0555 252.7424,-130.9722 248.4392,-129.0602 256.0705,-129.8889 256.0705,-129.8889\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M62.9803,-114.288C74.3548,-89.4767 99.4559,-43.7111 137,-24 171.9602,-5.6454 219.2129,-8.6925 247.8236,-13.0243\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"255.025,-14.2021 247.6084,-16.1809 251.5709,-13.6371 248.1168,-13.0722 248.1168,-13.0722 248.1168,-13.0722 251.5709,-13.6371 248.6252,-9.9635 255.025,-14.2021 255.025,-14.2021\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M152.8583,-221.4099C151.9918,-231.0879 153.5391,-240 157.5,-240 160.4088,-240 162.0159,-235.1936 162.3213,-228.8073\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"162.1417,-221.4099 165.4607,-228.3314 162.2267,-224.9089 162.3117,-228.4078 162.3117,-228.4078 162.3117,-228.4078 162.2267,-224.9089 159.1626,-228.4843 162.1417,-221.4099 162.1417,-221.4099\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"151\" y=\"-243.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M150.0375,-220.5858C145.3641,-238.1697 147.8516,-258 157.5,-258 165.867,-258 168.8489,-243.0873 166.4456,-227.659\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"164.9625,-220.5858 169.482,-226.7903 165.6808,-224.0113 166.3991,-227.4368 166.3991,-227.4368 166.3991,-227.4368 165.6808,-224.0113 163.3161,-228.0833 164.9625,-220.5858 164.9625,-220.5858\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153\" y=\"-276.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">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\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M148.5212,-81.916C146.179,-92.1504 149.1719,-102 157.5,-102 163.8762,-102 167.125,-96.2263 167.2465,-88.9268\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"166.4788,-81.916 170.3721,-88.5315 166.8598,-85.3952 167.2408,-88.8744 167.2408,-88.8744 167.2408,-88.8744 166.8598,-85.3952 164.1095,-89.2174 166.4788,-81.916 166.4788,-81.916\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M169.5081,-79.6266C176.5738,-86.8977 186.0558,-95.463 196,-101 212.0757,-109.9511 232.1088,-115.527 247.7114,-118.8252\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"254.9781,-120.2661 247.4991,-121.9943 251.545,-119.5853 248.1118,-118.9045 248.1118,-118.9045 248.1118,-118.9045 251.545,-119.5853 248.7245,-115.8146 254.9781,-120.2661 254.9781,-120.2661\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-119.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M173.8794,-58.0519C180.6773,-54.8292 188.6741,-51.1356 196,-48 213.7285,-40.4118 234.0677,-32.5216 249.3886,-26.7384\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"256.0474,-24.2382 250.6014,-29.6478 252.7708,-25.4685 249.4941,-26.6988 249.4941,-26.6988 249.4941,-26.6988 252.7708,-25.4685 248.3868,-23.7499 256.0474,-24.2382 256.0474,-24.2382\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M263.1685,-107.4615C256.7763,-98.6424 247.6594,-88.166 237,-82 220.5135,-72.4634 199.2509,-68.5379 182.8638,-66.9562\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"175.7123,-66.3828 182.9418,-63.8025 179.2011,-66.6626 182.6899,-66.9424 182.6899,-66.9424 182.6899,-66.9424 179.2011,-66.6626 182.4381,-70.0823 175.7123,-66.3828 175.7123,-66.3828\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M263.4254,-138.5414C260.7303,-148.9087 263.9219,-159 273,-159 279.9504,-159 283.4503,-153.0847 283.4995,-145.6591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"282.5746,-138.5414 286.6004,-145.0771 283.0256,-142.0123 283.4767,-145.4831 283.4767,-145.4831 283.4767,-145.4831 283.0256,-142.0123 280.353,-145.889 282.5746,-138.5414 282.5746,-138.5414\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-162.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M263.4254,-33.5414C260.7303,-43.9087 263.9219,-54 273,-54 279.9504,-54 283.4503,-48.0847 283.4995,-40.6591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"282.5746,-33.5414 286.6004,-40.0771 283.0256,-37.0123 283.4767,-40.4831 283.4767,-40.4831 283.4767,-40.4831 283.0256,-37.0123 280.353,-40.889 282.5746,-33.5414 282.5746,-33.5414\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!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.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344056f90> >"
|
|
]
|
|
},
|
|
"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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"165pt\" height=\"263pt\"\n",
|
|
" viewBox=\"0.00 0.00 165.00 263.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.0 1.0) rotate(0) translate(4 259)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-259 161,-259 161,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"57.5\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79.5\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"55.5\" y=\"-226.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-69C4.178,-69 17.9448,-69 30.9241,-69\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-69 30.9808,-72.1501 34.4807,-69 30.9807,-69.0001 30.9807,-69.0001 30.9807,-69.0001 34.4807,-69 30.9807,-65.8501 37.9807,-69 37.9807,-69\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-86.0373C48.3189,-95.8579 50.4453,-105 56,-105 60.166,-105 62.4036,-99.8576 62.7128,-93.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"51.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.6117,-78.5927C84.4799,-86.4997 102.8775,-97.8042 117.1993,-106.6044\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"123.4583,-110.4503 115.8451,-109.4694 120.4763,-108.6179 117.4942,-106.7856 117.4942,-106.7856 117.4942,-106.7856 120.4763,-108.6179 119.1434,-104.1017 123.4583,-110.4503 123.4583,-110.4503\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-100.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.6117,-59.4073C84.4799,-51.5003 102.8775,-40.1958 117.1993,-31.3956\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"123.4583,-27.5497 119.1434,-33.8983 120.4763,-29.3821 117.4942,-31.2144 117.4942,-31.2144 117.4942,-31.2144 120.4763,-29.3821 115.8451,-28.5306 123.4583,-27.5497 123.4583,-27.5497\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M135.4047,-137.7817C134.7938,-147.3149 135.9922,-156 139,-156 141.2089,-156 142.4419,-151.3161 142.6991,-145.0521\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.5953,-137.7817 145.845,-144.736 142.6453,-141.2814 142.6954,-144.781 142.6954,-144.781 142.6954,-144.781 142.6453,-141.2814 139.5457,-144.8261 142.5953,-137.7817 142.5953,-137.7817\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"132.5\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M133.1479,-137.1418C129.7056,-154.585 131.6563,-174 139,-174 145.3684,-174 147.6812,-159.3996 145.9382,-144.146\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"144.8521,-137.1418 149.0376,-143.5763 145.3884,-140.6004 145.9248,-144.0591 145.9248,-144.0591 145.9248,-144.0591 145.3884,-140.6004 142.812,-144.5418 144.8521,-137.1418 144.8521,-137.1418\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-192.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">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\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M131.9688,-34.6641C130.4063,-44.625 132.75,-54 139,-54 143.6875,-54 146.1777,-48.7266 146.4707,-41.8876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.0313,-34.6641 149.6006,-41.4598 146.2438,-38.1576 146.4564,-41.6511 146.4564,-41.6511 146.4564,-41.6511 146.2438,-38.1576 143.3122,-41.8425 146.0313,-34.6641 146.0313,-34.6641\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!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.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440651e0> >"
|
|
]
|
|
},
|
|
"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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"258pt\" height=\"220pt\"\n",
|
|
" viewBox=\"0.00 0.00 258.00 219.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 215.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-215.8 254,-215.8 254,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102\" y=\"-181.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-69C4.178,-69 17.9448,-69 30.9241,-69\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-69 30.9808,-72.1501 34.4807,-69 30.9807,-69.0001 30.9807,-69.0001 30.9807,-69.0001 34.4807,-69 30.9807,-65.8501 37.9807,-69 37.9807,-69\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-86.0373C48.3189,-95.8579 50.4453,-105 56,-105 60.166,-105 62.4036,-99.8576 62.7128,-93.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"51.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"143\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.9571,-77.8039C84.5489,-84.7511 102.3714,-94.5842 117.0149,-102.6634\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"123.489,-106.2353 115.8383,-105.6118 120.4245,-104.5445 117.36,-102.8537 117.36,-102.8537 117.36,-102.8537 120.4245,-104.5445 118.8817,-100.0957 123.489,-106.2353 123.489,-106.2353\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"143\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" 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\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.9571,-60.3795C84.5489,-53.577 102.3714,-43.9488 117.0149,-36.0379\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"123.489,-32.5404 118.8275,-38.639 120.4097,-34.204 117.3303,-35.8676 117.3303,-35.8676 117.3303,-35.8676 120.4097,-34.204 115.8331,-33.0961 123.489,-32.5404 123.489,-32.5404\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M134.9937,-137.5808C133.8859,-147.8447 136.5547,-157 143,-157 147.834,-157 150.5437,-151.8502 151.129,-144.9451\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"151.0063,-137.5808 154.2726,-144.5273 151.0647,-141.0803 151.123,-144.5798 151.123,-144.5798 151.123,-144.5798 151.0647,-141.0803 147.9735,-144.6324 151.0063,-137.5808 151.0063,-137.5808\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M165,-117C177.5648,-117 193.3774,-117 206.4852,-117\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"213.8453,-117 206.8454,-120.1501 210.3453,-117 206.8453,-117.0001 206.8453,-117.0001 206.8453,-117.0001 210.3453,-117 206.8453,-113.8501 213.8453,-117 213.8453,-117\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"183\" y=\"-120.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M134.9937,-42.5808C133.8859,-52.8447 136.5547,-62 143,-62 147.834,-62 150.5437,-56.8502 151.129,-49.9451\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"151.0063,-42.5808 154.2726,-49.5273 151.0647,-46.0803 151.123,-49.5798 151.123,-49.5798 151.123,-49.5798 151.0647,-46.0803 147.9735,-49.6324 151.0063,-42.5808 151.0063,-42.5808\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M216.8943,-106.93C210.6932,-103.3682 203.2713,-99.8011 196,-98 186.6246,-95.6777 176.5905,-97.9789 167.8031,-101.6804\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"161.3578,-104.7304 166.3377,-98.8889 164.5214,-103.2333 167.6851,-101.7361 167.6851,-101.7361 167.6851,-101.7361 164.5214,-103.2333 169.0325,-104.5834 161.3578,-104.7304 161.3578,-104.7304\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"185\" y=\"-101.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M224.6172,-133.6641C222.9766,-143.625 225.4375,-153 232,-153 236.9219,-153 239.5366,-147.7266 239.8442,-140.8876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"239.3828,-133.6641 242.9727,-140.449 239.606,-137.1569 239.8291,-140.6498 239.8291,-140.6498 239.8291,-140.6498 239.606,-137.1569 236.6855,-140.8507 239.3828,-133.6641 239.3828,-133.6641\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"225.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440652d0> >"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.translate('GFa -> GFb', 'sbacc')\n",
|
|
"a"
|
|
]
|
|
},
|
|
{
|
|
"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": {
|
|
"text/plain": [
|
|
"False"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"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": 16,
|
|
"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": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"361pt\" height=\"178pt\"\n",
|
|
" viewBox=\"0.00 0.00 361.00 178.45\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 174.4517)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-174.4517 357,-174.4517 357,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"8\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">(Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"33\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"49\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"95\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"157\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)) | (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"217\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"233\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"325\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"341\" y=\"-156.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"87.75\" cy=\"-24.4517\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"87.75\" y=\"-20.7517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M32.8733,-24.4517C35.928,-24.4517 49.6948,-24.4517 62.6741,-24.4517\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"69.7307,-24.4517 62.7308,-27.6018 66.2307,-24.4517 62.7307,-24.4518 62.7307,-24.4518 62.7307,-24.4518 66.2307,-24.4517 62.7307,-21.3018 69.7307,-24.4517 69.7307,-24.4517\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M81.3708,-41.489C80.0689,-51.3096 82.1953,-60.4517 87.75,-60.4517 91.916,-60.4517 94.1536,-55.3093 94.4628,-48.595\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"94.1292,-41.489 97.6041,-48.3335 94.2934,-44.9852 94.4576,-48.4813 94.4576,-48.4813 94.4576,-48.4813 94.2934,-44.9852 91.311,-48.6291 94.1292,-41.489 94.1292,-41.489\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"83.25\" y=\"-79.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79.75\" y=\"-64.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"191.75\" cy=\"-83.4517\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"191.75\" y=\"-79.7517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M95.8043,-40.9041C101.9487,-51.6466 111.4489,-65.0138 123.75,-72.4517 136.5293,-80.1788 153.0214,-82.9848 166.5633,-83.8321\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"173.7408,-84.1201 166.6201,-86.9868 170.2436,-83.9797 166.7464,-83.8393 166.7464,-83.8393 166.7464,-83.8393 170.2436,-83.9797 166.8728,-80.6919 173.7408,-84.1201 173.7408,-84.1201\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"136.25\" y=\"-100.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"123.75\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"139.75\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"300.75\" cy=\"-24.4517\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"300.75\" y=\"-20.7517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M106.0559,-23.2377C111.7249,-22.9147 117.9934,-22.6115 123.75,-22.4517 186.3925,-20.713 202.1075,-20.713 264.75,-22.4517 268.168,-22.5466 271.7665,-22.692 275.3127,-22.8621\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"282.4441,-23.2377 275.2881,-26.0151 278.9489,-23.0536 275.4538,-22.8695 275.4538,-22.8695 275.4538,-22.8695 278.9489,-23.0536 275.6194,-19.7238 282.4441,-23.2377 282.4441,-23.2377\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"186.25\" y=\"-38.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175.75\" y=\"-24.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"191.75\" y=\"-24.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M182.8041,-67.3035C176.5102,-57.4552 167.1826,-45.454 155.75,-38.4517 143.0015,-30.6434 126.6441,-27.115 113.1673,-25.5522\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"106.0178,-24.8714 113.2849,-22.3992 109.502,-25.2032 112.9863,-25.535 112.9863,-25.535 112.9863,-25.535 109.502,-25.2032 112.6877,-28.6708 106.0178,-24.8714 106.0178,-24.8714\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.25\" y=\"-57.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131.75\" y=\"-42.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M182.7712,-99.3677C180.429,-109.6021 183.4219,-119.4517 191.75,-119.4517 198.1262,-119.4517 201.375,-113.678 201.4965,-106.3785\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"200.7288,-99.3677 204.6221,-105.9832 201.1098,-102.8469 201.4908,-106.3261 201.4908,-106.3261 201.4908,-106.3261 201.1098,-102.8469 198.3595,-106.6691 200.7288,-99.3677 200.7288,-99.3677\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"174.75\" y=\"-137.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175.75\" y=\"-123.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"191.75\" y=\"-123.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M209.8238,-84.4266C225.4255,-84.4463 248.0249,-82.4415 264.75,-72.4517 274.8736,-66.4049 283.0834,-56.32 289.0923,-46.9506\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"292.7212,-40.9465 291.7961,-48.5667 290.9108,-43.9419 289.1003,-46.9373 289.1003,-46.9373 289.1003,-46.9373 290.9108,-43.9419 286.4044,-45.3079 292.7212,-40.9465 292.7212,-40.9465\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"227.75\" y=\"-100.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"230.25\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"246.25\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M283.578,-17.9C259.2471,-9.4045 213.295,3.745 173.75,-1.4517 152.4311,-4.2532 128.8843,-10.8027 111.8276,-16.199\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"104.9403,-18.4268 110.6311,-13.2752 108.2704,-17.3496 111.6006,-16.2724 111.6006,-16.2724 111.6006,-16.2724 108.2704,-17.3496 112.5701,-19.2695 104.9403,-18.4268 104.9403,-18.4268\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"185.25\" y=\"-5.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M282.7113,-24.4898C267.1321,-25.2845 244.5459,-28.3204 227.75,-38.4517 218.602,-43.9697 210.8221,-52.7138 204.8606,-61.0325\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"200.6637,-67.2505 201.969,-59.6862 202.6218,-64.3495 204.5799,-61.4485 204.5799,-61.4485 204.5799,-61.4485 202.6218,-64.3495 207.1908,-63.2107 200.6637,-67.2505 200.6637,-67.2505\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"227.75\" y=\"-57.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"238.25\" y=\"-42.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M291.5174,-39.9931C288.9185,-50.3604 291.9961,-60.4517 300.75,-60.4517 307.4522,-60.4517 310.827,-54.5364 310.8745,-47.1108\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"309.9826,-39.9931 313.9786,-46.5472 310.4178,-43.466 310.853,-46.9388 310.853,-46.9388 310.853,-46.9388 310.4178,-43.466 307.7275,-47.3305 309.9826,-39.9931 309.9826,-39.9931\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"280.25\" y=\"-79.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"292.75\" y=\"-64.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344056ab0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"298pt\" height=\"191pt\"\n",
|
|
" viewBox=\"0.00 0.00 297.50 191.45\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 187.4517)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-187.4517 293.5,-187.4517 293.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"70.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"145.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"161.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"214.75\" y=\"-169.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"109.75\" y=\"-155.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Fin-less 3]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-24.4517\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-20.7517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-24.4517C4.178,-24.4517 17.9448,-24.4517 30.9241,-24.4517\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-24.4517 30.9808,-27.6018 34.4807,-24.4517 30.9807,-24.4518 30.9807,-24.4518 30.9807,-24.4518 34.4807,-24.4517 30.9807,-21.3018 37.9807,-24.4517 37.9807,-24.4517\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-41.489C48.3189,-51.3096 50.4453,-60.4517 56,-60.4517 60.166,-60.4517 62.4036,-55.3093 62.7128,-48.595\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-41.489 65.8541,-48.3335 62.5434,-44.9852 62.7076,-48.4813 62.7076,-48.4813 62.7076,-48.4813 62.5434,-44.9852 59.561,-48.6291 62.3792,-41.489 62.3792,-41.489\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-79.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-64.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"160\" cy=\"-83.4517\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"160\" y=\"-79.7517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M64.0543,-40.9041C70.1987,-51.6466 79.6989,-65.0138 92,-72.4517 104.7793,-80.1788 121.2714,-82.9848 134.8133,-83.8321\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.9908,-84.1201 134.8701,-86.9868 138.4936,-83.9797 134.9964,-83.8393 134.9964,-83.8393 134.9964,-83.8393 138.4936,-83.9797 135.1228,-80.6919 141.9908,-84.1201 141.9908,-84.1201\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-100.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"269\" cy=\"-24.4517\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"269\" y=\"-20.7517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.3059,-23.2377C79.9749,-22.9147 86.2434,-22.6115 92,-22.4517 154.6425,-20.713 170.3575,-20.713 233,-22.4517 236.418,-22.5466 240.0165,-22.692 243.5627,-22.8621\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"250.6941,-23.2377 243.5381,-26.0151 247.1989,-23.0536 243.7038,-22.8695 243.7038,-22.8695 243.7038,-22.8695 247.1989,-23.0536 243.8694,-19.7238 250.6941,-23.2377 250.6941,-23.2377\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-38.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-24.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-24.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M151.0541,-67.3035C144.7602,-57.4552 135.4326,-45.454 124,-38.4517 111.2515,-30.6434 94.8941,-27.115 81.4173,-25.5522\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"74.2678,-24.8714 81.5349,-22.3992 77.752,-25.2032 81.2363,-25.535 81.2363,-25.535 81.2363,-25.535 77.752,-25.2032 80.9377,-28.6708 74.2678,-24.8714 74.2678,-24.8714\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-57.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-42.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M151.0212,-99.3677C148.679,-109.6021 151.6719,-119.4517 160,-119.4517 166.3762,-119.4517 169.625,-113.678 169.7465,-106.3785\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"168.9788,-99.3677 172.8721,-105.9832 169.3598,-102.8469 169.7408,-106.3261 169.7408,-106.3261 169.7408,-106.3261 169.3598,-102.8469 166.6095,-106.6691 168.9788,-99.3677 168.9788,-99.3677\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-137.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-123.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-123.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M178.0738,-84.4266C193.6755,-84.4463 216.2749,-82.4415 233,-72.4517 243.1236,-66.4049 251.3334,-56.32 257.3423,-46.9506\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"260.9712,-40.9465 260.0461,-48.5667 259.1608,-43.9419 257.3503,-46.9373 257.3503,-46.9373 257.3503,-46.9373 259.1608,-43.9419 254.6544,-45.3079 260.9712,-40.9465 260.9712,-40.9465\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-101.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"206.5\" y=\"-86.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M251.828,-17.9C227.4971,-9.4045 181.545,3.745 142,-1.4517 120.6811,-4.2532 97.1343,-10.8027 80.0776,-16.199\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"73.1903,-18.4268 78.8811,-13.2752 76.5204,-17.3496 79.8506,-16.2724 79.8506,-16.2724 79.8506,-16.2724 76.5204,-17.3496 80.8201,-19.2695 73.1903,-18.4268 73.1903,-18.4268\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153.5\" y=\"-5.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M250.9613,-24.4898C235.3821,-25.2845 212.7959,-28.3204 196,-38.4517 186.852,-43.9697 179.0721,-52.7138 173.1106,-61.0325\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"168.9137,-67.2505 170.219,-59.6862 170.8718,-64.3495 172.8299,-61.4485 172.8299,-61.4485 172.8299,-61.4485 170.8718,-64.3495 175.4408,-63.2107 168.9137,-67.2505 168.9137,-67.2505\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-57.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"206.5\" y=\"-42.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M259.7674,-39.9931C257.1685,-50.3604 260.2461,-60.4517 269,-60.4517 275.7022,-60.4517 279.077,-54.5364 279.1245,-47.1108\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"278.2326,-39.9931 282.2286,-46.5472 278.6678,-43.466 279.103,-46.9388 279.103,-46.9388 279.103,-46.9388 278.6678,-43.466 275.9775,-47.3305 278.2326,-39.9931 278.2326,-39.9931\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"248.5\" y=\"-79.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"261\" y=\"-64.2517\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440566c0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"82pt\" height=\"128pt\"\n",
|
|
" viewBox=\"0.00 0.00 82.00 128.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.0 1.0) rotate(0) translate(4 124)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-124 78,-124 78,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"16\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"54\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"14\" y=\"-91.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-18C4.178,-18 17.9448,-18 30.9241,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-18 30.9808,-21.1501 34.4807,-18 30.9807,-18.0001 30.9807,-18.0001 30.9807,-18.0001 34.4807,-18 30.9807,-14.8501 37.9807,-18 37.9807,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344056060> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"90pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 90.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 86,-120.8 86,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"18\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"60\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1682,-22C4.2491,-22 17.4946,-22 30.6388,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8655,-22 30.8656,-25.1501 34.3655,-22 30.8655,-22.0001 30.8655,-22.0001 30.8655,-22.0001 34.3655,-22 30.8655,-18.8501 37.8655,-22 37.8655,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" 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=\"#000000\" stroke=\"#000000\" 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=\"55.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344056cc0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.automaton('example1.aut')\n",
|
|
"display(a)\n",
|
|
"display(spot.remove_fin(a))\n",
|
|
"display(a.postprocess('TGBA', 'complete'))\n",
|
|
"display(a.postprocess('BA'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!rm example1.aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"376pt\" height=\"187pt\"\n",
|
|
" viewBox=\"0.00 0.00 376.00 186.64\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 182.637)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-182.637 372,-182.637 372,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"15.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">(Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"40.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"56.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"118.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"164.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)) | (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"240.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"276.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"292.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"332.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-164.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-23.637\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.937\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-23.637C4.178,-23.637 17.9448,-23.637 30.9241,-23.637\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-23.637 30.9808,-26.7871 34.4807,-23.637 30.9807,-23.6371 30.9807,-23.6371 30.9807,-23.6371 34.4807,-23.637 30.9807,-20.4871 37.9807,-23.637 37.9807,-23.637\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-40.6743C48.3189,-50.4949 50.4453,-59.637 56,-59.637 60.166,-59.637 62.4036,-54.4945 62.7128,-47.7802\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-40.6743 65.8541,-47.5188 62.5434,-44.1704 62.7076,-47.6666 62.7076,-47.6666 62.7076,-47.6666 62.5434,-44.1704 59.561,-47.8143 62.3792,-40.6743 62.3792,-40.6743\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-78.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-63.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"160\" cy=\"-91.637\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"160\" y=\"-87.937\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M64.3675,-39.6063C70.6517,-50.1333 80.1902,-63.4412 92,-71.637 104.6244,-80.398 121.1127,-85.3708 134.6914,-88.1664\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.8928,-89.5057 134.4348,-91.3226 138.4518,-88.8657 135.0108,-88.2257 135.0108,-88.2257 135.0108,-88.2257 138.4518,-88.8657 135.5868,-85.1288 141.8928,-89.5057 141.8928,-89.5057\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-102.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-88.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-88.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"269\" cy=\"-34.637\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"269\" y=\"-30.937\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.3059,-22.4229C79.9749,-22.1 86.2434,-21.7967 92,-21.637 154.6992,-19.8966 170.7545,-19.9091 233,-27.637 236.6193,-28.0863 240.4214,-28.685 244.1431,-29.3438\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.1322,-30.6611 243.6698,-32.46 247.6927,-30.0128 244.2533,-29.3645 244.2533,-29.3645 244.2533,-29.3645 247.6927,-30.0128 244.8368,-26.269 251.1322,-30.6611 251.1322,-30.6611\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-39.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-25.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-25.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M153.0839,-74.8791C147.1643,-62.6559 137.4556,-46.7032 124,-37.637 111.5177,-29.2265 95.0329,-25.6899 81.4204,-24.2736\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"74.1971,-23.6874 81.429,-21.1141 77.6857,-23.9706 81.1742,-24.2537 81.1742,-24.2537 81.1742,-24.2537 77.6857,-23.9706 80.9194,-27.3934 74.1971,-23.6874 74.1971,-23.6874\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-56.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-41.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M151.0212,-107.553C148.679,-117.7873 151.6719,-127.637 160,-127.637 166.3762,-127.637 169.625,-121.8633 169.7465,-114.5638\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"168.9788,-107.553 172.8721,-114.1685 169.3598,-111.0322 169.7408,-114.5114 169.7408,-114.5114 169.7408,-114.5114 169.3598,-111.0322 166.6095,-114.8543 168.9788,-107.553 168.9788,-107.553\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-145.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-131.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-131.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M167.4767,-74.7351C173.4641,-63.3478 183.0132,-49.0932 196,-41.637 210.2916,-33.4316 228.7934,-31.7342 243.5942,-32.0614\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"250.9548,-32.3933 243.82,-35.2247 247.4584,-32.2356 243.9619,-32.0779 243.9619,-32.0779 243.9619,-32.0779 247.4584,-32.2356 244.1038,-28.9311 250.9548,-32.3933 250.9548,-32.3933\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-59.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198.5\" y=\"-45.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"214.5\" y=\"-45.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"350\" cy=\"-85.637\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"350\" y=\"-81.937\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M173.2224,-104.2653C179.5838,-109.4812 187.6374,-114.9329 196,-117.637 241.6543,-132.3995 297.1872,-111.8215 327.53,-97.4617\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"333.967,-94.3283 329.0518,-100.2244 330.8201,-95.8602 327.6731,-97.3921 327.6731,-97.3921 327.6731,-97.3921 330.8201,-95.8602 326.2944,-94.5598 333.967,-94.3283 333.967,-94.3283\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-124.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M252.7479,-26.5089C234.9336,-18.1382 205.2517,-5.7525 178,-1.637 143.717,3.5405 104.2694,-6.5103 79.7334,-14.6738\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.9226,-17.0197 78.5151,-11.7617 76.2318,-15.8798 79.541,-14.74 79.541,-14.74 79.541,-14.74 76.2318,-15.8798 80.5668,-17.7183 72.9226,-17.0197 72.9226,-17.0197\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153.5\" y=\"-5.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M257.5863,-48.5837C251.0524,-55.7709 242.3151,-64.1539 233,-69.637 218.0994,-78.4078 199.3988,-83.9559 184.6556,-87.2864\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"177.7699,-88.7477 183.9634,-84.213 181.1936,-88.021 184.6174,-87.2944 184.6174,-87.2944 184.6174,-87.2944 181.1936,-88.021 185.2714,-90.3758 177.7699,-88.7477 177.7699,-88.7477\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-102.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"206.5\" y=\"-87.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M261.9688,-51.301C260.4063,-61.262 262.75,-70.637 269,-70.637 273.6875,-70.637 276.1777,-65.3635 276.4707,-58.5245\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"276.0313,-51.301 279.6006,-58.0968 276.2438,-54.7946 276.4564,-58.2881 276.4564,-58.2881 276.4564,-58.2881 276.2438,-54.7946 273.3122,-58.4794 276.0313,-51.301 276.0313,-51.301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"248.5\" y=\"-89.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"261\" y=\"-74.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M284.2355,-44.2297C296.7142,-52.0866 314.5208,-63.2982 328.4588,-72.074\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"334.5574,-75.9139 326.9554,-74.8498 331.5956,-74.049 328.6338,-72.1841 328.6338,-72.1841 328.6338,-72.1841 331.5956,-74.049 330.3122,-69.5185 334.5574,-75.9139 334.5574,-75.9139\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"305\" y=\"-65.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M342.9688,-102.301C341.4063,-112.262 343.75,-121.637 350,-121.637 354.6875,-121.637 357.1777,-116.3635 357.4707,-109.5245\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"357.0313,-102.301 360.6006,-109.0968 357.2438,-105.7946 357.4564,-109.2881 357.4564,-109.2881 357.4564,-109.2881 357.2438,-105.7946 354.3122,-109.4794 357.0313,-102.301 357.0313,-102.301\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"350\" y=\"-125.437\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440659c0> >"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.complete(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"173pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 173.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 169,-120.8 169,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59.5\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"60\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1682,-22C4.2491,-22 17.4946,-22 30.6388,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8655,-22 30.8656,-25.1501 34.3655,-22 30.8655,-22.0001 30.8655,-22.0001 30.8655,-22.0001 34.3655,-22 30.8655,-18.8501 37.8655,-22 37.8655,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" 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=\"#000000\" stroke=\"#000000\" 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\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"147\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"147\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M82.4047,-22C94.4414,-22 109.3216,-22 121.7651,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"128.7702,-22 121.7703,-25.1501 125.2702,-22 121.7702,-22.0001 121.7702,-22.0001 121.7702,-22.0001 125.2702,-22 121.7702,-18.8501 128.7702,-22 128.7702,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M139.9688,-38.6641C138.4063,-48.625 140.75,-58 147,-58 151.6875,-58 154.1777,-52.7266 154.4707,-45.8876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"154.0313,-38.6641 157.6006,-45.4598 154.2438,-42.1576 154.4564,-45.6511 154.4564,-45.6511 154.4564,-45.6511 154.2438,-42.1576 151.3122,-45.8425 154.0313,-38.6641 154.0313,-38.6641\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"147\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83440654b0> >"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.complete(spot.translate('Ga'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"True"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.formula('(a W c) & FGa').is_syntactic_persistence()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"no\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"165pt\" height=\"130pt\"\n",
|
|
" viewBox=\"0.00 0.00 165.00 130.40\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 126.3966)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-126.3966 161,-126.3966 161,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"57.5\" y=\"-108.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79.5\" y=\"-108.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-108.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"55.5\" y=\"-94.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-20.3966\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-16.6966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-20.3966C4.178,-20.3966 17.9448,-20.3966 30.9241,-20.3966\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-20.3966 30.9808,-23.5467 34.4807,-20.3967 30.9807,-20.3967 30.9807,-20.3967 30.9807,-20.3967 34.4807,-20.3967 30.9807,-17.2467 37.9807,-20.3966 37.9807,-20.3966\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-37.4339C48.3189,-47.2545 50.4453,-56.3966 56,-56.3966 60.166,-56.3966 62.4036,-51.2542 62.7128,-44.5399\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-37.4339 65.8541,-44.2785 62.5434,-40.9301 62.7076,-44.4262 62.7076,-44.4262 62.7076,-44.4262 62.5434,-40.9301 59.561,-44.574 62.3792,-37.4339 62.3792,-37.4339\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-75.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-60.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"139\" cy=\"-20.3966\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-16.6966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0098,-20.3966C85.5679,-20.3966 100.7507,-20.3966 113.5345,-20.3966\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.7388,-20.3966 113.7388,-23.5467 117.2388,-20.3967 113.7388,-20.3967 113.7388,-20.3967 113.7388,-20.3967 117.2388,-20.3967 113.7387,-17.2467 120.7388,-20.3966 120.7388,-20.3966\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-24.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M124.5385,-9.3757C115.4203,-3.7422 103.2768,1.3966 92,-1.3966 87.1146,-2.6067 82.1612,-4.614 77.5558,-6.8813\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"71.1057,-10.3266 75.7959,-4.25 74.1929,-8.6776 77.2801,-7.0285 77.2801,-7.0285 77.2801,-7.0285 74.1929,-8.6776 78.7642,-9.807 71.1057,-10.3266 71.1057,-10.3266\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-5.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M131.9688,-37.0607C130.4063,-47.0216 132.75,-56.3966 139,-56.3966 143.6875,-56.3966 146.1777,-51.1232 146.4707,-44.2842\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.0313,-37.0607 149.6006,-43.8564 146.2438,-40.5542 146.4564,-44.0478 146.4564,-44.0478 146.4564,-44.0478 146.2438,-40.5542 143.3122,-44.2391 146.0313,-37.0607 146.0313,-37.0607\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-75.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-60.1966\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"163pt\" height=\"161pt\"\n",
|
|
" viewBox=\"0.00 0.00 163.00 161.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.0 1.0) rotate(0) translate(4 157)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-157 159,-157 159,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"56.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"78.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"94.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"54.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-18C4.178,-18 17.9448,-18 30.9241,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-18 30.9808,-21.1501 34.4807,-18 30.9807,-18.0001 30.9807,-18.0001 30.9807,-18.0001 34.4807,-18 30.9807,-14.8501 37.9807,-18 37.9807,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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\" fill=\"#000000\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.3802,-18C85.4352,-18 99.6622,-18 111.7609,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"118.9716,-18 111.9716,-21.1501 115.4716,-18 111.9716,-18.0001 111.9716,-18.0001 111.9716,-18.0001 115.4716,-18 111.9716,-14.8501 118.9716,-18 118.9716,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M133.4047,-35.7817C132.7938,-45.3149 133.9922,-54 137,-54 139.2089,-54 140.4419,-49.3161 140.6991,-43.0521\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"140.5953,-35.7817 143.845,-42.736 140.6453,-39.2814 140.6954,-42.781 140.6954,-42.781 140.6954,-42.781 140.6453,-39.2814 137.5457,-42.8261 140.5953,-35.7817 140.5953,-35.7817\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"131.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M131.1479,-35.1418C127.7056,-52.585 129.6563,-72 137,-72 143.3684,-72 145.6812,-57.3996 143.9382,-42.146\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.8521,-35.1418 147.0376,-41.5763 143.3884,-38.6004 143.9248,-42.0591 143.9248,-42.0591 143.9248,-42.0591 143.3884,-38.6004 140.812,-42.5418 142.8521,-35.1418 142.8521,-35.1418\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"129\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"354pt\" height=\"244pt\"\n",
|
|
" viewBox=\"0.00 0.00 354.00 244.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.0 1.0) rotate(0) translate(4 240)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-240 350,-240 350,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"164\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"216\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"129\" y=\"-207.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[gen. Büchi 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"65\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"55\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0,0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.2244,-18C4.383,-18 17.3969,-18 30.8528,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8798,-18 30.8799,-21.1501 34.3798,-18 30.8798,-18.0001 30.8798,-18.0001 30.8798,-18.0001 34.3798,-18 30.8798,-14.8501 37.8798,-18 37.8798,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.1448,-35.4099C55.6785,-45.0879 58.2969,-54 65,-54 69.9226,-54 72.6423,-49.1936 73.1591,-42.8073\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.8552,-35.4099 76.2899,-42.2747 72.9989,-38.9069 73.1426,-42.404 73.1426,-42.404 73.1426,-42.404 72.9989,-38.9069 69.9953,-42.5333 72.8552,-35.4099 72.8552,-35.4099\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"46.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"57\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"189\" cy=\"-88\" rx=\"27\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"179\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0,1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M85.7548,-29.7164C106.6774,-41.5276 139.0687,-59.813 161.9831,-72.7485\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"168.1775,-76.2453 160.5331,-75.5472 165.1296,-74.5247 162.0817,-72.8041 162.0817,-72.8041 162.0817,-72.8041 165.1296,-74.5247 163.6302,-70.061 168.1775,-76.2453 168.1775,-76.2453\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"110\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"119\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"319\" cy=\"-88\" rx=\"27\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"309\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1,1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M92.0179,-15.3093C133.4782,-12.3841 214.2574,-11.5218 274,-41 285.4096,-46.6297 295.4898,-56.4027 303.202,-65.5838\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"307.6886,-71.1815 300.8527,-67.6895 305.4996,-68.4504 303.3106,-65.7194 303.3106,-65.7194 303.3106,-65.7194 305.4996,-68.4504 305.7686,-63.7493 307.6886,-71.1815 307.6886,-71.1815\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M183.4273,-105.7817C182.4803,-115.3149 184.3379,-124 189,-124 192.4237,-124 194.335,-119.3161 194.7337,-113.0521\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"194.5727,-105.7817 197.877,-112.7102 194.6502,-109.2809 194.7277,-112.78 194.7277,-112.78 194.7277,-112.78 194.6502,-109.2809 191.5785,-112.8498 194.5727,-105.7817 194.5727,-105.7817\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"181\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M180.4657,-105.249C174.4091,-126.4346 177.2539,-154 189,-154 199.5072,-154 202.8918,-131.9425 199.1536,-112.1253\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.5343,-105.249 202.205,-111.3406 198.3366,-108.6558 199.1389,-112.0627 199.1389,-112.0627 199.1389,-112.0627 198.3366,-108.6558 196.0727,-112.7847 197.5343,-105.249 197.5343,-105.249\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"189\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M194.9997,-105.8615C201.6466,-122.4762 214.1313,-146.2372 234,-157 249.6317,-165.4676 258.3683,-165.4676 274,-157 291.3851,-147.5825 303.1168,-128.2133 310.231,-112.3876\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"313.0003,-105.8615 313.1656,-113.5358 311.6331,-109.0834 310.2659,-112.3053 310.2659,-112.3053 310.2659,-112.3053 311.6331,-109.0834 307.3662,-111.0748 313.0003,-105.8615 313.0003,-105.8615\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M211.9489,-97.8578C218.9011,-100.3774 226.6461,-102.7315 234,-104 251.5191,-107.0218 256.4809,-107.0218 274,-104 279.0558,-103.1279 284.2965,-101.7427 289.3373,-100.1434\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"296.0511,-97.8578 290.4397,-103.0957 292.7378,-98.9858 289.4246,-100.1137 289.4246,-100.1137 289.4246,-100.1137 292.7378,-98.9858 288.4094,-97.1318 296.0511,-97.8578 296.0511,-97.8578\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"246\" y=\"-109.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M291.8871,-85.8995C285.994,-85.5248 279.7909,-85.1928 274,-85 256.2321,-84.4084 251.7679,-84.4084 234,-85 230.4712,-85.1175 226.7893,-85.2867 223.1178,-85.4857\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"216.1129,-85.8995 222.9149,-82.3421 219.6068,-85.693 223.1007,-85.4866 223.1007,-85.4866 223.1007,-85.4866 219.6068,-85.693 223.2865,-88.6311 216.1129,-85.8995 216.1129,-85.8995\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M305.3336,-71.9784C297.1903,-63.7001 286.1001,-54.4255 274,-50 257.3039,-43.8935 250.6961,-43.8935 234,-50 224.3577,-53.5266 215.3568,-60.1324 207.9773,-66.8595\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"202.6664,-71.9784 205.5204,-64.8525 205.1864,-69.5495 207.7064,-67.1205 207.7064,-67.1205 207.7064,-67.1205 205.1864,-69.5495 209.8925,-69.3885 202.6664,-71.9784 202.6664,-71.9784\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-68.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"246\" y=\"-53.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M313.2476,-105.7817C312.27,-115.3149 314.1875,-124 319,-124 322.5342,-124 324.5071,-119.3161 324.9186,-113.0521\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"324.7524,-105.7817 328.0617,-112.7079 324.8325,-109.2808 324.9125,-112.7799 324.9125,-112.7799 324.9125,-112.7799 324.8325,-109.2808 321.7633,-112.8519 324.7524,-105.7817 324.7524,-105.7817\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"299\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"311\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M310.1904,-105.249C303.9385,-126.4346 306.875,-154 319,-154 329.8462,-154 333.3399,-131.9425 329.4811,-112.1253\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"327.8096,-105.249 332.524,-111.3069 328.6363,-108.65 329.4631,-112.051 329.4631,-112.051 329.4631,-112.051 328.6363,-108.65 326.4022,-112.795 327.8096,-105.249 327.8096,-105.249\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"303\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"319\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"303pt\" height=\"244pt\"\n",
|
|
" viewBox=\"0.00 0.00 303.00 244.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.0 1.0) rotate(0) translate(4 240)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-240 299,-240 299,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"122.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"138.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"174.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"190.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-207.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[gen. Büchi 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<g id=\"a_node2\"><a xlink:title=\"0,0\">\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</a>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-18C4.178,-18 17.9448,-18 30.9241,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-18 30.9808,-21.1501 34.4807,-18 30.9807,-18.0001 30.9807,-18.0001 30.9807,-18.0001 34.4807,-18 30.9807,-14.8501 37.9807,-18 37.9807,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<g id=\"a_node3\"><a xlink:title=\"0,1\">\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"162.5\" cy=\"-88\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"162.5\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</a>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.2589,-28.0293C89.6065,-40.0888 120.5099,-60.4009 141.2011,-74.0007\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"147.2695,-77.9893 139.6897,-76.7768 144.3447,-76.0669 141.4199,-74.1445 141.4199,-74.1445 141.4199,-74.1445 144.3447,-76.0669 143.15,-71.5122 147.2695,-77.9893 147.2695,-77.9893\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"101\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<g id=\"a_node4\"><a xlink:title=\"1,1\">\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"275\" cy=\"-88\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"275\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
"</a>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0755,-15.7322C108.6608,-12.3006 185.511,-9.1273 239,-40 249.2129,-45.8947 257.433,-55.9621 263.4257,-65.3591\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"267.0406,-71.387 260.7389,-67.0039 265.2405,-68.3854 263.4404,-65.3838 263.4404,-65.3838 263.4404,-65.3838 265.2405,-68.3854 266.1418,-63.7637 267.0406,-71.387 267.0406,-71.387\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M157.8583,-105.4099C156.9918,-115.0879 158.5391,-124 162.5,-124 165.4088,-124 167.0159,-119.1936 167.3213,-112.8073\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"167.1417,-105.4099 170.4607,-112.3314 167.2267,-108.9089 167.3117,-112.4078 167.3117,-112.4078 167.3117,-112.4078 167.2267,-108.9089 164.1626,-112.4843 167.1417,-105.4099 167.1417,-105.4099\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144.5\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M155.5017,-104.5959C150.2141,-125.8633 152.5469,-154 162.5,-154 171.4034,-154 174.2091,-131.4854 170.917,-111.5132\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"169.4983,-104.5959 173.9906,-110.8202 170.2015,-108.0245 170.9048,-111.4531 170.9048,-111.4531 170.9048,-111.4531 170.2015,-108.0245 167.819,-112.0861 169.4983,-104.5959 169.4983,-104.5959\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"146.5\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"146.5\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"162.5\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M166.3877,-105.7363C171.0533,-122.2582 180.658,-145.9525 199,-157 214.2288,-166.1724 223.7973,-166.2156 239,-157 254.8314,-147.4033 264.0288,-128.3136 269.1584,-112.6417\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"271.2383,-105.7279 272.2381,-113.3387 270.23,-109.0796 269.2217,-112.4312 269.2217,-112.4312 269.2217,-112.4312 270.23,-109.0796 266.2052,-111.5237 271.2383,-105.7279 271.2383,-105.7279\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"199\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M178.3742,-96.6628C184.6129,-99.6068 191.9573,-102.5242 199,-104 216.3998,-107.6462 221.6095,-107.6905 239,-104 243.4784,-103.0496 248.0762,-101.5023 252.4246,-99.7353\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"258.9997,-96.8317 253.8688,-102.5411 255.798,-98.2456 252.5963,-99.6595 252.5963,-99.6595 252.5963,-99.6595 255.798,-98.2456 251.3238,-96.778 258.9997,-96.8317 258.9997,-96.8317\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"201\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211\" y=\"-109.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M257.0731,-86.2107C251.3086,-85.7146 244.8903,-85.245 239,-85 221.2376,-84.2612 216.7628,-84.2712 199,-85 195.361,-85.1493 191.5231,-85.382 187.7575,-85.6533\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"180.6764,-86.2107 187.4075,-82.521 184.1656,-85.936 187.6548,-85.6612 187.6548,-85.6612 187.6548,-85.6612 184.1656,-85.936 187.9021,-88.8015 180.6764,-86.2107 180.6764,-86.2107\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"201\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M265.0142,-72.4472C258.6857,-64.0962 249.6857,-54.5962 239,-50 222.6689,-42.9755 215.3552,-43.0318 199,-50 190.4529,-53.6415 182.9427,-60.3746 176.9919,-67.1731\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"172.3715,-72.8328 174.3582,-65.4182 174.5849,-70.1215 176.7983,-67.4102 176.7983,-67.4102 176.7983,-67.4102 174.5849,-70.1215 179.2385,-69.4023 172.3715,-72.8328 172.3715,-72.8328\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-68.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211\" y=\"-53.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M270.0012,-105.4099C269.0681,-115.0879 270.7344,-124 275,-124 278.1326,-124 279.8633,-119.1936 280.1921,-112.8073\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"279.9988,-105.4099 283.3307,-112.3252 280.0903,-108.9087 280.1818,-112.4075 280.1818,-112.4075 280.1818,-112.4075 280.0903,-108.9087 277.0329,-112.4899 279.9988,-105.4099 279.9988,-105.4099\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"255\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"267\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M267.4634,-104.5959C261.769,-125.8633 264.2813,-154 275,-154 284.5883,-154 287.6098,-131.4854 284.0645,-111.5132\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"282.5366,-104.5959 287.1223,-110.7517 283.2915,-108.0135 284.0464,-111.4311 284.0464,-111.4311 284.0464,-111.4311 283.2915,-108.0135 280.9706,-112.1106 282.5366,-104.5959 282.5366,-104.5959\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"257\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"259\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"275\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML 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('GF(a <-> Xa)')\n",
|
|
"print(a1.prop_weak())\n",
|
|
"a2 = spot.translate('a U b & GFc')\n",
|
|
"display_inline(a1.show('.t'), a2.show('.t+1'))\n",
|
|
"# the product should display pairs of states, unless asked not to (using '1').\n",
|
|
"p = spot.product(a1, a2)\n",
|
|
"display_inline(p.show('.t'), p.show('.t1'), per_row=2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Explicit determinization after translation:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"169pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 169.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 165,-120.8 165,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"57.5\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-22C4.178,-22 17.9448,-22 30.9241,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-22 30.9808,-25.1501 34.4807,-22 30.9807,-22.0001 30.9807,-22.0001 30.9807,-22.0001 34.4807,-22 30.9807,-18.8501 37.9807,-22 37.9807,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-39.0373C48.3189,-48.8579 50.4453,-58 56,-58 60.166,-58 62.4036,-52.8576 62.7128,-46.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"51.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"139\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"139\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0098,-22C84.4333,-22 97.8048,-22 109.7062,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"116.887,-22 109.887,-25.1501 113.387,-22 109.887,-22.0001 109.887,-22.0001 109.887,-22.0001 113.387,-22 109.8869,-18.8501 116.887,-22 116.887,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M131.3173,-42.9908C130.3688,-53.0872 132.9297,-62 139,-62 143.5527,-62 146.1314,-56.9866 146.7361,-50.2204\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6827,-42.9908 149.8844,-49.9673 146.7086,-46.4907 146.7345,-49.9906 146.7345,-49.9906 146.7345,-49.9906 146.7086,-46.4907 143.5846,-50.0139 146.6827,-42.9908 146.6827,-42.9908\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344049990> >"
|
|
]
|
|
},
|
|
"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": 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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"170pt\" height=\"141pt\"\n",
|
|
" viewBox=\"0.00 0.00 170.00 140.57\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 136.5706)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-136.5706 166,-136.5706 166,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"29\" y=\"-118.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"54\" y=\"-118.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"70\" y=\"-118.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-118.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"129\" y=\"-118.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"52\" y=\"-104.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Rabin 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-30.5706\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-26.8706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-30.5706C4.178,-30.5706 17.9448,-30.5706 30.9241,-30.5706\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-30.5706 30.9808,-33.7207 34.4807,-30.5707 30.9807,-30.5707 30.9807,-30.5707 30.9807,-30.5707 34.4807,-30.5707 30.9807,-27.4207 37.9807,-30.5706 37.9807,-30.5706\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-47.6079C48.3189,-57.4285 50.4453,-66.5706 56,-66.5706 60.166,-66.5706 62.4036,-61.4282 62.7128,-54.7139\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-47.6079 65.8541,-54.4525 62.5434,-51.1041 62.7076,-54.6002 62.7076,-54.6002 62.7076,-54.6002 62.5434,-51.1041 59.561,-54.748 62.3792,-47.6079 62.3792,-47.6079\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"50.5\" y=\"-70.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"144\" cy=\"-30.5706\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"144\" y=\"-26.8706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.7898,-33.7388C83.8247,-35.1596 96.5997,-36.3585 108,-35.5706 111.6058,-35.3214 115.4004,-34.9334 119.1187,-34.4812\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"126.1056,-33.552 119.5819,-37.5974 122.6361,-34.0134 119.1666,-34.4749 119.1666,-34.4749 119.1666,-34.4749 122.6361,-34.0134 118.7513,-31.3524 126.1056,-33.552 126.1056,-33.552\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96.5\" y=\"-54.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-39.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M131.7475,-16.7246C121.5531,-6.97 106.4275,3.5176 92,-1.5706 85.4412,-3.8838 79.1978,-7.9538 73.8077,-12.3263\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"68.3193,-17.1208 71.5187,-10.1432 70.9552,-14.8181 73.5911,-12.5155 73.5911,-12.5155 73.5911,-12.5155 70.9552,-14.8181 75.6635,-14.8878 68.3193,-17.1208 68.3193,-17.1208\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94.5\" y=\"-20.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-5.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M136.3321,-46.8609C134.4831,-56.9598 137.0391,-66.5706 144,-66.5706 149.2207,-66.5706 151.9636,-61.1645 152.2287,-54.201\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"151.6679,-46.8609 155.3421,-53.6006 151.9346,-50.3507 152.2013,-53.8406 152.2013,-53.8406 152.2013,-53.8406 151.9346,-50.3507 149.0604,-54.0806 151.6679,-46.8609 151.6679,-46.8609\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"140.5\" y=\"-85.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136\" y=\"-70.3706\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344101660> >"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.tgba_determinize(a)"
|
|
]
|
|
},
|
|
{
|
|
"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": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"89pt\" height=\"161pt\"\n",
|
|
" viewBox=\"0.00 0.00 89.00 161.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.0 1.0) rotate(0) translate(4 157)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-157 85,-157 85,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"18\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"43\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"59\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"8\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"59.5\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"59.5\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M4.6233,-18C7.678,-18 21.4448,-18 34.4241,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"41.4807,-18 34.4808,-21.1501 37.9807,-18 34.4807,-18.0001 34.4807,-18.0001 34.4807,-18.0001 37.9807,-18 34.4807,-14.8501 41.4807,-18 41.4807,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M56.2643,-35.7817C55.7144,-45.3149 56.793,-54 59.5,-54 61.488,-54 62.5977,-49.3161 62.8292,-43.0521\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.7357,-35.7817 65.9756,-42.7406 62.7808,-39.2814 62.8258,-42.7812 62.8258,-42.7812 62.8258,-42.7812 62.7808,-39.2814 59.6761,-42.8217 62.7357,-35.7817 62.7357,-35.7817\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"56\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M54.1841,-35.4203C51.1538,-52.791 52.9258,-72 59.5,-72 65.2011,-72 67.2908,-57.5545 65.7691,-42.3894\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"64.8159,-35.4203 68.8856,-41.9288 65.2902,-38.888 65.7646,-42.3557 65.7646,-42.3557 65.7646,-42.3557 65.2902,-38.888 62.6437,-42.7826 64.8159,-35.4203 64.8159,-35.4203\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"54\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f83441014e0> >"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('FGa', 'generic', 'deterministic')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Translation to state-based co-Büchi automaton"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"183pt\" height=\"131pt\"\n",
|
|
" viewBox=\"0.00 0.00 182.74 130.74\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 126.7401)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-126.7401 178.7401,-126.7401 178.7401,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"64.8701\" y=\"-108.5401\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"89.8701\" y=\"-108.5401\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"105.8701\" y=\"-108.5401\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"54.8701\" y=\"-94.5401\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"64.8701\" cy=\"-26.8701\" rx=\"26.7407\" ry=\"26.7407\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"60.3701\" y=\"-30.6701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"56.8701\" y=\"-15.6701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.2229,-26.8701C4.3751,-26.8701 17.3629,-26.8701 30.7917,-26.8701\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8045,-26.8701 30.8046,-30.0202 34.3045,-26.8701 30.8045,-26.8702 30.8045,-26.8702 30.8045,-26.8702 34.3045,-26.8701 30.8045,-23.7202 37.8045,-26.8701 37.8045,-26.8701\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" 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\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59.3701\" y=\"-75.5401\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"156.7401\" cy=\"-26.8701\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"156.7401\" y=\"-23.1701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M91.9372,-26.8701C104.3853,-26.8701 119.071,-26.8701 131.3119,-26.8701\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"138.5758,-26.8701 131.5759,-30.0202 135.0758,-26.8701 131.5758,-26.8702 131.5758,-26.8702 131.5758,-26.8702 135.0758,-26.8701 131.5758,-23.7202 138.5758,-26.8701 138.5758,-26.8701\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"111.7401\" y=\"-30.6701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M141.2173,-17.1343C135.0805,-13.8235 127.8129,-10.5397 120.7401,-8.8701 112.2943,-6.8763 103.2853,-8.2006 95.0223,-10.8562\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"88.2856,-13.3564 93.7522,-7.9676 91.5669,-12.1386 94.8482,-10.9208 94.8482,-10.9208 94.8482,-10.9208 91.5669,-12.1386 95.9443,-13.874 88.2856,-13.3564 88.2856,-13.3564\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"109.7401\" y=\"-12.6701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M149.7089,-43.5341C148.1464,-53.4951 150.4901,-62.8701 156.7401,-62.8701 161.4276,-62.8701 163.9178,-57.5966 164.2108,-50.7576\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"163.7714,-43.5341 167.3407,-50.3299 163.9839,-47.0277 164.1965,-50.5212 164.1965,-50.5212 164.1965,-50.5212 163.9839,-47.0277 161.0523,-50.7125 163.7714,-43.5341 163.7714,-43.5341\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153.2401\" y=\"-66.6701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('FGa', 'coBuchi', 'deterministic', 'sbacc').show('.b')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Translation to parity automaton. Specifying just `parity max odd` requires a parity acceptance. Adding `colored` ensures that each transition (or state if `sbacc` is also given) has a color, as people usually expect in parity automata."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"192pt\" height=\"176pt\"\n",
|
|
" viewBox=\"0.00 0.00 192.00 176.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.0 1.0) rotate(0) translate(4 172)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-172 188,-172 188,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"8\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"33\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"49\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"152\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"168\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"34.5\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[parity max odd 3]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"111\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"111\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M56.1233,-18C59.178,-18 72.9448,-18 85.9241,-18\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"92.9807,-18 85.9808,-21.1501 89.4807,-18 85.9807,-18.0001 85.9807,-18.0001 85.9807,-18.0001 89.4807,-18 85.9807,-14.8501 92.9807,-18 92.9807,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M107.7643,-35.7817C107.2144,-45.3149 108.293,-54 111,-54 112.988,-54 114.0977,-49.3161 114.3292,-43.0521\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"114.2357,-35.7817 117.4756,-42.7406 114.2808,-39.2814 114.3258,-42.7812 114.3258,-42.7812 114.3258,-42.7812 114.2808,-39.2814 111.1761,-42.8217 114.2357,-35.7817 114.2357,-35.7817\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M105.9906,-35.5771C102.5451,-56.718 104.2148,-84 111,-84 117.043,-84 119.0285,-62.3596 116.9564,-42.6907\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"116.0094,-35.5771 120.0556,-42.1002 116.4713,-39.0465 116.9332,-42.5159 116.9332,-42.5159 116.9332,-42.5159 116.4713,-39.0465 113.8107,-42.9316 116.0094,-35.5771 116.0094,-35.5771\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"105.5\" y=\"-102.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344056cf0> >"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.translate('FGa', 'parity max odd', 'colored')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Adding an atomic proposition to all edges"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"169pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 169.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 165,-120.8 165,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"57.5\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-22C4.178,-22 17.9448,-22 30.9241,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-22 30.9808,-25.1501 34.4807,-22 30.9807,-22.0001 30.9807,-22.0001 30.9807,-22.0001 34.4807,-22 30.9807,-18.8501 37.9807,-22 37.9807,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-39.0373C48.3189,-48.8579 50.4453,-58 56,-58 60.166,-58 62.4036,-52.8576 62.7128,-46.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"51.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"139\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"139\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0098,-22C84.4333,-22 97.8048,-22 109.7062,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"116.887,-22 109.887,-25.1501 113.387,-22 109.887,-22.0001 109.887,-22.0001 109.887,-22.0001 113.387,-22 109.8869,-18.8501 116.887,-22 116.887,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M131.3173,-42.9908C130.3688,-53.0872 132.9297,-62 139,-62 143.5527,-62 146.1314,-56.9866 146.7361,-50.2204\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6827,-42.9908 149.8844,-49.9673 146.7086,-46.4907 146.7345,-49.9906 146.7345,-49.9906 146.7345,-49.9906 146.7086,-46.4907 143.5846,-50.0139 146.6827,-42.9908 146.6827,-42.9908\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344049990> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"196pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 196.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 192,-120.8 192,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"71\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-22C4.178,-22 17.9448,-22 30.9241,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-22 30.9808,-25.1501 34.4807,-22 30.9807,-22.0001 30.9807,-22.0001 30.9807,-22.0001 34.4807,-22 30.9807,-18.8501 37.9807,-22 37.9807,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-39.0373C48.3189,-48.8579 50.4453,-58 56,-58 60.166,-58 62.4036,-52.8576 62.7128,-46.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"51.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"166\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"166\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"166\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1643,-22C91.1207,-22 116.722,-22 136.5901,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"143.6239,-22 136.6239,-25.1501 140.1239,-22 136.6239,-22.0001 136.6239,-22.0001 136.6239,-22.0001 140.1239,-22 136.6238,-18.8501 143.6239,-22 143.6239,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M155.9332,-41.7575C154.2225,-52.3499 157.5781,-62 166,-62 172.448,-62 175.9262,-56.3433 176.4347,-48.9379\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"176.0668,-41.7575 179.571,-48.5871 176.2459,-45.2529 176.4251,-48.7483 176.4251,-48.7483 176.4251,-48.7483 176.2459,-45.2529 173.2792,-48.9095 176.0668,-41.7575 176.0668,-41.7575\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344049990> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import buddy\n",
|
|
"display(a)\n",
|
|
"b = buddy.bdd_ithvar(a.register_ap('b'))\n",
|
|
"for e in a.edges():\n",
|
|
" e.cond &= b\n",
|
|
"display(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Adding an atomic proposition to the edge between 0 and 1:"
|
|
]
|
|
},
|
|
{
|
|
"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.40.1 (20161225.0304)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"220pt\" height=\"125pt\"\n",
|
|
" viewBox=\"0.00 0.00 220.00 124.80\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 120.8)\">\n",
|
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-120.8 216,-120.8 216,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"83\" y=\"-86.6\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" 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\" fill=\"#000000\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-22C4.178,-22 17.9448,-22 30.9241,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-22 30.9808,-25.1501 34.4807,-22 30.9807,-22.0001 30.9807,-22.0001 30.9807,-22.0001 34.4807,-22 30.9807,-18.8501 37.9807,-22 37.9807,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-39.0373C48.3189,-48.8579 50.4453,-58 56,-58 60.166,-58 62.4036,-52.8576 62.7128,-46.1433\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" 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=\"51.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"190\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#000000\" cx=\"190\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"190\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0718,-22C96.2734,-22 134.2354,-22 160.6448,-22\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"167.7645,-22 160.7646,-25.1501 164.2645,-22 160.7645,-22.0001 160.7645,-22.0001 160.7645,-22.0001 164.2645,-22 160.7645,-18.8501 167.7645,-22 167.7645,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M178.0469,-40.5156C175.3906,-51.5833 179.375,-62 190,-62 198.3008,-62 202.5484,-55.6422 202.743,-47.5831\"/>\n",
|
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"201.9531,-40.5156 205.8612,-47.1224 202.3419,-43.994 202.7307,-47.4723 202.7307,-47.4723 202.7307,-47.4723 202.3419,-43.994 199.6002,-47.8222 201.9531,-40.5156 201.9531,-40.5156\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8344049990> >"
|
|
]
|
|
},
|
|
"execution_count": 29,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"c = buddy.bdd_ithvar(a.register_ap('c'))\n",
|
|
"for e in a.out(0):\n",
|
|
" if e.dst == 1:\n",
|
|
" e.cond &= c\n",
|
|
"a"
|
|
]
|
|
}
|
|
],
|
|
"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.7.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|