This massive set of changes was triggered by issue #546. In addition to the better handling of !weak, this also adds some weak properties in a few places. * spot/twaalgos/product.cc (product_aux): Throw some exception if an automaton with t or f acceptance has the !weak property. This is a cheap sanity check to help detect algorithms that incorrectly assumed !weak input would necessarily become !weak output. * spot/twaalgos/hoa.cc (print_hoa): Likewise, also do not assume that terminal implies very-weak. * spot/parseaut/parseaut.yy: Add several diagnostics for similar cases. E.g., a one-state automaton cannot be declared as !very-weak. * tests/core/parseaut.test: Check those new diagnostics. * spot/twa/twa.cc (twa::intersecting_run): Temporary remove the weak property by setting it to maybe, not to false. * spot/twaalgos/minimize.cc, spot/twaalgos/parity.cc, spot/twaalgos/sccfilter.cc, spot/twaalgos/simulation.cc: Account for the fact that these algorithm may in fact improve the weakness. * spot/twaalgos/strength.cc: Only look at colors used by the acceptance condition when deciding weakness. * spot/twaalgos/synthesis.cc: Declare the strategy as weak. * bin/randaut.cc: Add weak to automata with t/f acceptance. * spot/kripke/kripke.hh: Make kripke structures as weak. * tests/core/acc_word.test, tests/core/alternating.test, tests/core/complement.test, tests/core/complete.test, tests/core/ltlsynt.test, tests/core/randomize.test, tests/core/readsave.test, tests/core/remfin.test, tests/core/sccsimpl.test, tests/core/strength.test, tests/core/wdba2.test, tests/ltsmin/kripke.test, tests/python/automata-io.ipynb, tests/python/automata.ipynb, tests/python/dbranch.py, tests/python/highlighting.ipynb, tests/python/kripke.py, tests/python/ltsmin-dve.ipynb, tests/python/mealy.py, tests/python/simstate.py: Adjust all these test cases. * NEWS: Mention the fixes.
3714 lines
234 KiB
Text
3714 lines
234 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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"460pt\" height=\"312pt\"\n",
|
|
" viewBox=\"0.00 0.00 460.00 312.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 308)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-308 456,-308 456,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"204.5\" y=\"-288.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" 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\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-120C2.79,-120 17.15,-120 30.63,-120\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-120 30.94,-123.15 34.44,-120 30.94,-120 30.94,-120 30.94,-120 34.44,-120 30.94,-116.85 37.94,-120 37.94,-120\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-137.04C48.32,-146.86 50.45,-156 56,-156 60.17,-156 62.4,-150.86 62.71,-144.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-137.04 65.85,-143.88 62.54,-140.53 62.71,-144.03 62.71,-144.03 62.71,-144.03 62.54,-140.53 59.56,-144.18 62.38,-137.04 62.38,-137.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"189\" cy=\"-214\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"189\" cy=\"-214\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"189\" y=\"-210.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M68.18,-133.55C74.68,-140.97 83.3,-150.04 92,-157 114.27,-174.8 142.64,-190.97 162.75,-201.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"168.97,-204.71 161.3,-204.29 165.86,-203.1 162.75,-201.5 162.75,-201.5 162.75,-201.5 165.86,-203.1 164.19,-198.7 168.97,-204.71 168.97,-204.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\">b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"326\" cy=\"-157\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"326\" y=\"-153.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.17,-122.37C120.4,-128.75 247.6,-146.31 300.95,-153.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"307.97,-154.65 300.61,-156.81 304.5,-154.17 301.04,-153.69 301.04,-153.69 301.04,-153.69 304.5,-154.17 301.47,-150.57 307.97,-154.65 307.97,-154.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\">b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"434\" cy=\"-222\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"434\" y=\"-218.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.75,-116.58C119.38,-108.07 248.82,-89.46 344,-130 377.64,-144.33 404.8,-178.24 419.92,-200.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"423.86,-206.63 417.38,-202.52 421.93,-203.71 420.01,-200.79 420.01,-200.79 420.01,-200.79 421.93,-203.71 422.64,-199.05 423.86,-206.63 423.86,-206.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"229\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">b & !c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"189\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"189\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.05,-103.9C71.24,-92.75 80.64,-78.15 92,-68 113.65,-48.65 144.15,-34.44 164.92,-26.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.56,-23.66 166.16,-29.12 168.29,-24.92 165.03,-26.18 165.03,-26.18 165.03,-26.18 168.29,-24.92 163.9,-23.24 171.56,-23.66 171.56,-23.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100.5\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.05,-232.52C174.39,-243.58 178.38,-254 189,-254 197.3,-254 201.55,-247.64 201.74,-239.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"200.95,-232.52 204.86,-239.12 201.34,-235.99 201.73,-239.47 201.73,-239.47 201.73,-239.47 201.34,-235.99 198.6,-239.82 200.95,-232.52 200.95,-232.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-257.8\" font-family=\"Lato\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.12,-212.8C232.23,-210.84 265.05,-205.66 290,-192 297.27,-188.02 304.03,-182.07 309.64,-176.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"314.44,-170.89 312.08,-178.19 312.09,-173.48 309.74,-176.08 309.74,-176.08 309.74,-176.08 312.09,-173.48 307.41,-173.97 314.44,-170.89 314.44,-170.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"253.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M201.34,-232.6C208.12,-241.95 217.63,-252.44 229,-258 274.97,-280.45 292.9,-265.36 344,-263 368.08,-261.89 376.25,-268.39 398,-258 405.71,-254.32 412.64,-248.18 418.27,-242\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"423.05,-236.39 420.91,-243.76 420.78,-239.05 418.51,-241.72 418.51,-241.72 418.51,-241.72 420.78,-239.05 416.11,-239.68 423.05,-236.39 423.05,-236.39\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"308\" y=\"-269.8\" font-family=\"Lato\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M307.66,-156.66C287.58,-156.96 254.08,-159.7 229,-173 220.86,-177.32 213.46,-183.97 207.34,-190.67\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"202.51,-196.26 204.7,-188.9 204.8,-193.61 207.08,-190.96 207.08,-190.96 207.08,-190.96 204.8,-193.61 209.47,-193.02 202.51,-196.26 202.51,-196.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"243.5\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M316.77,-172.54C314.17,-182.91 317.25,-193 326,-193 332.7,-193 336.08,-187.08 336.12,-179.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"335.23,-172.54 339.23,-179.1 335.67,-176.01 336.1,-179.49 336.1,-179.49 336.1,-179.49 335.67,-176.01 332.98,-179.88 335.23,-172.54 335.23,-172.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M341.74,-166.04C360.09,-177.29 391.55,-196.58 412.31,-209.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"418.39,-213.04 410.77,-212.06 415.4,-211.21 412.42,-209.38 412.42,-209.38 412.42,-209.38 415.4,-211.21 414.07,-206.69 418.39,-213.04 418.39,-213.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"362\" y=\"-202.8\" font-family=\"Lato\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M416.16,-225.02C381.02,-230.79 297.46,-241.71 229,-229 224.8,-228.22 220.46,-227 216.28,-225.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"209.43,-223.08 217.09,-222.54 212.72,-224.29 216,-225.49 216,-225.49 216,-225.49 212.72,-224.29 214.92,-228.45 209.43,-223.08 209.43,-223.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"322.5\" y=\"-237.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M424.77,-237.54C422.17,-247.91 425.25,-258 434,-258 440.7,-258 444.08,-252.08 444.12,-244.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"443.23,-237.54 447.23,-244.1 443.67,-241.01 444.1,-244.49 444.1,-244.49 444.1,-244.49 443.67,-241.01 440.98,-244.88 443.23,-237.54 443.23,-237.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"428.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.76,-32.42C173.83,-43.17 177.58,-54 189,-54 197.92,-54 202.16,-47.39 201.72,-39.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"200.24,-32.42 204.78,-38.61 200.97,-35.84 201.7,-39.26 201.7,-39.26 201.7,-39.26 200.97,-35.84 198.61,-39.92 200.24,-32.42 200.24,-32.42\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"189\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f773078f870> >"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.translate('(a U b) & GFc & GFd', 'Buchi', 'state-based', '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 explicitly. 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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"358pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 358.10 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.9615384615384615 0.9615384615384615) rotate(0) translate(4 370)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-370 368.02,-370 368.02,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"182.01\" y=\"-350.8\" font-family=\"Times,serif\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"235.02\" cy=\"-287\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"235.02\" y=\"-283.3\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M235.02,-341.85C235.02,-340.21 235.02,-325.85 235.02,-312.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"235.02,-305.06 238.17,-312.06 235.02,-308.56 235.02,-312.06 235.02,-312.06 235.02,-312.06 235.02,-308.56 231.87,-312.06 235.02,-305.06 235.02,-305.06\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M252.06,-293.38C261.88,-294.68 271.02,-292.55 271.02,-287 271.02,-282.83 265.88,-280.6 259.16,-280.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"252.06,-280.62 258.9,-277.15 255.55,-280.46 259.05,-280.29 259.05,-280.29 259.05,-280.29 255.55,-280.46 259.2,-283.44 252.06,-280.62 252.06,-280.62\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"294.02\" y=\"-283.3\" font-family=\"Times,serif\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"83.02\" cy=\"-196\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"83.02\" cy=\"-196\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"83.02\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M217.12,-284.97C191.7,-282.65 144.81,-275.17 114.02,-251 104.95,-243.88 98.06,-233.32 93.11,-223.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"90.12,-217.06 95.95,-222.06 91.61,-220.23 93.09,-223.4 93.09,-223.4 93.09,-223.4 91.61,-220.23 90.24,-224.74 90.12,-217.06 90.12,-217.06\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"149.02\" y=\"-239.8\" font-family=\"Times,serif\" font-size=\"14.00\">b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"135.02\" cy=\"-105\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"135.02\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M229,-269.97C216.48,-237.07 187.54,-163.14 172.02,-141 167.12,-134.02 160.66,-127.33 154.51,-121.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"149.01,-116.85 156.34,-119.11 151.63,-119.17 154.26,-121.48 154.26,-121.48 154.26,-121.48 151.63,-119.17 152.18,-123.84 149.01,-116.85 149.01,-116.85\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"231.02\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\">b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"108.02\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"108.02\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M243.11,-270.52C253.43,-248.66 268.74,-207.67 258.02,-174 238.2,-111.72 221.97,-97.3 173.02,-54 160.68,-43.08 144.33,-34.3 131.12,-28.27\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"124.54,-25.36 132.22,-25.3 127.74,-26.77 130.94,-28.19 130.94,-28.19 130.94,-28.19 127.74,-26.77 129.67,-31.07 124.54,-25.36 124.54,-25.36\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"289.02\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\">b & !c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"318.02\" cy=\"-196\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"318.02\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M250.62,-277.72C261.46,-271.42 275.75,-261.98 286.02,-251 294.69,-241.73 302.1,-229.72 307.6,-219.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"310.93,-212.87 310.54,-220.53 309.33,-215.98 307.74,-219.1 307.74,-219.1 307.74,-219.1 309.33,-215.98 304.93,-217.66 310.93,-212.87 310.93,-212.87\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"323.02\" y=\"-239.8\" font-family=\"Times,serif\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M103.6,-204.37C113.87,-205.53 123.02,-202.74 123.02,-196 123.02,-190.95 117.87,-188.11 110.97,-187.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"103.6,-187.63 110.55,-184.36 107.1,-187.57 110.6,-187.51 110.6,-187.51 110.6,-187.51 107.1,-187.57 110.66,-190.66 103.6,-187.63 103.6,-187.63\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"142.52\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M89.91,-175.09C93.93,-164.59 99.5,-151.7 106.02,-141 109.58,-135.16 114.05,-129.26 118.41,-124.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"123.05,-118.61 120.88,-125.98 120.77,-121.27 118.49,-123.93 118.49,-123.93 118.49,-123.93 120.77,-121.27 116.1,-121.87 123.05,-118.61 123.05,-118.61\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"114.02\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.14,-183.69C35.05,-164.73 -15.36,-124.88 5.02,-87 21.73,-55.95 59.5,-36.73 84.37,-26.95\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"91.01,-24.44 85.57,-29.86 87.74,-25.68 84.46,-26.91 84.46,-26.91 84.46,-26.91 87.74,-25.68 83.35,-23.97 91.01,-24.44 91.01,-24.44\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"27.52\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M132.88,-123.06C131.08,-133.15 127.81,-145.88 122.02,-156 117.64,-163.66 111.35,-170.86 105.1,-176.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"99.91,-181.77 102.89,-174.7 102.47,-179.39 105.04,-177 105.04,-177 105.04,-177 102.47,-179.39 107.18,-179.31 99.91,-181.77 99.91,-181.77\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"148.52\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M151.69,-112.38C161.65,-114.02 171.02,-111.56 171.02,-105 171.02,-100.08 165.75,-97.46 158.91,-97.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.69,-97.62 158.47,-94.03 155.18,-97.39 158.67,-97.17 158.67,-97.17 158.67,-97.17 155.18,-97.39 158.87,-100.31 151.69,-97.62 151.69,-97.62\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"179.02\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M129.82,-87.61C125.71,-74.68 119.92,-56.47 115.35,-42.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"113.21,-35.34 118.33,-41.06 114.27,-38.67 115.33,-42.01 115.33,-42.01 115.33,-42.01 114.27,-38.67 112.33,-42.96 113.21,-35.34 113.21,-35.34\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"146.52\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M105.62,-35.92C101.31,-66.27 92.22,-130.21 86.98,-167.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"85.99,-174.12 83.85,-166.75 86.48,-170.65 86.97,-167.19 86.97,-167.19 86.97,-167.19 86.48,-170.65 90.09,-167.63 85.99,-174.12 85.99,-174.12\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"102.02\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M124.69,-25.38C134.65,-27.02 144.02,-24.56 144.02,-18 144.02,-13.08 138.75,-10.46 131.91,-10.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"124.69,-10.62 131.47,-7.03 128.18,-10.39 131.67,-10.17 131.67,-10.17 131.67,-10.17 128.18,-10.39 131.87,-13.31 124.69,-10.62 124.69,-10.62\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"151.02\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M334.31,-204.02C344.41,-205.95 354.02,-203.28 354.02,-196 354.02,-190.54 348.61,-187.67 341.65,-187.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.31,-187.98 341.04,-184.29 337.8,-187.7 341.29,-187.43 341.29,-187.43 341.29,-187.43 337.8,-187.7 341.54,-190.57 334.31,-187.98 334.31,-187.98\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"359.02\" y=\"-192.3\" font-family=\"Times,serif\" font-size=\"14.00\">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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"415pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 414.84 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.8849557522123894 0.8849557522123894) rotate(0) translate(4 403)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-403 465,-403 465,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"210\" y=\"-384.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"231\" y=\"-384.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"247\" y=\"-384.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"209\" y=\"-370.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"159.5,-153 159.5,-355 453,-355 453,-153 159.5,-153\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"grey\" points=\"159.5,-8 159.5,-93 211.5,-93 211.5,-8 159.5,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-110 30,-195 82,-195 82,-110 30,-110\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-136\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-132.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-136C2.79,-136 17.15,-136 30.63,-136\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-136 30.94,-139.15 34.44,-136 30.94,-136 30.94,-136 30.94,-136 34.44,-136 30.94,-132.85 37.94,-136 37.94,-136\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-153.04C48.32,-162.86 50.45,-172 56,-172 60.17,-172 62.4,-166.86 62.71,-160.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-153.04 65.85,-159.88 62.54,-156.53 62.71,-160.03 62.71,-160.03 62.71,-160.03 62.54,-156.53 59.56,-160.18 62.38,-153.04 62.38,-153.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"185.5\" cy=\"-245\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185.5\" y=\"-241.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M68.53,-149.14C75.14,-156.43 83.75,-165.51 92,-173 115.65,-194.48 145.09,-216.7 164.31,-230.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"170.18,-234.9 162.66,-233.35 167.34,-232.85 164.5,-230.8 164.5,-230.8 164.5,-230.8 167.34,-232.85 166.35,-228.25 170.18,-234.9 170.18,-234.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"319\" cy=\"-179\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"319\" y=\"-175.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.02,-138.74C111.69,-144.82 204.97,-159.92 283,-173 286.56,-173.6 290.32,-174.23 294,-174.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"300.91,-176.04 293.48,-177.97 297.46,-175.45 294.01,-174.86 294.01,-174.86 294.01,-174.86 297.46,-175.45 294.55,-171.76 300.91,-176.04 300.91,-176.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-163.8\" font-family=\"Lato\" font-size=\"14.00\">b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"427\" cy=\"-212\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"427\" y=\"-208.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.11,-133.61C118.95,-128.04 242.93,-117.18 337,-152 363.85,-161.94 390.53,-181.56 407.57,-195.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"412.96,-200.21 405.58,-198.1 410.29,-197.95 407.61,-195.7 407.61,-195.7 407.61,-195.7 410.29,-197.95 409.64,-193.29 412.96,-200.21 412.96,-200.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"222\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">b & !c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"185.5\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185.5\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.1,-119.95C71.31,-108.83 80.72,-94.24 92,-84 112.68,-65.23 141.67,-51.04 161.66,-42.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"168.32,-39.94 163.03,-45.5 165.08,-41.26 161.84,-42.58 161.84,-42.58 161.84,-42.58 165.08,-41.26 160.65,-39.67 168.32,-39.94 168.32,-39.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100.5\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M174.79,-259.79C171.31,-270.42 174.88,-281 185.5,-281 193.63,-281 197.63,-274.8 197.5,-267.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.21,-259.79 200.52,-266.14 196.81,-263.24 197.42,-266.69 197.42,-266.69 197.42,-266.69 196.81,-263.24 194.32,-267.23 196.21,-259.79 196.21,-259.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169.5\" y=\"-299.8\" font-family=\"Lato\" font-size=\"14.00\">c & d</text>\n",
|
|
"<text text-anchor=\"start\" x=\"177.5\" y=\"-284.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=\"black\" d=\"M193.27,-228.64C199.09,-216.75 208.65,-201.34 222,-193 243.63,-179.49 273.25,-177.06 293.85,-177.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"301,-177.54 293.91,-180.49 297.5,-177.44 294,-177.34 294,-177.34 294,-177.34 297.5,-177.44 294.09,-174.19 301,-177.54 301,-177.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"246.5\" y=\"-211.8\" font-family=\"Lato\" font-size=\"14.00\">!d</text>\n",
|
|
"<text text-anchor=\"start\" x=\"244.5\" y=\"-196.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=\"black\" d=\"M201.57,-253.49C207.7,-256.49 214.99,-259.49 222,-261 248.51,-266.7 256.26,-265.45 283,-261 327.15,-253.65 375.94,-234.34 403.59,-222.28\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"410.15,-219.38 405.03,-225.09 406.95,-220.79 403.75,-222.21 403.75,-222.21 403.75,-222.21 406.95,-220.79 402.48,-219.33 410.15,-219.38 410.15,-219.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-274.8\" font-family=\"Lato\" font-size=\"14.00\">!c & d</text>\n",
|
|
"<text text-anchor=\"start\" x=\"311\" y=\"-259.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=\"black\" d=\"M309.27,-194.71C303.14,-204.31 294.07,-216.04 283,-223 261.11,-236.77 231.6,-241.95 211,-243.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"203.84,-244.46 210.57,-240.76 207.33,-244.18 210.82,-243.9 210.82,-243.9 210.82,-243.9 207.33,-244.18 211.07,-247.04 203.84,-244.46 203.84,-244.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\">c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M309.77,-194.54C307.17,-204.91 310.25,-215 319,-215 325.7,-215 329.08,-209.08 329.12,-201.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"328.23,-194.54 332.23,-201.1 328.67,-198.01 329.1,-201.49 329.1,-201.49 329.1,-201.49 328.67,-198.01 325.98,-201.88 328.23,-194.54 328.23,-194.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-218.8\" font-family=\"Lato\" font-size=\"14.00\">!d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M336.56,-184.16C354.38,-189.7 382.83,-198.56 402.86,-204.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"409.55,-206.88 401.93,-207.81 406.21,-205.84 402.87,-204.8 402.87,-204.8 402.87,-204.8 406.21,-205.84 403.81,-201.79 409.55,-206.88 409.55,-206.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"355\" y=\"-203.8\" font-family=\"Lato\" font-size=\"14.00\">!c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M415.53,-226.04C400.55,-244.81 371.04,-277.2 337,-290 291.2,-307.23 235.67,-278.2 206.55,-259.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"200.41,-255.2 207.98,-256.46 203.32,-257.14 206.23,-259.08 206.23,-259.08 206.23,-259.08 203.32,-257.14 204.48,-261.71 200.41,-255.2 200.41,-255.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"315.5\" y=\"-298.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M417.77,-227.54C415.17,-237.91 418.25,-248 427,-248 433.7,-248 437.08,-242.08 437.12,-234.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"436.23,-227.54 440.23,-234.1 436.67,-231.01 437.1,-234.49 437.1,-234.49 437.1,-234.49 436.67,-231.01 433.98,-234.88 436.23,-227.54 436.23,-227.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"421.5\" y=\"-251.8\" font-family=\"Lato\" font-size=\"14.00\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M174.79,-48.79C171.31,-59.42 174.88,-70 185.5,-70 193.63,-70 197.63,-63.8 197.5,-56.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.21,-48.79 200.52,-55.14 196.81,-52.24 197.42,-55.69 197.42,-55.69 197.42,-55.69 196.81,-52.24 194.32,-56.23 196.21,-48.79 196.21,-48.79\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\">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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"170pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 170.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 166,-104 166,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59.5\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-22C2.79,-22 17.15,-22 30.63,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-22 30.94,-25.15 34.44,-22 30.94,-22 30.94,-22 30.94,-22 34.44,-22 30.94,-18.85 37.94,-22 37.94,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-39.04C48.32,-48.86 50.45,-58 56,-58 60.17,-58 62.4,-52.86 62.71,-46.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-39.04 65.85,-45.88 62.54,-42.53 62.71,-46.03 62.71,-46.03 62.71,-46.03 62.54,-42.53 59.56,-46.18 62.38,-39.04 62.38,-39.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"140\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"140\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"140\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.39,-22C84.9,-22 98.55,-22 110.6,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"117.85,-22 110.85,-25.15 114.35,-22 110.85,-22 110.85,-22 110.85,-22 114.35,-22 110.85,-18.85 117.85,-22 117.85,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.99,-42.58C130.89,-52.84 133.55,-62 140,-62 144.83,-62 147.54,-56.85 148.13,-49.95\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.01,-42.58 151.27,-49.53 148.06,-46.08 148.12,-49.58 148.12,-49.58 148.12,-49.58 148.06,-46.08 144.97,-49.63 148.01,-42.58 148.01,-42.58\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"140\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307ac6c0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"170pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 170.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 166,-104 166,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59.5\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-22C2.79,-22 17.15,-22 30.63,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-22 30.94,-25.15 34.44,-22 30.94,-22 30.94,-22 30.94,-22 34.44,-22 30.94,-18.85 37.94,-22 37.94,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-39.04C48.32,-48.86 50.45,-58 56,-58 60.17,-58 62.4,-52.86 62.71,-46.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-39.04 65.85,-45.88 62.54,-42.53 62.71,-46.03 62.71,-46.03 62.71,-46.03 62.54,-42.53 59.56,-46.18 62.38,-39.04 62.38,-39.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"140\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"140\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"140\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.39,-22C84.9,-22 98.55,-22 110.6,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"117.85,-22 110.85,-25.15 114.35,-22 110.85,-22 110.85,-22 110.85,-22 114.35,-22 110.85,-18.85 117.85,-22 117.85,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.99,-42.58C130.89,-52.84 133.55,-62 140,-62 144.83,-62 147.54,-56.85 148.13,-49.95\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.01,-42.58 151.27,-49.53 148.06,-46.08 148.12,-49.58 148.12,-49.58 148.12,-49.58 148.06,-46.08 144.97,-49.63 148.01,-42.58 148.01,-42.58\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"140\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307ac840> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"162pt\" height=\"115pt\"\n",
|
|
" viewBox=\"0.00 0.00 162.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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-111 158,-111 158,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"74\" y=\"-91.8\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"66\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-35.04C48.32,-44.86 50.45,-54 56,-54 60.17,-54 62.4,-48.86 62.71,-42.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-35.04 65.85,-41.88 62.54,-38.53 62.71,-42.03 62.71,-42.03 62.71,-42.03 62.54,-38.53 59.56,-42.18 62.38,-35.04 62.38,-35.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"136\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"136\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.31,-18C85.02,-18 98.92,-18 110.71,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"117.74,-18 110.74,-21.15 114.24,-18 110.74,-18 110.74,-18 110.74,-18 114.24,-18 110.74,-14.85 117.74,-18 117.74,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M128.97,-34.66C127.41,-44.62 129.75,-54 136,-54 140.69,-54 143.18,-48.73 143.47,-41.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"143.03,-34.66 146.6,-41.46 143.24,-38.16 143.46,-41.65 143.46,-41.65 143.46,-41.65 143.24,-38.16 140.31,-41.84 143.03,-34.66 143.03,-34.66\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"136\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307ac930> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"252pt\" height=\"200pt\"\n",
|
|
" viewBox=\"0.00 0.00 252.00 200.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 196)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-196 248,-196 248,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100.5\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" 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\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M109,-167.85C109,-166.21 109,-151.85 109,-138.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"109,-131.06 112.15,-138.06 109,-134.56 109,-138.06 109,-138.06 109,-138.06 109,-134.56 105.85,-138.06 109,-131.06 109,-131.06\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"22\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" 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\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M96.9,-99.62C82.69,-85.08 58.89,-60.73 41.93,-43.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"36.91,-38.25 44.05,-41.05 39.35,-40.75 41.8,-43.25 41.8,-43.25 41.8,-43.25 39.35,-40.75 39.55,-45.46 36.91,-38.25 36.91,-38.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"74\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"109\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" 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\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M109,-94.84C109,-82.54 109,-65.68 109,-51.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"109,-44.19 112.15,-51.19 109,-47.69 109,-51.19 109,-51.19 109,-51.19 109,-47.69 105.85,-51.19 109,-44.19 109,-44.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"109\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"197\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"197\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"197\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M121.24,-99.62C135.62,-85.08 159.69,-60.73 176.84,-43.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"181.92,-38.25 179.24,-45.44 179.46,-40.74 177,-43.23 177,-43.23 177,-43.23 179.46,-40.74 174.76,-41.01 181.92,-38.25 181.92,-38.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M42.58,-30.37C52.84,-31.53 62,-28.74 62,-22 62,-16.95 56.85,-14.11 49.95,-13.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"42.58,-13.63 49.52,-10.36 46.08,-13.57 49.58,-13.51 49.58,-13.51 49.58,-13.51 46.08,-13.57 49.63,-16.66 42.58,-13.63 42.58,-13.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"62\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M129.58,-30.37C139.84,-31.53 149,-28.74 149,-22 149,-16.95 143.85,-14.11 136.95,-13.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"129.58,-13.63 136.52,-10.36 133.08,-13.57 136.58,-13.51 136.58,-13.51 136.58,-13.51 133.08,-13.57 136.63,-16.66 129.58,-13.63 129.58,-13.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M217.58,-30.37C227.84,-31.53 237,-28.74 237,-22 237,-16.95 231.85,-14.11 224.95,-13.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"217.58,-13.63 224.52,-10.36 221.08,-13.57 224.58,-13.51 224.58,-13.51 224.58,-13.51 221.08,-13.57 224.63,-16.66 217.58,-13.63 217.58,-13.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"237\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">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('buchi', 'state-based', '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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"586pt\" height=\"303pt\"\n",
|
|
" viewBox=\"0.00 0.00 585.88 303.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 299)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-299 581.88,-299 581.88,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"267.44\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"283.88\" cy=\"-212\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"283.88\" cy=\"-212\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"283.88\" y=\"-208.3\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->6 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M283.88,-270.83C283.88,-269.16 283.88,-255.12 283.88,-241.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"283.88,-234.14 287.03,-241.14 283.88,-237.64 283.88,-241.14 283.88,-241.14 283.88,-241.14 283.88,-237.64 280.73,-241.14 283.88,-234.14 283.88,-234.14\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M304.87,-219.32C314.97,-220.22 323.88,-217.78 323.88,-212 323.88,-207.66 318.87,-205.21 312.1,-204.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"304.87,-204.68 311.85,-201.48 308.37,-204.66 311.87,-204.63 311.87,-204.63 311.87,-204.63 308.37,-204.66 311.9,-207.78 304.87,-204.68 304.87,-204.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"323.88\" y=\"-208.3\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"96.88\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"96.88\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"96.88\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>6->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M261.73,-208.65C201.89,-201.81 39.37,-179.75 7.88,-139 -20.31,-102.5 36.35,-59.38 71.61,-37.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"77.93,-33.57 73.59,-39.91 74.94,-35.4 71.95,-37.22 71.95,-37.22 71.95,-37.22 74.94,-35.4 70.31,-34.53 77.93,-33.57 77.93,-33.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"7.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"321.88\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"321.88\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"321.88\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->1 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>6->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M296.7,-193.99C300.98,-187.44 305.31,-179.69 307.88,-172 321.33,-131.79 323.32,-82.31 323,-51.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.87,-44.35 326.14,-51.3 322.93,-47.85 322.99,-51.35 322.99,-51.35 322.99,-51.35 322.93,-47.85 319.84,-51.4 322.87,-44.35 322.87,-44.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"471.88\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"471.88\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"471.88\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>6->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M306.14,-211.9C353.18,-212.4 462.08,-205.94 506.88,-139 526.19,-110.15 506.06,-70.3 489.32,-45.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"485.16,-39.68 491.76,-43.6 487.17,-42.54 489.18,-45.41 489.18,-45.41 489.18,-45.41 487.17,-42.54 486.6,-47.22 485.16,-39.68 485.16,-39.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"513.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"102.88\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"102.88\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"102.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M262.8,-205.63C240.04,-199.36 203.12,-187.8 173.88,-172 156,-162.34 137.79,-148.39 124.29,-137.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"118.81,-132.43 126.18,-134.56 121.48,-134.69 124.14,-136.96 124.14,-136.96 124.14,-136.96 121.48,-134.69 122.1,-139.36 118.81,-132.43 118.81,-132.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"173.88\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"214.88\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"214.88\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"214.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.43,-195.68C261.77,-188.73 254.1,-180.23 247.88,-172 241,-162.88 234.26,-152.26 228.69,-142.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"225.03,-136.58 231.27,-141.05 226.79,-139.61 228.55,-142.63 228.55,-142.63 228.55,-142.63 226.79,-139.61 225.83,-144.22 225.03,-136.58 225.03,-136.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"247.88\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"425.88\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"425.88\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"425.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M301.87,-199.22C327.12,-182.68 373.17,-152.52 401.49,-133.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"407.6,-129.98 403.47,-136.45 404.67,-131.89 401.74,-133.81 401.74,-133.81 401.74,-133.81 404.67,-131.89 400.02,-131.18 407.6,-129.98 407.6,-129.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"362.88\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">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=\"black\" d=\"M117.46,-30.37C127.73,-31.53 136.88,-28.74 136.88,-22 136.88,-16.95 131.73,-14.11 124.83,-13.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"117.46,-13.63 124.41,-10.36 120.96,-13.57 124.46,-13.51 124.46,-13.51 124.46,-13.51 120.96,-13.57 124.52,-16.66 117.46,-13.63 117.46,-13.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"136.88\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M342.46,-30.37C352.73,-31.53 361.88,-28.74 361.88,-22 361.88,-16.95 356.73,-14.11 349.83,-13.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"342.46,-13.63 349.41,-10.36 345.96,-13.57 349.46,-13.51 349.46,-13.51 349.46,-13.51 345.96,-13.57 349.52,-16.66 342.46,-13.63 342.46,-13.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"361.88\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M492.46,-30.37C502.73,-31.53 511.88,-28.74 511.88,-22 511.88,-16.95 506.73,-14.11 499.83,-13.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"492.46,-13.63 499.41,-10.36 495.96,-13.57 499.46,-13.51 499.46,-13.51 499.46,-13.51 495.96,-13.57 499.52,-16.66 492.46,-13.63 492.46,-13.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"511.88\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M99.76,-94.99C99.02,-89.18 98.31,-82.85 97.88,-77 97.27,-68.61 96.96,-59.47 96.82,-51.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"96.74,-44.05 99.97,-51.02 96.78,-47.55 96.82,-51.05 96.82,-51.05 96.82,-51.05 96.78,-47.55 93.67,-51.09 96.74,-44.05 96.74,-44.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"97.88\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">!b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M116.32,-99.46C128.01,-85.47 144.37,-66.93 152.88,-62 197.27,-36.27 257.43,-27.51 292.71,-24.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"299.85,-23.98 293.11,-27.66 296.36,-24.25 292.87,-24.52 292.87,-24.52 292.87,-24.52 296.36,-24.25 292.63,-21.38 299.85,-23.98 299.85,-23.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"152.88\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M123.46,-125.37C133.73,-126.53 142.88,-123.74 142.88,-117 142.88,-111.95 137.73,-109.11 130.83,-108.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"123.46,-108.63 130.41,-105.36 126.96,-108.57 130.46,-108.51 130.46,-108.51 130.46,-108.51 126.96,-108.57 130.52,-111.66 123.46,-108.63 123.46,-108.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"142.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.61,-95.34C207.38,-84.24 201.91,-71.01 192.88,-62 174.59,-43.72 146.57,-33.68 125.52,-28.38\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"118.67,-26.76 126.21,-25.3 122.07,-27.56 125.48,-28.37 125.48,-28.37 125.48,-28.37 122.07,-27.56 124.76,-31.43 118.67,-26.76 118.67,-26.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"202.88\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M235.16,-107.56C261.77,-96.58 310.02,-77.04 351.88,-62 383.22,-50.74 419.65,-39.11 444.07,-31.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"450.94,-29.38 445.19,-34.46 447.6,-30.42 444.25,-31.45 444.25,-31.45 444.25,-31.45 447.6,-30.42 443.32,-28.44 450.94,-29.38 450.94,-29.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"351.88\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M235.46,-125.37C245.73,-126.53 254.88,-123.74 254.88,-117 254.88,-111.95 249.73,-109.11 242.83,-108.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"235.46,-108.63 242.41,-105.36 238.96,-108.57 242.46,-108.51 242.46,-108.51 242.46,-108.51 238.96,-108.57 242.52,-111.66 235.46,-108.63 235.46,-108.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"254.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>5->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M416.48,-96.87C410.32,-85.72 401.46,-71.95 390.88,-62 378.57,-50.41 362.18,-40.96 348.46,-34.27\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.97,-31.21 349.65,-31.34 345.14,-32.7 348.3,-34.19 348.3,-34.19 348.3,-34.19 345.14,-32.7 346.96,-37.04 341.97,-31.21 341.97,-31.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"402.88\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>5->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M437.75,-98.1C441.84,-91.59 446.29,-84.09 449.88,-77 454.33,-68.22 458.58,-58.32 462.13,-49.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.7,-42.84 465.09,-50.51 463.43,-46.1 462.15,-49.36 462.15,-49.36 462.15,-49.36 463.43,-46.1 459.22,-48.21 464.7,-42.84 464.7,-42.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"455.88\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.46,-125.37C456.73,-126.53 465.88,-123.74 465.88,-117 465.88,-111.95 460.73,-109.11 453.83,-108.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"446.46,-108.63 453.41,-105.36 449.96,-108.57 453.46,-108.51 453.46,-108.51 453.46,-108.51 449.96,-108.57 453.52,-111.66 446.46,-108.63 446.46,-108.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"465.88\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">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('buchi', 'state-based', '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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"420pt\" height=\"329pt\"\n",
|
|
" viewBox=\"0.00 0.00 420.00 329.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 325)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-325 416,-325 416,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-306.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"206.5\" y=\"-306.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"222.5\" y=\"-306.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"184.5\" y=\"-292.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-113\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-109.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-113C2.79,-113 17.15,-113 30.63,-113\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-113 30.94,-116.15 34.44,-113 30.94,-113 30.94,-113 30.94,-113 34.44,-113 30.94,-109.85 37.94,-113 37.94,-113\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"168\" cy=\"-186\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"168\" y=\"-182.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M68.04,-126.42C74.5,-133.72 83.12,-142.54 92,-149 108.19,-160.78 128.7,-170.6 144.17,-177.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"150.9,-179.94 143.23,-180.18 147.66,-178.6 144.43,-177.26 144.43,-177.26 144.43,-177.26 147.66,-178.6 145.63,-174.35 150.9,-179.94 150.9,-179.94\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"112\" y=\"-174.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"168\" cy=\"-48\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"168\" y=\"-44.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.84,-104.23C90.94,-92.94 124.27,-73.25 145.98,-60.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"152.05,-56.83 147.62,-63.11 149.04,-58.62 146.02,-60.4 146.02,-60.4 146.02,-60.4 149.04,-58.62 144.42,-57.68 152.05,-56.83 152.05,-56.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-94.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"392\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"392\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.06,-97.87C80.49,-75.54 111.07,-34.9 150,-21 225.43,5.94 322.81,-5.73 367.13,-13.33\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"374.28,-14.6 366.83,-16.48 370.83,-13.99 367.39,-13.38 367.39,-13.38 367.39,-13.38 370.83,-13.99 367.94,-10.28 374.28,-14.6 374.28,-14.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"204\" y=\"-10.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"280\" cy=\"-63\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"280\" y=\"-59.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.97,-114.37C98.9,-115.93 146.72,-117.2 186,-108 212.44,-101.81 240.14,-87.2 258.35,-76.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"264.62,-72.47 260.29,-78.81 261.63,-74.29 258.64,-76.12 258.64,-76.12 258.64,-76.12 261.63,-74.29 257,-73.43 264.62,-72.47 264.62,-72.47\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"155\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M163,-203.41C162.07,-213.09 163.73,-222 168,-222 171.13,-222 172.86,-217.19 173.19,-210.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173,-203.41 176.33,-210.33 173.09,-206.91 173.18,-210.41 173.18,-210.41 173.18,-210.41 173.09,-206.91 170.03,-210.49 173,-203.41 173,-203.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"162\" y=\"-225.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M160.04,-202.31C154.9,-219.96 157.55,-240 168,-240 177.06,-240 180.26,-224.93 177.59,-209.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.96,-202.31 180.6,-208.42 176.74,-205.72 177.53,-209.13 177.53,-209.13 177.53,-209.13 176.74,-205.72 174.46,-209.84 175.96,-202.31 175.96,-202.31\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"164\" y=\"-258.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-243.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=\"black\" d=\"M158.43,-63.54C155.73,-73.91 158.92,-84 168,-84 174.95,-84 178.45,-78.08 178.5,-70.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.57,-63.54 181.6,-70.08 178.03,-67.01 178.48,-70.48 178.48,-70.48 178.48,-70.48 178.03,-67.01 175.35,-70.89 177.57,-63.54 177.57,-63.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M185.12,-54.62C190.96,-56.73 197.69,-58.82 204,-60 220.69,-63.13 239.82,-63.85 254.58,-63.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"261.86,-63.72 254.9,-66.95 258.36,-63.76 254.86,-63.8 254.86,-63.8 254.86,-63.8 258.36,-63.76 254.83,-60.65 261.86,-63.72 261.86,-63.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"211\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\">a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M382.43,-33.54C379.73,-43.91 382.92,-54 392,-54 398.95,-54 402.45,-48.08 402.5,-40.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"401.57,-33.54 405.6,-40.08 402.03,-37.01 402.48,-40.48 402.48,-40.48 402.48,-40.48 402.03,-37.01 399.35,-40.89 401.57,-33.54 401.57,-33.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"384\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M265.57,-52.06C259.39,-47.72 251.72,-43.23 244,-41 227.15,-36.15 207.38,-38.29 192.37,-41.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"185.42,-43.04 191.53,-38.4 188.83,-42.26 192.24,-41.47 192.24,-41.47 192.24,-41.47 188.83,-42.26 192.95,-44.54 185.42,-43.04 185.42,-43.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"204\" y=\"-44.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M297.23,-56.36C316.11,-48.64 347.37,-35.85 368.56,-27.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"375.06,-24.52 369.77,-30.09 371.82,-25.85 368.58,-27.17 368.58,-27.17 368.58,-27.17 371.82,-25.85 367.39,-24.26 375.06,-24.52 375.06,-24.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"316\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M270.43,-78.54C267.73,-88.91 270.92,-99 280,-99 286.95,-99 290.45,-93.08 290.5,-85.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"289.57,-78.54 293.6,-85.08 290.03,-82.01 290.48,-85.48 290.48,-85.48 290.48,-85.48 290.03,-82.01 287.35,-85.89 289.57,-78.54 289.57,-78.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"267\" y=\"-102.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307ad320> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-259 161,-259 161,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"58\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"95\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"57\" y=\"-226.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-69C2.79,-69 17.15,-69 30.63,-69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-69 30.94,-72.15 34.44,-69 30.94,-69 30.94,-69 30.94,-69 34.44,-69 30.94,-65.85 37.94,-69 37.94,-69\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-86.04C48.32,-95.86 50.45,-105 56,-105 60.17,-105 62.4,-99.86 62.71,-93.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-86.04 65.85,-92.88 62.54,-89.53 62.71,-93.03 62.71,-93.03 62.71,-93.03 62.54,-89.53 59.56,-93.18 62.38,-86.04 62.38,-86.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-120\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-116.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.86,-78.35C84.53,-86.33 102.9,-97.9 117.06,-106.82\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"123.24,-110.71 115.64,-109.64 120.28,-108.84 117.31,-106.98 117.31,-106.98 117.31,-106.98 120.28,-108.84 118.99,-104.31 123.24,-110.71 123.24,-110.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-100.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.86,-59.65C84.53,-51.67 102.9,-40.1 117.06,-31.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"123.24,-27.29 118.99,-33.69 120.28,-29.16 117.31,-31.02 117.31,-31.02 117.31,-31.02 120.28,-29.16 115.64,-28.36 123.24,-27.29 123.24,-27.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M135.4,-137.78C134.79,-147.31 135.99,-156 139,-156 141.21,-156 142.44,-151.32 142.7,-145.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"142.6,-137.78 145.85,-144.74 142.65,-141.28 142.7,-144.78 142.7,-144.78 142.7,-144.78 142.65,-141.28 139.55,-144.83 142.6,-137.78 142.6,-137.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M133.15,-137.14C129.71,-154.58 131.66,-174 139,-174 145.37,-174 147.68,-159.4 145.94,-144.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"144.85,-137.14 149.04,-143.58 145.39,-140.6 145.92,-144.06 145.92,-144.06 145.92,-144.06 145.39,-140.6 142.81,-144.54 144.85,-137.14 144.85,-137.14\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135\" y=\"-192.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.97,-34.66C130.41,-44.62 132.75,-54 139,-54 143.69,-54 146.18,-48.73 146.47,-41.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.03,-34.66 149.6,-41.46 146.24,-38.16 146.46,-41.65 146.46,-41.65 146.46,-41.65 146.24,-38.16 143.31,-41.84 146.03,-34.66 146.03,-34.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f77307ad500> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"257pt\" height=\"203pt\"\n",
|
|
" viewBox=\"0.00 0.00 257.00 203.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 199)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-199 253,-199 253,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"103\" y=\"-179.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-69C2.79,-69 17.15,-69 30.63,-69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-69 30.94,-72.15 34.44,-69 30.94,-69 30.94,-69 30.94,-69 34.44,-69 30.94,-65.85 37.94,-69 37.94,-69\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-86.04C48.32,-95.86 50.45,-105 56,-105 60.17,-105 62.4,-99.86 62.71,-93.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-86.04 65.85,-92.88 62.54,-89.53 62.71,-93.03 62.71,-93.03 62.71,-93.03 62.54,-89.53 59.56,-93.18 62.38,-86.04 62.38,-86.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"143\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"143\" cy=\"-117\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138.5\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.2,-77.58C84.62,-84.6 102.44,-94.66 116.97,-102.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"123.38,-106.48 115.73,-105.78 120.33,-104.76 117.28,-103.04 117.28,-103.04 117.28,-103.04 120.33,-104.76 118.83,-100.3 123.38,-106.48 123.38,-106.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"143\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"143\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"143\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.2,-60.6C84.62,-53.73 102.44,-43.87 116.97,-35.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"123.38,-32.3 118.77,-38.44 120.31,-33.99 117.25,-35.69 117.25,-35.69 117.25,-35.69 120.31,-33.99 115.73,-32.93 123.38,-32.3 123.38,-32.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M134.99,-137.58C133.89,-147.84 136.55,-157 143,-157 147.83,-157 150.54,-151.85 151.13,-144.95\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.01,-137.58 154.27,-144.53 151.06,-141.08 151.12,-144.58 151.12,-144.58 151.12,-144.58 151.06,-141.08 147.97,-144.63 151.01,-137.58 151.01,-137.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"139\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"231\" cy=\"-117\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"231\" y=\"-113.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M165.26,-117C177.48,-117 192.89,-117 205.61,-117\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"212.74,-117 205.74,-120.15 209.24,-117 205.74,-117 205.74,-117 205.74,-117 209.24,-117 205.74,-113.85 212.74,-117 212.74,-117\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"183\" y=\"-120.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M134.99,-42.58C133.89,-52.84 136.55,-62 143,-62 147.83,-62 150.54,-56.85 151.13,-49.95\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.01,-42.58 154.27,-49.53 151.06,-46.08 151.12,-49.58 151.12,-49.58 151.12,-49.58 151.06,-46.08 147.97,-49.63 151.01,-42.58 151.01,-42.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M215.69,-107.13C209.6,-103.51 202.24,-99.84 195,-98 186.13,-95.75 176.67,-97.92 168.33,-101.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"161.64,-104.75 166.55,-98.86 164.78,-103.22 167.93,-101.69 167.93,-101.69 167.93,-101.69 164.78,-103.22 169.31,-104.52 161.64,-104.75 161.64,-104.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"185\" y=\"-101.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M223.62,-133.66C221.98,-143.62 224.44,-153 231,-153 235.92,-153 238.54,-147.73 238.84,-140.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"238.38,-133.66 241.97,-140.45 238.61,-137.16 238.83,-140.65 238.83,-140.65 238.83,-140.65 238.61,-137.16 235.69,-140.85 238.38,-133.66 238.38,-133.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"225\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\">!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 0x7f77307add70> >"
|
|
]
|
|
},
|
|
"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: 5 Inf(0)&Fin(1)&Fin(4) | Inf(2)&Inf(3) | Inf(1)\n",
|
|
"--BODY--\n",
|
|
"State: 0 {3}\n",
|
|
"[t] 0\n",
|
|
"[0] 1 {1}\n",
|
|
"[!0] 2 {0 4}\n",
|
|
"State: 1 {3}\n",
|
|
"[1] 0\n",
|
|
"[0&1] 1 {0}\n",
|
|
"[!0&1] 2 {2 4}\n",
|
|
"State: 2 \n",
|
|
"[!1] 0\n",
|
|
"[0&!1] 1 {0}\n",
|
|
"[!0&!1] 2 {0 4}\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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"354pt\" height=\"178pt\"\n",
|
|
" viewBox=\"0.00 0.00 354.00 177.79\" 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 173.79)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-173.79 350,-173.79 350,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"8\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">(Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"33\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"49\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"109\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"153\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">)) | (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"212\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">)) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"318\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"334\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"73\" cy=\"-23.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"73\" y=\"-20.09\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M18.15,-23.79C19.79,-23.79 34.15,-23.79 47.63,-23.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"54.94,-23.79 47.94,-26.94 51.44,-23.79 47.94,-23.79 47.94,-23.79 47.94,-23.79 51.44,-23.79 47.94,-20.64 54.94,-23.79 54.94,-23.79\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.62,-40.82C65.32,-50.65 67.45,-59.79 73,-59.79 77.17,-59.79 79.4,-54.65 79.71,-47.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"79.38,-40.82 82.85,-47.67 79.54,-44.32 79.71,-47.82 79.71,-47.82 79.71,-47.82 79.54,-44.32 76.56,-47.96 79.38,-40.82 79.38,-40.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"68.5\" y=\"-78.59\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"65\" y=\"-63.59\" 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=\"black\" cx=\"183\" cy=\"-82.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"183\" y=\"-79.09\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M81.44,-39.81C87.34,-50.65 96.65,-64.3 109,-71.79 123.6,-80.64 142.77,-83.26 157.8,-83.73\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"164.81,-83.81 157.77,-86.88 161.31,-83.77 157.81,-83.73 157.81,-83.73 157.81,-83.73 161.31,-83.77 157.85,-80.58 164.81,-83.81 164.81,-83.81\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"121.5\" y=\"-99.59\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"109\" y=\"-85.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"125\" y=\"-85.59\" 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=\"black\" cx=\"309\" cy=\"-23.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"309\" y=\"-20.09\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M91.04,-23.17C125.44,-22.03 205.65,-19.86 273,-21.79 276.47,-21.89 280.13,-22.04 283.72,-22.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"290.92,-22.62 283.76,-25.38 287.42,-22.42 283.93,-22.23 283.93,-22.23 283.93,-22.23 287.42,-22.42 284.1,-19.09 290.92,-22.62 290.92,-22.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"177.5\" y=\"-38.59\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"159\" y=\"-24.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175\" y=\"-24.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"191\" y=\"-24.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M172.29,-67.96C164.91,-57.9 153.85,-45.13 141,-37.79 128.03,-30.38 111.64,-26.87 98.32,-25.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"91.27,-24.48 98.56,-22.08 94.75,-24.84 98.23,-25.21 98.23,-25.21 98.23,-25.21 94.75,-24.84 97.9,-28.34 91.27,-24.48 91.27,-24.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"121\" y=\"-56.59\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"117\" y=\"-41.59\" 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=\"black\" d=\"M173.19,-97.95C170.21,-108.45 173.48,-118.79 183,-118.79 190.29,-118.79 193.91,-112.73 193.87,-105.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"192.81,-97.95 196.95,-104.42 193.32,-101.42 193.83,-104.88 193.83,-104.88 193.83,-104.88 193.32,-101.42 190.71,-105.34 192.81,-97.95 192.81,-97.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-136.59\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-122.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"183\" y=\"-122.59\" 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=\"black\" d=\"M201.01,-84.52C219.92,-85.63 250.73,-84.89 273,-71.79 283.21,-65.78 291.3,-55.5 297.12,-46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"300.62,-39.91 299.86,-47.55 298.87,-42.95 297.13,-45.98 297.13,-45.98 297.13,-45.98 298.87,-42.95 294.4,-44.41 300.62,-39.91 300.62,-39.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231\" y=\"-101.59\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"225\" y=\"-87.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"241\" y=\"-87.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"257\" y=\"-87.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M291.49,-18.37C264.04,-10.04 207.25,4.35 159,-1.79 137.7,-4.5 114.1,-10.89 97.19,-16.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"90.37,-18.23 96.11,-13.12 93.71,-17.18 97.05,-16.13 97.05,-16.13 97.05,-16.13 93.71,-17.18 97.99,-19.13 90.37,-18.23 90.37,-18.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"177\" y=\"-5.59\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M290.73,-23.48C273.16,-23.89 245.65,-26.52 225,-37.79 214.35,-43.6 205,-53.26 197.93,-62.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"193.62,-67.81 195.35,-60.33 195.74,-65.02 197.86,-62.23 197.86,-62.23 197.86,-62.23 195.74,-65.02 200.37,-64.14 193.62,-67.81 193.62,-67.81\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231\" y=\"-56.59\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"241\" y=\"-41.59\" 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=\"black\" d=\"M298.85,-38.95C295.77,-49.45 299.16,-59.79 309,-59.79 316.54,-59.79 320.29,-53.73 320.25,-46.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"319.15,-38.95 323.32,-45.4 319.68,-42.41 320.2,-45.87 320.2,-45.87 320.2,-45.87 319.68,-42.41 317.09,-46.35 319.15,-38.95 319.15,-38.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"289\" y=\"-77.59\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"293\" y=\"-63.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"309\" y=\"-63.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</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 0x7f77307ae280> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"274pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 273.69 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.9803921568627451 0.9803921568627451) rotate(0) translate(4 364.3)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-364.3 276,-364.3 276,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"115.5\" y=\"-346.1\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136.5\" y=\"-346.1\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"152.5\" y=\"-346.1\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"114.5\" y=\"-332.1\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-134.3\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-130.6\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-134.3C2.79,-134.3 17.15,-134.3 30.63,-134.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-134.3 30.94,-137.45 34.44,-134.3 30.94,-134.3 30.94,-134.3 30.94,-134.3 34.44,-134.3 30.94,-131.15 37.94,-134.3 37.94,-134.3\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-151.34C48.32,-161.16 50.45,-170.3 56,-170.3 60.17,-170.3 62.4,-165.16 62.71,-158.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-151.34 65.85,-158.18 62.54,-154.83 62.71,-158.33 62.71,-158.33 62.71,-158.33 62.54,-154.83 59.56,-158.48 62.38,-151.34 62.38,-151.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-174.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-205.3\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"139.5\" y=\"-201.6\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.3,-150.16C71.48,-160.71 80.77,-174.24 92,-183.3 100.01,-189.77 110.22,-194.67 119.39,-198.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"126.14,-200.6 118.49,-201.21 122.85,-199.42 119.55,-198.24 119.55,-198.24 119.55,-198.24 122.85,-199.42 120.62,-195.28 126.14,-200.6 126.14,-200.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96.5\" y=\"-211.1\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-196.1\" 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=\"black\" cx=\"252\" cy=\"-151.3\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"252\" y=\"-147.6\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.22,-135.81C108.73,-138.83 186.48,-145.65 226.37,-149.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"233.82,-149.8 226.57,-152.32 230.34,-149.49 226.85,-149.18 226.85,-149.18 226.85,-149.18 230.34,-149.49 227.12,-146.05 233.82,-149.8 233.82,-149.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138.5\" y=\"-147.1\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-47.3\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"144\" y=\"-43.6\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.32,-121.84C84.01,-106.98 108.66,-82.04 125.37,-65.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"130.7,-59.74 128.02,-66.94 128.24,-62.23 125.78,-64.72 125.78,-64.72 125.78,-64.72 128.24,-62.23 123.54,-62.51 130.7,-59.74 130.7,-59.74\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-102.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M132.68,-190.96C126.2,-182.57 117.32,-172.12 108,-164.3 99.18,-156.9 88.3,-150.23 78.86,-145.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.6,-141.74 80.25,-142.24 75.69,-143.38 78.78,-145.02 78.78,-145.02 78.78,-145.02 75.69,-143.38 77.3,-147.8 72.6,-141.74 72.6,-141.74\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-168.1\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-221.59C134.48,-231.69 137.04,-241.3 144,-241.3 149.22,-241.3 151.96,-235.9 152.23,-228.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-221.59 155.34,-228.33 151.93,-225.08 152.2,-228.57 152.2,-228.57 152.2,-228.57 151.93,-225.08 149.06,-228.81 151.67,-221.59 151.67,-221.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"128\" y=\"-245.1\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M155.15,-191.05C161.45,-183.22 170.2,-173.97 180,-168.3 194.3,-160.04 212.43,-155.78 226.8,-153.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"233.92,-152.63 227.41,-156.69 230.45,-153.1 226.99,-153.57 226.99,-153.57 226.99,-153.57 230.45,-153.1 226.56,-150.45 233.92,-152.63 233.92,-152.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-187.1\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"190\" y=\"-172.1\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-258.3\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"252\" y=\"-254.6\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M156.95,-218.21C163.29,-224.41 171.51,-231.52 180,-236.3 194.65,-244.55 212.78,-250.1 227.05,-253.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"234.12,-255.19 226.6,-256.69 230.71,-254.4 227.3,-253.62 227.3,-253.62 227.3,-253.62 230.71,-254.4 228.01,-250.55 234.12,-255.19 234.12,-255.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182\" y=\"-254.1\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M246.41,-133.72C236.91,-101.38 211.7,-33.21 162,-5.3 113.12,22.15 78,-66.2 63.87,-110.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"61.79,-117.23 60.86,-109.61 62.83,-113.89 63.86,-110.54 63.86,-110.54 63.86,-110.54 62.83,-113.89 66.87,-111.48 61.79,-117.23 61.79,-117.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138\" y=\"-9.1\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M243.34,-167.65C237.44,-178.27 228.22,-191.39 216,-198.3 201.86,-206.29 183.57,-207.94 169.1,-207.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"161.92,-207.32 169.05,-204.48 165.42,-207.47 168.92,-207.63 168.92,-207.63 168.92,-207.63 165.42,-207.47 168.78,-210.77 161.92,-207.32 161.92,-207.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-211.1\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M242.77,-166.84C240.17,-177.21 243.25,-187.3 252,-187.3 258.7,-187.3 262.08,-181.39 262.12,-173.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"261.23,-166.84 265.23,-173.4 261.67,-170.32 262.1,-173.79 262.1,-173.79 262.1,-173.79 261.67,-170.32 258.98,-174.18 261.23,-166.84 261.23,-166.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"232\" y=\"-191.1\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-63.59C134.48,-73.69 137.04,-83.3 144,-83.3 149.22,-83.3 151.96,-77.9 152.23,-70.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-63.59 155.34,-70.33 151.93,-67.08 152.2,-70.57 152.2,-70.57 152.2,-70.57 151.93,-67.08 149.06,-70.81 151.67,-63.59 151.67,-63.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"139.5\" y=\"-87.1\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M242.77,-273.84C240.17,-284.21 243.25,-294.3 252,-294.3 258.7,-294.3 262.08,-288.39 262.12,-280.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"261.23,-273.84 265.23,-280.4 261.67,-277.32 262.1,-280.79 262.1,-280.79 262.1,-280.79 261.67,-277.32 258.98,-281.18 261.23,-273.84 261.23,-273.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-313.1\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-298.1\" 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 0x7f77307ae250> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"384pt\" height=\"263pt\"\n",
|
|
" viewBox=\"0.00 0.00 384.00 263.42\" 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.42)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-259.42 380,-259.42 380,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167.5\" y=\"-241.22\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"188.5\" y=\"-241.22\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"204.5\" y=\"-241.22\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-227.22\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-19.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-15.72\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-19.42C2.79,-19.42 17.15,-19.42 30.63,-19.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-19.42 30.94,-22.57 34.44,-19.42 30.94,-19.42 30.94,-19.42 30.94,-19.42 34.44,-19.42 30.94,-16.27 37.94,-19.42 37.94,-19.42\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-36.46C48.32,-46.28 50.45,-55.42 56,-55.42 60.17,-55.42 62.4,-50.28 62.71,-43.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-36.46 65.85,-43.3 62.54,-39.96 62.71,-43.45 62.71,-43.45 62.71,-43.45 62.54,-39.96 59.56,-43.6 62.38,-36.46 62.38,-36.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-59.22\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-57.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"139.5\" y=\"-53.72\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.65,-26.66C78.68,-29.43 85.65,-32.6 92,-35.42 101.27,-39.54 111.53,-43.99 120.41,-47.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"126.88,-50.57 119.21,-50.71 123.67,-49.2 120.45,-47.82 120.45,-47.82 120.45,-47.82 123.67,-49.2 121.69,-44.92 126.88,-50.57 126.88,-50.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96.5\" y=\"-60.22\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-45.22\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M134.49,-41.94C128.44,-32.66 119.39,-21.67 108,-16.42 99.48,-12.5 89.3,-12.32 80.28,-13.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.35,-14.64 79.74,-10.37 76.81,-14.06 80.26,-13.48 80.26,-13.48 80.26,-13.48 76.81,-14.06 80.78,-16.59 73.35,-14.64 73.35,-14.64\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-20.22\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-73.71C134.48,-83.81 137.04,-93.42 144,-93.42 149.22,-93.42 151.96,-88.02 152.23,-81.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-73.71 155.34,-80.45 151.93,-77.2 152.2,-80.69 152.2,-80.69 152.2,-80.69 151.93,-77.2 149.06,-80.93 151.67,-73.71 151.67,-73.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"128\" y=\"-97.22\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-34.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"252\" y=\"-30.72\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M162.03,-53.73C179.75,-49.88 207.63,-43.83 227.46,-39.53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"234.36,-38.03 228.19,-42.6 230.94,-38.78 227.52,-39.52 227.52,-39.52 227.52,-39.52 230.94,-38.78 226.85,-36.44 234.36,-38.03 234.36,-38.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-67.22\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"190\" y=\"-52.22\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"252\" cy=\"-153.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"252\" y=\"-149.72\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M151.72,-73.86C157.63,-86.72 167.28,-104.39 180,-116.42 193.83,-129.51 213.2,-139.19 228.21,-145.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"234.76,-147.94 227.1,-148.31 231.51,-146.66 228.25,-145.38 228.25,-145.38 228.25,-145.38 231.51,-146.66 229.41,-142.45 234.76,-147.94 234.76,-147.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182\" y=\"-142.22\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"358\" cy=\"-102.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"358\" y=\"-98.72\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M158.02,-69.15C164.24,-74.08 172.05,-79.37 180,-82.42 231.54,-102.2 297.26,-104.12 332.33,-103.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"339.74,-103.29 332.82,-106.61 336.24,-103.37 332.74,-103.46 332.74,-103.46 332.74,-103.46 336.24,-103.37 332.66,-100.31 339.74,-103.29 339.74,-103.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"246\" y=\"-104.22\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M236.63,-24.79C230.52,-21.2 223.17,-17.49 216,-15.42 127.59,10.1 126.03,-3.2 92,-8.42 88.07,-9.03 83.97,-9.99 80.02,-11.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.14,-13.22 78.9,-8.15 76.48,-12.19 79.83,-11.16 79.83,-11.16 79.83,-11.16 76.48,-12.19 80.75,-14.17 73.14,-13.22 73.14,-13.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"138\" y=\"-5.22\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M235.22,-27.35C220.45,-21.79 198.03,-16.11 180,-23.42 172.43,-26.5 165.59,-32.08 160.01,-37.85\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"155.26,-43.13 157.6,-35.82 157.6,-40.53 159.94,-37.93 159.94,-37.93 159.94,-37.93 157.6,-40.53 162.28,-40.03 155.26,-43.13 155.26,-43.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-27.22\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.54,-42.19C282.85,-49.58 304.44,-61.32 322,-73.42 327.63,-77.3 333.46,-81.88 338.71,-86.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.14,-90.83 336.76,-88.71 341.47,-88.57 338.8,-86.31 338.8,-86.31 338.8,-86.31 341.47,-88.57 340.83,-83.9 344.14,-90.83 344.14,-90.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-77.22\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M243.02,-169.34C240.68,-179.57 243.67,-189.42 252,-189.42 258.38,-189.42 261.63,-183.65 261.75,-176.35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"260.98,-169.34 264.87,-175.95 261.36,-172.82 261.74,-176.3 261.74,-176.3 261.74,-176.3 261.36,-172.82 258.61,-176.64 260.98,-169.34 260.98,-169.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-208.22\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-193.22\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.8,-145.68C286.46,-137.01 315.19,-122.93 335.04,-113.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.4,-110.07 336.5,-115.98 338.25,-111.62 335.11,-113.16 335.11,-113.16 335.11,-113.16 338.25,-111.62 333.72,-110.33 341.4,-110.07 341.4,-110.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"288\" y=\"-139.22\" font-family=\"Lato\" font-size=\"14.00\">!a | !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.02,-118.34C346.68,-128.57 349.67,-138.42 358,-138.42 364.38,-138.42 367.63,-132.65 367.75,-125.35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"366.98,-118.34 370.87,-124.95 367.36,-121.82 367.74,-125.3 367.74,-125.3 367.74,-125.3 367.36,-121.82 364.61,-125.64 366.98,-118.34 366.98,-118.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"353.5\" y=\"-142.22\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307adda0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"390pt\" height=\"228pt\"\n",
|
|
" viewBox=\"0.00 0.00 390.00 228.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 224)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-224 386,-224 386,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169.5\" y=\"-204.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-35.04C48.32,-44.86 50.45,-54 56,-54 60.17,-54 62.4,-48.86 62.71,-42.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-35.04 65.85,-41.88 62.54,-38.53 62.71,-42.03 62.71,-42.03 62.71,-42.03 62.54,-38.53 59.56,-42.18 62.38,-35.04 62.38,-35.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"140\" cy=\"-56\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"140\" cy=\"-56\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-52.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.81,-25.33C84.22,-30.62 99.89,-37.88 113.12,-44.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"119.77,-47.09 112.1,-47.01 116.6,-45.62 113.42,-44.15 113.42,-44.15 113.42,-44.15 116.6,-45.62 114.75,-41.29 119.77,-47.09 119.77,-47.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92.5\" y=\"-40.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M127.18,-37.94C120.39,-29.26 111.01,-19.72 100,-15 94.07,-12.46 87.25,-11.97 80.82,-12.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.53,-13.36 80.07,-9.36 77,-12.92 80.47,-12.48 80.47,-12.48 80.47,-12.48 77,-12.92 80.87,-15.61 73.53,-13.36 73.53,-13.36\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-18.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"248\" cy=\"-70\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"248\" y=\"-66.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M161.94,-58.77C179.36,-61.07 204.19,-64.35 222.52,-66.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"229.95,-67.75 222.59,-69.95 226.48,-67.29 223.01,-66.83 223.01,-66.83 223.01,-66.83 226.48,-67.29 223.42,-63.71 229.95,-67.75 229.95,-67.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-68.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"360\" cy=\"-35\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"360\" cy=\"-35\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"360\" y=\"-31.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M160.73,-47.88C178.5,-41.03 205.5,-31.76 230,-28 264.65,-22.68 305.08,-26.46 331.31,-30.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"338.32,-31.27 330.93,-33.35 334.86,-30.75 331.39,-30.23 331.39,-30.23 331.39,-30.23 334.86,-30.75 331.86,-27.12 338.32,-31.27 338.32,-31.27\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"230\" y=\"-31.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"360\" cy=\"-142\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"360\" cy=\"-142\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"360\" y=\"-138.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M154.84,-72.27C170.91,-89.9 199.19,-117.22 230,-130 262.66,-143.55 303.86,-144.98 330.79,-144.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"337.99,-143.76 331.13,-147.21 334.49,-143.91 331,-144.06 331,-144.06 331,-144.06 334.49,-143.91 330.86,-140.91 337.99,-143.76 337.99,-143.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"232\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M239.02,-85.92C236.68,-96.15 239.67,-106 248,-106 254.38,-106 257.63,-100.23 257.75,-92.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"256.98,-85.92 260.87,-92.53 257.36,-89.4 257.74,-92.87 257.74,-92.87 257.74,-92.87 257.36,-89.4 254.61,-93.22 256.98,-85.92 256.98,-85.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"232\" y=\"-109.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M263.96,-61.25C270.02,-57.99 277.19,-54.48 284,-52 299.17,-46.48 316.74,-42.38 331.06,-39.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"338.23,-38.25 331.92,-42.64 334.79,-38.9 331.35,-39.54 331.35,-39.54 331.35,-39.54 334.79,-38.9 330.77,-36.44 338.23,-38.25 338.23,-38.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"284\" y=\"-55.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M263.38,-79.41C281.59,-91.33 313.21,-112.03 335.07,-126.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"340.96,-130.19 333.38,-129 338.03,-128.28 335.11,-126.36 335.11,-126.36 335.11,-126.36 338.03,-128.28 336.83,-123.72 340.96,-130.19 340.96,-130.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"286\" y=\"-117.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.45,-26.85C333.32,-24.61 326.47,-22.4 320,-21 224.28,-0.21 197.93,-9.75 100,-8 96.45,-7.94 95.52,-7.51 92,-8 88.09,-8.55 84,-9.42 80.06,-10.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.18,-12.36 79.07,-7.44 76.55,-11.42 79.92,-10.47 79.92,-10.47 79.92,-10.47 76.55,-11.42 80.77,-13.51 73.18,-12.36 73.18,-12.36\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"190\" y=\"-10.8\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M344.2,-51C337.47,-57.17 329,-63.56 320,-67 305.08,-72.7 287.1,-73.4 272.96,-72.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"265.96,-72.23 273.15,-69.56 269.45,-72.46 272.94,-72.7 272.94,-72.7 272.94,-72.7 269.45,-72.46 272.73,-75.84 265.96,-72.23 265.96,-72.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"284\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.57,-161.76C347.8,-172.35 351.28,-182 360,-182 366.68,-182 370.28,-176.34 370.81,-168.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"370.43,-161.76 373.94,-168.58 370.61,-165.25 370.8,-168.75 370.8,-168.75 370.8,-168.75 370.61,-165.25 367.65,-168.91 370.43,-161.76 370.43,-161.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-185.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307adbc0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = spot.automaton('example1.aut')\n",
|
|
"display(a)\n",
|
|
"display(spot.remove_fin(a))\n",
|
|
"display(a.postprocess('GeneralizedBuchi', 'complete'))\n",
|
|
"display(a.postprocess('Buchi', \"SBAcc\"))"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"398pt\" height=\"189pt\"\n",
|
|
" viewBox=\"0.00 0.00 398.00 189.02\" 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 185.02)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.02 394,-185.02 394,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"30\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">(Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"55\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"71\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"115\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">) & Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"191\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">)) | (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"250\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"284\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"300\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">)) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"356\" y=\"-166.82\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-26.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-22.32\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-26.02C2.79,-26.02 17.15,-26.02 30.63,-26.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-26.02 30.94,-29.17 34.44,-26.02 30.94,-26.02 30.94,-26.02 30.94,-26.02 34.44,-26.02 30.94,-22.87 37.94,-26.02 37.94,-26.02\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-43.05C48.32,-52.87 50.45,-62.02 56,-62.02 60.17,-62.02 62.4,-56.87 62.71,-50.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-43.05 65.85,-49.9 62.54,-46.55 62.71,-50.04 62.71,-50.04 62.71,-50.04 62.54,-46.55 59.56,-50.19 62.38,-43.05 62.38,-43.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-80.82\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-65.82\" 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=\"black\" cx=\"166\" cy=\"-94.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"166\" y=\"-90.32\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.99,-42.06C71.03,-52.61 80.29,-65.93 92,-74.02 106.5,-84.02 125.83,-89.03 140.96,-91.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.01,-92.57 140.62,-94.67 144.55,-92.06 141.08,-91.55 141.08,-91.55 141.08,-91.55 144.55,-92.06 141.54,-88.44 148.01,-92.57 148.01,-92.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-104.82\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-90.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-90.82\" 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=\"black\" cx=\"292\" cy=\"-39.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"292\" y=\"-35.32\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-24.84C79.78,-24.5 86.16,-24.18 92,-24.02 164.91,-21.93 183.87,-19.22 256,-30.02 259.71,-30.57 263.59,-31.36 267.36,-32.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"274.41,-34 266.85,-35.35 271.01,-33.15 267.62,-32.3 267.62,-32.3 267.62,-32.3 271.01,-33.15 268.39,-29.24 274.41,-34 274.41,-34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"160.5\" y=\"-39.82\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"142\" y=\"-25.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-25.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"174\" y=\"-25.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M157.13,-78.26C150.13,-65.92 138.73,-49.32 124,-40.02 111.29,-31.98 94.77,-28.47 81.31,-26.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.2,-26.33 81.45,-23.82 77.68,-26.64 81.17,-26.96 81.17,-26.96 81.17,-26.96 77.68,-26.64 80.89,-30.09 74.2,-26.33 74.2,-26.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104\" y=\"-58.82\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-43.82\" 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=\"black\" d=\"M156.19,-109.18C153.21,-119.68 156.48,-130.02 166,-130.02 173.29,-130.02 176.91,-123.96 176.87,-116.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.81,-109.18 179.95,-115.65 176.32,-112.64 176.83,-116.11 176.83,-116.11 176.83,-116.11 176.32,-112.64 173.71,-116.57 175.81,-109.18 175.81,-109.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"150\" y=\"-147.82\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150\" y=\"-133.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166\" y=\"-133.82\" 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=\"black\" d=\"M175.12,-78.38C182.12,-66.68 193.4,-51.47 208,-44.02 226.22,-34.71 249.71,-34.18 267.05,-35.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"274.07,-36.24 266.8,-38.69 270.59,-35.9 267.1,-35.56 267.1,-35.56 267.1,-35.56 270.59,-35.9 267.41,-32.42 274.07,-36.24 274.07,-36.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"214\" y=\"-61.82\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-47.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224\" y=\"-47.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"240\" y=\"-47.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"372\" cy=\"-89.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"372\" y=\"-85.32\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.95,-105.86C187.53,-111.98 197.62,-118.81 208,-122.02 257.24,-137.23 317.06,-115.18 348.77,-100.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"355.46,-97.24 350.51,-103.1 352.3,-98.75 349.15,-100.26 349.15,-100.26 349.15,-100.26 352.3,-98.75 347.79,-97.42 355.46,-97.24 355.46,-97.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"286\" y=\"-127.82\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M276.06,-29.85C269.99,-26.42 262.82,-22.7 256,-20.02 208.33,-1.27 192.78,3.73 142,-3.02 120.65,-5.85 97.06,-12.53 80.16,-17.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.35,-20.2 79.02,-15.03 76.67,-19.11 80,-18.02 80,-18.02 80,-18.02 76.67,-19.11 80.98,-21.01 73.35,-20.2 73.35,-20.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-6.82\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M279.62,-52.67C273.31,-59.41 264.95,-67.14 256,-72.02 235.64,-83.11 209.64,-88.7 191,-91.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"184,-92.42 190.51,-88.35 187.47,-91.94 190.94,-91.47 190.94,-91.47 190.94,-91.47 187.47,-91.94 191.36,-94.59 184,-92.42 184,-92.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"214\" y=\"-106.82\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224\" y=\"-91.82\" 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=\"black\" d=\"M284.97,-55.68C283.41,-65.64 285.75,-75.02 292,-75.02 296.69,-75.02 299.18,-69.74 299.47,-62.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"299.03,-55.68 302.6,-62.47 299.24,-59.17 299.46,-62.67 299.46,-62.67 299.46,-62.67 299.24,-59.17 296.31,-62.86 299.03,-55.68 299.03,-55.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"272\" y=\"-92.82\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"276\" y=\"-78.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"292\" y=\"-78.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M307.67,-48.42C319.66,-56.1 336.74,-67.06 350.15,-75.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"356.39,-79.65 348.8,-78.53 353.45,-77.76 350.5,-75.87 350.5,-75.87 350.5,-75.87 353.45,-77.76 352.2,-73.22 356.39,-79.65 356.39,-79.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"328\" y=\"-68.82\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M364.97,-105.68C363.41,-115.64 365.75,-125.02 372,-125.02 376.69,-125.02 379.18,-119.74 379.47,-112.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"379.03,-105.68 382.6,-112.47 379.24,-109.17 379.46,-112.67 379.46,-112.67 379.46,-112.67 379.24,-109.17 376.31,-112.86 379.03,-105.68 379.03,-105.68\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"372\" y=\"-128.82\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307adad0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"173pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 173.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 169,-104 169,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"61\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"60\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"60\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"60\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.17,-22C2.84,-22 16.88,-22 30.71,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.86,-22 30.86,-25.15 34.36,-22 30.86,-22 30.86,-22 30.86,-22 34.36,-22 30.86,-18.85 37.86,-22 37.86,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.68,-42.99C51.78,-53.09 54.22,-62 60,-62 64.34,-62 66.79,-56.99 67.37,-50.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"67.32,-42.99 70.52,-49.97 67.34,-46.49 67.37,-49.99 67.37,-49.99 67.37,-49.99 67.34,-46.49 64.22,-50.01 67.32,-42.99 67.32,-42.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"56.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"147\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"147\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M82.01,-22C94.09,-22 109.32,-22 121.89,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"128.94,-22 121.94,-25.15 125.44,-22 121.94,-22 121.94,-22 121.94,-22 125.44,-22 121.94,-18.85 128.94,-22 128.94,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M139.97,-38.66C138.41,-48.62 140.75,-58 147,-58 151.69,-58 154.18,-52.73 154.47,-45.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"154.03,-38.66 157.6,-45.46 154.24,-42.16 154.46,-45.65 154.46,-45.65 154.46,-45.65 154.24,-42.16 151.31,-45.84 154.03,-38.66 154.03,-38.66\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"147\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f77307ad440> >"
|
|
]
|
|
},
|
|
"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": [
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"165pt\" height=\"130pt\"\n",
|
|
" viewBox=\"0.00 0.00 165.00 130.42\" 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.42)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-126.42 161,-126.42 161,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"58\" y=\"-108.22\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-108.22\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"95\" y=\"-108.22\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"57\" y=\"-94.22\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-20.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-16.72\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-20.42C2.79,-20.42 17.15,-20.42 30.63,-20.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-20.42 30.94,-23.57 34.44,-20.42 30.94,-20.42 30.94,-20.42 30.94,-20.42 34.44,-20.42 30.94,-17.27 37.94,-20.42 37.94,-20.42\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-37.46C48.32,-47.28 50.45,-56.42 56,-56.42 60.17,-56.42 62.4,-51.28 62.71,-44.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-37.46 65.85,-44.31 62.54,-40.96 62.71,-44.45 62.71,-44.45 62.71,-44.45 62.54,-40.96 59.56,-44.6 62.38,-37.46 62.38,-37.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-75.22\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-60.22\" 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=\"black\" cx=\"139\" cy=\"-20.42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-16.72\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.18,-20.42C85.67,-20.42 100.96,-20.42 113.69,-20.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"120.85,-20.42 113.85,-23.57 117.35,-20.42 113.85,-20.42 113.85,-20.42 113.85,-20.42 117.35,-20.42 113.85,-17.27 120.85,-20.42 120.85,-20.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-24.22\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M124.26,-9.65C115.3,-3.91 103.22,1.42 92,-1.42 87.14,-2.66 82.22,-4.72 77.67,-7.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"71.31,-10.56 75.91,-4.41 74.37,-8.86 77.44,-7.17 77.44,-7.17 77.44,-7.17 74.37,-8.86 78.96,-9.93 71.31,-10.56 71.31,-10.56\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-5.22\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.97,-37.09C130.41,-47.05 132.75,-56.42 139,-56.42 143.69,-56.42 146.18,-51.15 146.47,-44.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.03,-37.09 149.6,-43.88 146.24,-40.58 146.46,-44.08 146.46,-44.08 146.46,-44.08 146.24,-40.58 143.31,-44.27 146.03,-37.09 146.03,-37.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-75.22\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"131\" y=\"-60.22\" 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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"162pt\" height=\"161pt\"\n",
|
|
" viewBox=\"0.00 0.00 162.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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-157 158,-157 158,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"56.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"77.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"55.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-35.04C48.32,-44.86 50.45,-54 56,-54 60.17,-54 62.4,-48.86 62.71,-42.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-35.04 65.85,-41.88 62.54,-38.53 62.71,-42.03 62.71,-42.03 62.71,-42.03 62.54,-38.53 59.56,-42.18 62.38,-35.04 62.38,-35.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"136\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"136\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.31,-18C85.02,-18 98.92,-18 110.71,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"117.74,-18 110.74,-21.15 114.24,-18 110.74,-18 110.74,-18 110.74,-18 114.24,-18 110.74,-14.85 117.74,-18 117.74,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M132.4,-35.78C131.79,-45.31 132.99,-54 136,-54 138.21,-54 139.44,-49.32 139.7,-43.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"139.6,-35.78 142.85,-42.74 139.65,-39.28 139.7,-42.78 139.7,-42.78 139.7,-42.78 139.65,-39.28 136.55,-42.83 139.6,-35.78 139.6,-35.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"130.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">!c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M130.15,-35.14C126.71,-52.58 128.66,-72 136,-72 142.37,-72 144.68,-57.4 142.94,-42.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"141.85,-35.14 146.04,-41.58 142.39,-38.6 142.92,-42.06 142.92,-42.06 142.92,-42.06 142.39,-38.6 139.81,-42.54 141.85,-35.14 141.85,-35.14\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"132.5\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"128\" 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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"329pt\" height=\"244pt\"\n",
|
|
" viewBox=\"0.00 0.00 329.39 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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-240 325.39,-240 325.39,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"115.19\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136.19\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"152.19\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"186.19\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"202.19\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"118.19\" y=\"-207.8\" font-family=\"Lato\" font-size=\"14.00\">[gen. Büchi 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"61.4\" cy=\"-18\" rx=\"23.3\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.4\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0,0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.17,-18C2.85,-18 16.69,-18 30.57,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.76,-18 30.76,-21.15 34.26,-18 30.76,-18 30.76,-18 30.76,-18 34.26,-18 30.76,-14.85 37.76,-18 37.76,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M54.26,-35.41C52.92,-45.09 55.3,-54 61.4,-54 65.87,-54 68.35,-49.19 68.82,-42.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.54,-35.41 71.95,-42.29 68.67,-38.91 68.8,-42.41 68.8,-42.41 68.8,-42.41 68.67,-38.91 65.65,-42.52 68.54,-35.41 68.54,-35.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"43.4\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"53.4\" 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=\"black\" cx=\"176.19\" cy=\"-88\" rx=\"23.3\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"166.19\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\">0,1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M80.02,-28.94C99.2,-40.84 129.96,-59.93 151.3,-73.17\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"157.32,-76.91 149.71,-75.89 154.35,-75.06 151.37,-73.22 151.37,-73.22 151.37,-73.22 154.35,-75.06 153.03,-70.54 157.32,-76.91 157.32,-76.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.8\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"110.8\" 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=\"black\" cx=\"297.99\" cy=\"-88\" rx=\"23.3\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.99\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\">1,1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M84.6,-15.63C122.35,-12.65 200.41,-11.08 256.59,-41 267.34,-46.73 276.48,-56.58 283.34,-65.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"287.51,-71.7 280.9,-67.79 285.49,-68.84 283.47,-65.98 283.47,-65.98 283.47,-65.98 285.49,-68.84 286.05,-64.16 287.51,-71.7 287.51,-71.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158.19\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M171.16,-105.78C170.31,-115.31 171.98,-124 176.19,-124 179.29,-124 181.01,-119.32 181.37,-113.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"181.23,-105.78 184.52,-112.72 181.3,-109.28 181.37,-112.78 181.37,-112.78 181.37,-112.78 181.3,-109.28 178.22,-112.84 181.23,-105.78 181.23,-105.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158.69\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"168.19\" 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=\"black\" d=\"M168.49,-105.25C163.01,-126.43 165.58,-154 176.19,-154 185.68,-154 188.74,-131.94 185.36,-112.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.9,-105.25 188.44,-111.44 184.63,-108.67 185.36,-112.1 185.36,-112.1 185.36,-112.1 184.63,-108.67 182.28,-112.75 183.9,-105.25 183.9,-105.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"160.69\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160.19\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"176.19\" 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=\"black\" d=\"M181.95,-105.48C187.5,-122.06 198.44,-146.02 217.59,-157 232.63,-165.62 241.55,-165.62 256.59,-157 273.2,-147.48 283.63,-128.2 289.73,-112.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"292.23,-105.48 292.82,-113.14 291.05,-108.78 289.86,-112.07 289.86,-112.07 289.86,-112.07 291.05,-108.78 286.9,-111 292.23,-105.48 292.23,-105.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"217.59\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M196.47,-97.35C203.02,-100.05 210.48,-102.64 217.59,-104 234.62,-107.25 239.57,-107.25 256.59,-104 261.37,-103.09 266.31,-101.62 271.02,-99.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"277.71,-97.35 272.32,-102.81 274.45,-98.61 271.18,-99.87 271.18,-99.87 271.18,-99.87 274.45,-98.61 270.05,-96.93 277.71,-97.35 277.71,-97.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"219.59\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"229.09\" 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=\"black\" d=\"M274.36,-86.02C268.57,-85.6 262.35,-85.21 256.59,-85 239.27,-84.36 234.91,-84.36 217.59,-85 214.17,-85.13 210.59,-85.31 207.03,-85.53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"199.83,-86.02 206.6,-82.41 203.32,-85.79 206.81,-85.55 206.81,-85.55 206.81,-85.55 203.32,-85.79 207.02,-88.69 199.83,-86.02 199.83,-86.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"219.59\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M285.38,-72.41C278.15,-64.04 268.05,-54.54 256.59,-50 240.48,-43.61 233.71,-43.61 217.59,-50 208.46,-53.62 200.19,-60.39 193.55,-67.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"188.8,-72.41 191.21,-65.12 191.16,-69.83 193.53,-67.24 193.53,-67.24 193.53,-67.24 191.16,-69.83 195.85,-69.37 188.8,-72.41 188.8,-72.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"221.59\" y=\"-68.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"229.09\" 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=\"black\" d=\"M292.6,-105.78C291.68,-115.31 293.48,-124 297.99,-124 301.3,-124 303.15,-119.32 303.54,-113.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"303.38,-105.78 306.68,-112.71 303.46,-109.28 303.53,-112.78 303.53,-112.78 303.53,-112.78 303.46,-109.28 300.38,-112.85 303.38,-105.78 303.38,-105.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278.49\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"289.99\" 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=\"black\" d=\"M289.82,-104.92C283.84,-126.15 286.56,-154 297.99,-154 308.21,-154 311.47,-131.71 307.76,-111.82\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"306.16,-104.92 310.81,-111.03 306.95,-108.33 307.74,-111.74 307.74,-111.74 307.74,-111.74 306.95,-108.33 304.67,-112.45 306.16,-104.92 306.16,-104.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"280.49\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"281.99\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"297.99\" 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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"299pt\" height=\"244pt\"\n",
|
|
" viewBox=\"0.00 0.00 298.50 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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-240 294.5,-240 294.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"99.75\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"120.75\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136.75\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">)&Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"170.75\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"186.75\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"102.75\" y=\"-207.8\" font-family=\"Lato\" font-size=\"14.00\">[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=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</a>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-35.04C48.32,-44.86 50.45,-54 56,-54 60.17,-54 62.4,-48.86 62.71,-42.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-35.04 65.85,-41.88 62.54,-38.53 62.71,-42.03 62.71,-42.03 62.71,-42.03 62.54,-38.53 59.56,-42.18 62.38,-35.04 62.38,-35.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">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=\"black\" cx=\"160\" cy=\"-88\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"160\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\">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=\"black\" d=\"M71.18,-27.73C88.74,-39.79 118.78,-60.4 138.76,-74.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"144.61,-78.12 137.05,-76.76 141.72,-76.14 138.84,-74.16 138.84,-74.16 138.84,-74.16 141.72,-76.14 140.62,-71.57 144.61,-78.12 144.61,-78.12\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" 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=\"black\" cx=\"271\" cy=\"-88\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"271\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\">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=\"black\" d=\"M74.1,-15.86C107.56,-12.53 182.94,-9.36 235,-40 245.21,-46.01 253.3,-56.28 259.12,-65.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"262.62,-71.88 256.4,-67.38 260.87,-68.84 259.13,-65.81 259.13,-65.81 259.13,-65.81 260.87,-68.84 261.86,-64.24 262.62,-71.88 262.62,-71.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"142\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M155.36,-105.41C154.49,-115.09 156.04,-124 160,-124 162.91,-124 164.52,-119.19 164.82,-112.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"164.64,-105.41 167.96,-112.33 164.73,-108.91 164.81,-112.41 164.81,-112.41 164.81,-112.41 164.73,-108.91 161.66,-112.48 164.64,-105.41 164.64,-105.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"142.5\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"152\" 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=\"black\" d=\"M153,-104.6C147.71,-125.86 150.05,-154 160,-154 168.9,-154 171.71,-131.49 168.42,-111.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"167,-104.6 171.49,-110.82 167.7,-108.02 168.4,-111.45 168.4,-111.45 168.4,-111.45 167.7,-108.02 165.32,-112.09 167,-104.6 167,-104.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144.5\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"144\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" 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=\"black\" d=\"M164.51,-105.71C168.82,-122.21 177.91,-145.89 196,-157 210.77,-166.07 220.23,-166.07 235,-157 250.68,-147.37 259.6,-128.28 264.51,-112.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"266.49,-105.71 267.59,-113.31 265.53,-109.08 264.56,-112.44 264.56,-112.44 264.56,-112.44 265.53,-109.08 261.53,-111.57 266.49,-105.71 266.49,-105.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M176.18,-96.66C182.16,-99.6 189.21,-102.52 196,-104 212.94,-107.69 218.06,-107.69 235,-104 239.46,-103.03 244.02,-101.44 248.33,-99.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"254.82,-96.66 249.76,-102.44 251.63,-98.12 248.45,-99.57 248.45,-99.57 248.45,-99.57 251.63,-98.12 247.14,-96.71 254.82,-96.66 254.82,-96.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"198\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"207.5\" 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=\"black\" d=\"M252.93,-86.24C247.23,-85.73 240.85,-85.25 235,-85 217.68,-84.26 213.32,-84.26 196,-85 192.53,-85.15 188.87,-85.38 185.27,-85.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"178.07,-86.24 184.79,-82.53 181.56,-85.96 185.05,-85.67 185.05,-85.67 185.05,-85.67 181.56,-85.96 185.31,-88.81 178.07,-86.24 178.07,-86.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"198\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M260.67,-72.85C254.54,-64.41 245.68,-54.68 235,-50 219.13,-43.04 211.87,-43.04 196,-50 187.66,-53.66 180.43,-60.39 174.74,-67.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"170.33,-72.85 172.15,-65.39 172.48,-70.09 174.63,-67.33 174.63,-67.33 174.63,-67.33 172.48,-70.09 177.12,-69.26 170.33,-72.85 170.33,-72.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-68.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"207.5\" 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=\"black\" d=\"M266.18,-105.41C265.28,-115.09 266.89,-124 271,-124 274.02,-124 275.69,-119.19 276.01,-112.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"275.82,-105.41 279.15,-112.33 275.91,-108.91 276,-112.41 276,-112.41 276,-112.41 275.91,-108.91 272.85,-112.49 275.82,-105.41 275.82,-105.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"251.5\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"263\" 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=\"black\" d=\"M263.73,-104.6C258.24,-125.86 260.66,-154 271,-154 280.25,-154 283.16,-131.49 279.74,-111.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"278.27,-104.6 282.81,-110.79 279,-108.02 279.73,-111.44 279.73,-111.44 279.73,-111.44 279,-108.02 276.64,-112.1 278.27,-104.6 278.27,-104.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"253.5\" y=\"-171.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"255\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"271\" 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 convenient 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",
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"169pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 169.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 165,-104 165,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-22C2.79,-22 17.15,-22 30.63,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-22 30.94,-25.15 34.44,-22 30.94,-22 30.94,-22 30.94,-22 34.44,-22 30.94,-18.85 37.94,-22 37.94,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-39.04C48.32,-48.86 50.45,-58 56,-58 60.17,-58 62.4,-52.86 62.71,-46.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-39.04 65.85,-45.88 62.54,-42.53 62.71,-46.03 62.71,-46.03 62.71,-46.03 62.54,-42.53 59.56,-46.18 62.38,-39.04 62.38,-39.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" 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\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.18,-22C84.48,-22 97.85,-22 109.68,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.81,-22 109.81,-25.15 113.31,-22 109.81,-22 109.81,-22 109.81,-22 113.31,-22 109.81,-18.85 116.81,-22 116.81,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.32,-42.99C130.37,-53.09 132.93,-62 139,-62 143.55,-62 146.13,-56.99 146.74,-50.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.68,-42.99 149.88,-49.97 146.71,-46.49 146.73,-49.99 146.73,-49.99 146.73,-49.99 146.71,-46.49 143.58,-50.01 146.68,-42.99 146.68,-42.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307af1e0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"170pt\" height=\"140pt\"\n",
|
|
" viewBox=\"0.00 0.00 170.00 140.47\" 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.47)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-136.47 166,-136.47 166,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"30.5\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"53.5\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"69.5\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111.5\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"53.5\" y=\"-104.27\" font-family=\"Lato\" font-size=\"14.00\">[Rabin 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-30.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-26.77\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-30.47C2.79,-30.47 17.15,-30.47 30.63,-30.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-30.47 30.94,-33.62 34.44,-30.47 30.94,-30.47 30.94,-30.47 30.94,-30.47 34.44,-30.47 30.94,-27.32 37.94,-30.47 37.94,-30.47\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-47.5C48.32,-57.32 50.45,-66.47 56,-66.47 60.17,-66.47 62.4,-61.32 62.71,-54.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-47.5 65.85,-54.35 62.54,-51 62.71,-54.5 62.71,-54.5 62.71,-54.5 62.54,-51 59.56,-54.64 62.38,-47.5 62.38,-47.5\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"50.5\" y=\"-70.27\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-30.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"144\" y=\"-26.77\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.04,-33.39C79.73,-34.24 86.12,-35.05 92,-35.47 99.09,-35.97 100.91,-35.97 108,-35.47 111.49,-35.22 115.16,-34.83 118.76,-34.38\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"125.96,-33.39 119.46,-37.47 122.49,-33.87 119.03,-34.35 119.03,-34.35 119.03,-34.35 122.49,-33.87 118.6,-31.23 125.96,-33.39 125.96,-33.39\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96.5\" y=\"-54.27\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-39.27\" 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=\"black\" d=\"M131.4,-17.33C125.16,-11.25 116.91,-4.68 108,-1.47 95.99,2.87 83.5,-4 73.9,-12.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-17 71.63,-9.95 71.18,-14.64 73.76,-12.27 73.76,-12.27 73.76,-12.27 71.18,-14.64 75.89,-14.59 68.6,-17 68.6,-17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94.5\" y=\"-20.27\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-5.27\" 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=\"black\" d=\"M136.33,-46.76C134.48,-56.85 137.04,-66.47 144,-66.47 149.22,-66.47 151.96,-61.06 152.23,-54.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-46.76 155.34,-53.5 151.93,-50.25 152.2,-53.74 152.2,-53.74 152.2,-53.74 151.93,-50.25 149.06,-53.98 151.67,-46.76 151.67,-46.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"140.5\" y=\"-85.27\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136\" y=\"-70.27\" 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 0x7f77307afa20> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"87pt\" height=\"161pt\"\n",
|
|
" viewBox=\"0.00 0.00 87.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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-157 83,-157 83,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"18\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"41\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"57\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"8\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"58.5\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"58.5\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M3.65,-18C5.29,-18 19.65,-18 33.13,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"40.44,-18 33.44,-21.15 36.94,-18 33.44,-18 33.44,-18 33.44,-18 36.94,-18 33.44,-14.85 40.44,-18 40.44,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M55.26,-35.78C54.71,-45.31 55.79,-54 58.5,-54 60.49,-54 61.6,-49.32 61.83,-43.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"61.74,-35.78 64.98,-42.74 61.78,-39.28 61.83,-42.78 61.83,-42.78 61.83,-42.78 61.78,-39.28 58.68,-42.82 61.74,-35.78 61.74,-35.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"53\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"50.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M53.49,-35.58C50.05,-56.72 51.71,-84 58.5,-84 64.54,-84 66.53,-62.36 64.46,-42.69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"63.51,-35.58 67.56,-42.1 63.97,-39.05 64.43,-42.52 64.43,-42.52 64.43,-42.52 63.97,-39.05 61.31,-42.93 63.51,-35.58 63.51,-35.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"55\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307ac750> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"165pt\" height=\"115pt\"\n",
|
|
" viewBox=\"0.00 0.00 165.00 115.19\" 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.19)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-111.19 161,-111.19 161,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"57\" y=\"-92.99\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"80\" y=\"-92.99\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-92.99\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"47\" y=\"-78.99\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-38.19C62,-38.19 50,-38.19 50,-38.19 44,-38.19 38,-32.19 38,-26.19 38,-26.19 38,-12.19 38,-12.19 38,-6.19 44,-0.19 50,-0.19 50,-0.19 62,-0.19 62,-0.19 68,-0.19 74,-6.19 74,-12.19 74,-12.19 74,-26.19 74,-26.19 74,-32.19 68,-38.19 62,-38.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-22.99\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-7.99\" 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=\"black\" d=\"M1.15,-19.19C2.79,-19.19 17.15,-19.19 30.63,-19.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-19.19 30.94,-22.34 34.44,-19.19 30.94,-19.19 30.94,-19.19 30.94,-19.19 34.44,-19.19 30.94,-16.04 37.94,-19.19 37.94,-19.19\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-38.23C48.54,-47.72 50.73,-56.19 56,-56.19 59.87,-56.19 62.08,-51.62 62.62,-45.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-38.23 65.77,-45.2 62.58,-41.73 62.62,-45.23 62.62,-45.23 62.62,-45.23 62.58,-41.73 59.47,-45.26 62.55,-38.23 62.55,-38.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"50.5\" y=\"-59.99\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M145,-37.19C145,-37.19 133,-37.19 133,-37.19 127,-37.19 121,-31.19 121,-25.19 121,-25.19 121,-13.19 121,-13.19 121,-7.19 127,-1.19 133,-1.19 133,-1.19 145,-1.19 145,-1.19 151,-1.19 157,-7.19 157,-13.19 157,-13.19 157,-25.19 157,-25.19 157,-31.19 151,-37.19 145,-37.19\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-15.49\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.18,-19.19C85.67,-19.19 100.96,-19.19 113.69,-19.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"120.85,-19.19 113.85,-22.34 117.35,-19.19 113.85,-19.19 113.85,-19.19 113.85,-19.19 117.35,-19.19 113.85,-16.04 120.85,-19.19 120.85,-19.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-22.99\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M120.88,-7.06C112.38,-2.45 101.84,1.19 92,-1.19 88.18,-2.11 84.31,-3.53 80.61,-5.17\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.17,-8.31 79.08,-2.42 77.31,-6.78 80.46,-5.25 80.46,-5.25 80.46,-5.25 77.31,-6.78 81.84,-8.08 74.17,-8.31 74.17,-8.31\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-4.99\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.76,-37.34C130.65,-46.73 133.06,-55.19 139,-55.19 143.36,-55.19 145.82,-50.63 146.38,-44.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.24,-37.34 149.52,-44.28 146.31,-40.84 146.37,-44.34 146.37,-44.34 146.37,-44.34 146.31,-40.84 143.23,-44.4 146.24,-37.34 146.24,-37.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-58.99\" font-family=\"Lato\" font-size=\"14.00\">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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"187pt\" height=\"176pt\"\n",
|
|
" viewBox=\"0.00 0.00 187.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=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-172 183,-172 183,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"8\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"31\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"47\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"93\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"109\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"147\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"163\" y=\"-153.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"34\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 3]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"108.5\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"108.5\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M53.65,-18C55.29,-18 69.65,-18 83.13,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"90.44,-18 83.44,-21.15 86.94,-18 83.44,-18 83.44,-18 83.44,-18 86.94,-18 83.44,-14.85 90.44,-18 90.44,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M105.26,-35.78C104.71,-45.31 105.79,-54 108.5,-54 110.49,-54 111.6,-49.32 111.83,-43.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"111.74,-35.78 114.98,-42.74 111.78,-39.28 111.83,-42.78 111.83,-42.78 111.83,-42.78 111.78,-39.28 108.68,-42.82 111.74,-35.78 111.74,-35.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"105\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100.5\" 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=\"black\" d=\"M103.49,-35.58C100.05,-56.72 101.71,-84 108.5,-84 114.54,-84 116.53,-62.36 114.46,-42.69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"113.51,-35.58 117.56,-42.1 113.97,-39.05 114.43,-42.52 114.43,-42.52 114.43,-42.52 113.97,-39.05 111.31,-42.93 113.51,-35.58 113.51,-35.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"103\" y=\"-102.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100.5\" 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 0x7f77307aef40> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"169pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 169.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 165,-104 165,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-22C2.79,-22 17.15,-22 30.63,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-22 30.94,-25.15 34.44,-22 30.94,-22 30.94,-22 30.94,-22 34.44,-22 30.94,-18.85 37.94,-22 37.94,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-39.04C48.32,-48.86 50.45,-58 56,-58 60.17,-58 62.4,-52.86 62.71,-46.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-39.04 65.85,-45.88 62.54,-42.53 62.71,-46.03 62.71,-46.03 62.71,-46.03 62.54,-42.53 59.56,-46.18 62.38,-39.04 62.38,-39.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" 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\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.18,-22C84.48,-22 97.85,-22 109.68,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.81,-22 109.81,-25.15 113.31,-22 109.81,-22 109.81,-22 109.81,-22 113.31,-22 109.81,-18.85 116.81,-22 116.81,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M131.32,-42.99C130.37,-53.09 132.93,-62 139,-62 143.55,-62 146.13,-56.99 146.74,-50.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.68,-42.99 149.88,-49.97 146.71,-46.49 146.73,-49.99 146.73,-49.99 146.73,-49.99 146.71,-46.49 143.58,-50.01 146.68,-42.99 146.68,-42.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307af1e0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"194pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 194.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 190,-104 190,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"71.5\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-22C2.79,-22 17.15,-22 30.63,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-22 30.94,-25.15 34.44,-22 30.94,-22 30.94,-22 30.94,-22 34.44,-22 30.94,-18.85 37.94,-22 37.94,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-39.04C48.32,-48.86 50.45,-58 56,-58 60.17,-58 62.4,-52.86 62.71,-46.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-39.04 65.85,-45.88 62.54,-42.53 62.71,-46.03 62.71,-46.03 62.71,-46.03 62.54,-42.53 59.56,-46.18 62.38,-39.04 62.38,-39.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"164\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"164\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-22C90.43,-22 115.53,-22 134.89,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"142,-22 135,-25.15 138.5,-22 135,-22 135,-22 135,-22 138.5,-22 135,-18.85 142,-22 142,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.93,-41.76C152.22,-52.35 155.58,-62 164,-62 170.45,-62 173.93,-56.34 174.43,-48.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"174.07,-41.76 177.57,-48.59 174.25,-45.25 174.43,-48.75 174.43,-48.75 174.43,-48.75 174.25,-45.25 171.28,-48.91 174.07,-41.76 174.07,-41.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307af1e0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"218pt\" height=\"108pt\"\n",
|
|
" viewBox=\"0.00 0.00 218.00 108.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 104)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-104 214,-104 214,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"83.5\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-22C2.79,-22 17.15,-22 30.63,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-22 30.94,-25.15 34.44,-22 30.94,-22 30.94,-22 30.94,-22 34.44,-22 30.94,-18.85 37.94,-22 37.94,-22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-39.04C48.32,-48.86 50.45,-58 56,-58 60.17,-58 62.4,-52.86 62.71,-46.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-39.04 65.85,-45.88 62.54,-42.53 62.71,-46.03 62.71,-46.03 62.71,-46.03 62.54,-42.53 59.56,-46.18 62.38,-39.04 62.38,-39.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-22\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"188\" cy=\"-22\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-18.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.26,-22C95.76,-22 132.79,-22 158.52,-22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"165.78,-22 158.78,-25.15 162.28,-22 158.78,-22 158.78,-22 158.78,-22 162.28,-22 158.78,-18.85 165.78,-22 165.78,-22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">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=\"black\" d=\"M176.05,-40.52C173.39,-51.58 177.38,-62 188,-62 196.3,-62 200.55,-55.64 200.74,-47.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"199.95,-40.52 203.86,-47.12 200.34,-43.99 200.73,-47.47 200.73,-47.47 200.73,-47.47 200.34,-43.99 197.6,-47.82 199.95,-40.52 199.95,-40.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-65.8\" font-family=\"Lato\" font-size=\"14.00\">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 0x7f77307af1e0> >"
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"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.11.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|