This improves the determinism in a few cases. * spot/twa/twagraph.cc (merge_edges): Encapsulate the two passes into lambdas so that they are very easy to swap. * spot/twa/twagraph.hh (merge_edges): Adjust documentation. * tests/python/mergedge.py: Add test case. * tests/core/alternating.test, tests/python/alternation.ipynb: Determinism was improved. * tests/core/parity2.test, tests/core/readsave.test, tests/core/sbacc.test, tests/python/_product_susp.ipynb, tests/python/atva16-fig2a.ipynb, tests/python/decompose.ipynb, tests/python/highlighting.ipynb, tests/python/satmin.ipynb, tests/python/simstate.py: Adjust expected order of edges. * NEWS: Mention the change.
6067 lines
435 KiB
Text
6067 lines
435 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from IPython.display import display\n",
|
|
"import spot\n",
|
|
"spot.setup(show_default='.bans')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"This notebook demonstrates how to use the `decompose_scc()` function to split an automaton in up to three automata capturing different behaviors. This is based on the paper [Strength-based decomposition of the property Büchi automaton for faster model checking](https://www.lrde.epita.fr/~adl/dl/adl/renault.13.tacas.pdf) (TACAS'13).\n",
|
|
"\n",
|
|
"This page uses the Python bindings, but the same decompositions can be performed from the shell using [`autfilt`](https://spot.lrde.epita.fr/autfilt.html) and its `--decompose-scc` option.\n",
|
|
"\n",
|
|
"# Basics\n",
|
|
"\n",
|
|
"Let's define the following strengths of accepting SCCs:\n",
|
|
"\n",
|
|
"- an accepting SCC is **inherently weak** if it does not contain any rejecting cycle\n",
|
|
"- an accepting SCC is **inherently terminal** if it is *inherently weak* and complete (i.e. from any state, you can stay in the SCC by reading any word)\n",
|
|
"- an accepting SCC is **strictly inherently weak** if it is *inherently weak* and not complete (in other words: *weak* but not *terminal*)\n",
|
|
"- an accepting SCC is **strong** if it is not inherently weak.\n",
|
|
"\n",
|
|
"The strengths **strong**, **stricly inherently weak**, and **inherently terminal** define a partition of all accepting SCCs. The following Büchi automaton has 4 SCCs, and its 3 accepting SCCs show an example of each strength.\n",
|
|
"\n",
|
|
"Note: the reason we use the word *inherently* is that the *weak* and *terminal* properties are usually defined syntactically: an accepting SCC would be weak if all its transitions belong to the same acceptance sets. This syntactic criterion is a sufficient condition for an accepting SCC to not have any rejecting cycle, but it is not necessary. Hence a *weak* SCC is *inherently weak*; but while an *inherently weak* SCC is not necessarily *weak*, it can be modified to be *weak* without alterning the langage."
|
|
]
|
|
},
|
|
{
|
|
"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=\"416pt\" height=\"302pt\"\n",
|
|
" viewBox=\"0.00 0.00 416.00 302.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 298)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-298 412,-298 412,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"183.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"204.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"220.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-265.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=\"348,-148 348,-248 400,-248 400,-148 348,-148\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"162,-8 162,-108 214,-108 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"265,-148 265,-233 317,-233 317,-148 265,-148\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-135 30,-237 214,-237 214,-135 30,-135\"/>\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=\"-161\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-157.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,-161C2.79,-161 17.15,-161 30.63,-161\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-161 30.94,-164.15 34.44,-161 30.94,-161 30.94,-161 30.94,-161 34.44,-161 30.94,-157.85 37.94,-161 37.94,-161\"/>\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,-178.04C48.32,-187.86 50.45,-197 56,-197 60.17,-197 62.4,-191.86 62.71,-185.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-178.04 65.85,-184.88 62.54,-181.53 62.71,-185.03 62.71,-185.03 62.71,-185.03 62.54,-181.53 59.56,-185.18 62.38,-178.04 62.38,-178.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-215.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-200.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=\"374\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"374\" y=\"-170.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=\"M73.44,-156.48C114.99,-145.79 227.28,-121.48 317,-144 329.58,-147.16 342.42,-153.74 352.62,-159.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"358.61,-163.72 351.01,-162.65 355.65,-161.85 352.69,-159.99 352.69,-159.99 352.69,-159.99 355.65,-161.85 354.37,-157.32 358.61,-163.72 358.61,-163.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">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=\"M63.71,-144.67C69.74,-131.35 79.55,-112.57 92,-99 113.33,-75.75 144.49,-56.45 165.24,-45.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.59,-41.66 166.91,-47.75 168.5,-43.32 165.42,-44.98 165.42,-44.98 165.42,-44.98 168.5,-43.32 163.93,-42.2 171.59,-41.66 171.59,-41.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-102.8\" 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=\"188\" cy=\"-176\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-172.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.01,-159.31C93.17,-157.84 125.14,-156.68 152,-162 156.19,-162.83 160.53,-164.15 164.66,-165.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.35,-168.3 163.68,-168.66 168.1,-167.02 164.84,-165.73 164.84,-165.73 164.84,-165.73 168.1,-167.02 166,-162.8 171.35,-168.3 171.35,-168.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-165.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M366.97,-190.66C365.41,-200.62 367.75,-210 374,-210 378.69,-210 381.18,-204.73 381.47,-197.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"381.03,-190.66 384.6,-197.46 381.24,-194.16 381.46,-197.65 381.46,-197.65 381.46,-197.65 381.24,-194.16 378.31,-197.84 381.03,-190.66 381.03,-190.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369.5\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366\" y=\"-213.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=\"M179.37,-49.92C177.11,-60.15 179.99,-70 188,-70 194.13,-70 197.25,-64.23 197.37,-56.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.63,-49.92 200.5,-56.55 197,-53.4 197.37,-56.88 197.37,-56.88 197.37,-56.88 197,-53.4 194.23,-57.21 196.63,-49.92 196.63,-49.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"291\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"291\" y=\"-170.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M309.18,-174C320.67,-174 335.96,-174 348.69,-174\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"355.85,-174 348.85,-177.15 352.35,-174 348.85,-174 348.85,-174 348.85,-174 352.35,-174 348.85,-170.85 355.85,-174 355.85,-174\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"327\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M283.97,-190.66C282.41,-200.62 284.75,-210 291,-210 295.69,-210 298.18,-204.73 298.47,-197.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"298.03,-190.66 301.6,-197.46 298.24,-194.16 298.46,-197.65 298.46,-197.65 298.46,-197.65 298.24,-194.16 295.31,-197.84 298.03,-190.66 298.03,-190.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M169.95,-178.44C150.76,-180.68 118.75,-182.83 92,-177 87.54,-176.03 82.98,-174.44 78.67,-172.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-169.66 79.86,-169.71 75.37,-171.12 78.55,-172.57 78.55,-172.57 78.55,-172.57 75.37,-171.12 77.24,-175.44 72.18,-169.66 72.18,-169.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"114\" y=\"-183.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.26,-189.33C213.84,-204.25 238.19,-227.57 265,-237 286.8,-244.67 295.92,-246.47 317,-237 335.81,-228.55 350.87,-210.33 360.62,-195.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.47,-189.6 363.36,-197.2 362.59,-192.55 360.71,-195.5 360.71,-195.5 360.71,-195.5 362.59,-192.55 358.05,-193.81 364.47,-189.6 364.47,-189.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M206.13,-175.66C222.38,-175.34 246.98,-174.85 265.34,-174.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"272.78,-174.34 265.85,-177.63 269.28,-174.41 265.78,-174.48 265.78,-174.48 265.78,-174.48 269.28,-174.41 265.72,-171.33 272.78,-174.34 272.78,-174.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"224\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.37,-191.92C177.11,-202.15 179.99,-212 188,-212 194.13,-212 197.25,-206.23 197.37,-198.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.63,-191.92 200.5,-198.55 197,-195.4 197.37,-198.88 197.37,-198.88 197.37,-198.88 197,-195.4 194.23,-199.21 196.63,-191.92 196.63,-191.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-215.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc092f00> >"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.translate('(Ga -> Gb) W c')\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The `decompose_strength()` function takes an automaton, and a string specifying which strength to preserve. \n",
|
|
"\n",
|
|
"The letters used for this specification are as follows:\n",
|
|
"\n",
|
|
"- `t`: (inherently) terminal\n",
|
|
"- `w`: (strictly inherently) weak\n",
|
|
"- `s`: strong\n",
|
|
"\n",
|
|
"For instance if we want to preserve only the **strictly inherently weak** part of this automaton, we should get only the SCC with the self-loop on $b$, and the SCC above it so that we can reach it. However the SCC above is not stricly weak, so it should not accept any word in the new automaton."
|
|
]
|
|
},
|
|
{
|
|
"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=\"230pt\" height=\"255pt\"\n",
|
|
" viewBox=\"0.00 0.00 230.00 255.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 251)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-251 226,-251 226,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"90.5\" y=\"-232.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111.5\" y=\"-232.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-232.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"89.5\" y=\"-218.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=\"162,-8 162,-108 214,-108 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-116 30,-203 214,-203 214,-116 30,-116\"/>\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=\"-142\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-138.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,-142C2.79,-142 17.15,-142 30.63,-142\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-142 30.94,-145.15 34.44,-142 30.94,-142 30.94,-142 30.94,-142 34.44,-142 30.94,-138.85 37.94,-142 37.94,-142\"/>\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,-159.04C48.32,-168.86 50.45,-178 56,-178 60.17,-178 62.4,-172.86 62.71,-166.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-159.04 65.85,-165.88 62.54,-162.53 62.71,-166.03 62.71,-166.03 62.71,-166.03 62.54,-162.53 59.56,-166.18 62.38,-159.04 62.38,-159.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">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=\"M70.42,-130.85C93.58,-111.61 141.12,-72.11 167.78,-49.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.46,-45.25 170.08,-52.15 170.76,-47.49 168.07,-49.73 168.07,-49.73 168.07,-49.73 170.76,-47.49 166.06,-47.3 173.46,-45.25 173.46,-45.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-143\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-139.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.26,-142.13C96.89,-142.31 136.73,-142.61 162.48,-142.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"169.67,-142.87 162.64,-145.96 166.17,-142.84 162.67,-142.81 162.67,-142.81 162.67,-142.81 166.17,-142.84 162.69,-139.66 169.67,-142.87 169.67,-142.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-145.8\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M177.09,-48.42C173.28,-59.17 176.91,-70 188,-70 196.66,-70 200.78,-63.39 200.34,-55.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"198.91,-48.42 203.41,-54.64 199.62,-51.84 200.32,-55.27 200.32,-55.27 200.32,-55.27 199.62,-51.84 197.24,-55.91 198.91,-48.42 198.91,-48.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M171.76,-151.12C165.77,-153.88 158.73,-156.62 152,-158 125.88,-163.36 118.06,-163.67 92,-158 87.54,-157.03 82.98,-155.44 78.67,-153.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-150.66 79.86,-150.71 75.37,-152.12 78.55,-153.57 78.55,-153.57 78.55,-153.57 75.37,-152.12 77.24,-156.44 72.18,-150.66 72.18,-150.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-165.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.09,-157.42C173.28,-168.17 176.91,-179 188,-179 196.66,-179 200.78,-172.39 200.34,-164.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"198.91,-157.42 203.41,-163.64 199.62,-160.84 200.32,-164.27 200.32,-164.27 200.32,-164.27 199.62,-160.84 197.24,-164.91 198.91,-157.42 198.91,-157.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-182.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc211360> >"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.decompose_scc(aut, 'w')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Similarly, we can extract all the behaviors captured by the **inherently terminal** part of the automaton:"
|
|
]
|
|
},
|
|
{
|
|
"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=\"395pt\" height=\"165pt\"\n",
|
|
" viewBox=\"0.00 0.00 395.00 165.13\" 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 161.13)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-161.13 391,-161.13 391,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-142.93\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-142.93\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"210\" y=\"-142.93\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-128.93\" 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=\"327,-11.13 327,-111.13 379,-111.13 379,-11.13 327,-11.13\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"244,-11.13 244,-96.13 296,-96.13 296,-11.13 244,-11.13\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-9.13 30,-96.13 193,-96.13 193,-9.13 30,-9.13\"/>\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=\"-35.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.43\" 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,-35.13C2.79,-35.13 17.15,-35.13 30.63,-35.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35.13 30.94,-38.28 34.44,-35.13 30.94,-35.13 30.94,-35.13 30.94,-35.13 34.44,-35.13 30.94,-31.98 37.94,-35.13 37.94,-35.13\"/>\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,-52.16C48.32,-61.99 50.45,-71.13 56,-71.13 60.17,-71.13 62.4,-65.98 62.71,-59.27\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-52.16 65.85,-59.01 62.54,-55.66 62.71,-59.16 62.71,-59.16 62.71,-59.16 62.54,-55.66 59.56,-59.3 62.38,-52.16 62.38,-52.16\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-74.93\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"353\" cy=\"-37.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"353\" y=\"-33.43\" 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=\"M73.2,-29.27C112.16,-16.04 213.95,13.47 296,-7.13 308.58,-10.28 321.42,-16.87 331.62,-23.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"337.61,-26.85 330.01,-25.78 334.65,-24.98 331.69,-23.11 331.69,-23.11 331.69,-23.11 334.65,-24.98 333.37,-20.45 337.61,-26.85 337.61,-26.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"215\" y=\"-5.93\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"167\" cy=\"-37.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"167\" y=\"-33.43\" 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.05,-35.28C89.05,-35.44 111.47,-35.72 131,-36.13 134.46,-36.2 138.12,-36.29 141.71,-36.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.91,-36.59 141.83,-39.54 145.41,-36.49 141.91,-36.39 141.91,-36.39 141.91,-36.39 145.41,-36.49 142,-33.24 148.91,-36.59 148.91,-36.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.93\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M345.97,-53.79C344.41,-63.75 346.75,-73.13 353,-73.13 357.69,-73.13 360.18,-67.85 360.47,-61.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"360.03,-53.79 363.6,-60.59 360.24,-57.28 360.46,-60.78 360.46,-60.78 360.46,-60.78 360.24,-57.28 357.31,-60.97 360.03,-53.79 360.03,-53.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-91.93\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"345\" y=\"-76.93\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"270\" cy=\"-37.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"270\" y=\"-33.43\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M288.18,-37.13C299.67,-37.13 314.96,-37.13 327.69,-37.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.85,-37.13 327.85,-40.28 331.35,-37.13 327.85,-37.13 327.85,-37.13 327.85,-37.13 331.35,-37.13 327.85,-33.98 334.85,-37.13 334.85,-37.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"306\" y=\"-40.93\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M262.97,-53.79C261.41,-63.75 263.75,-73.13 270,-73.13 274.69,-73.13 277.18,-67.85 277.47,-61.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"277.03,-53.79 280.6,-60.59 277.24,-57.28 277.46,-60.78 277.46,-60.78 277.46,-60.78 277.24,-57.28 274.31,-60.97 277.03,-53.79 277.03,-53.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"266.5\" y=\"-76.93\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M150.36,-44.86C144.44,-47.39 137.55,-49.86 131,-51.13 113.98,-54.41 108.94,-54.81 92,-51.13 87.54,-50.16 82.98,-48.57 78.67,-46.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-43.79 79.86,-43.84 75.37,-45.24 78.55,-46.7 78.55,-46.7 78.55,-46.7 75.37,-45.24 77.24,-49.56 72.18,-43.79 72.18,-43.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-56.93\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.17,-50.88C192.65,-66.28 216.91,-90.36 244,-100.13 265.74,-107.97 274.92,-109.59 296,-100.13 314.81,-91.68 329.87,-73.45 339.62,-58.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"343.47,-52.73 342.36,-60.32 341.59,-55.68 339.71,-58.63 339.71,-58.63 339.71,-58.63 341.59,-55.68 337.05,-56.94 343.47,-52.73 343.47,-52.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-109.93\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M185.13,-37.13C201.38,-37.13 225.98,-37.13 244.34,-37.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"251.78,-37.13 244.78,-40.28 248.28,-37.13 244.78,-37.13 244.78,-37.13 244.78,-37.13 248.28,-37.13 244.78,-33.98 251.78,-37.13 251.78,-37.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-40.93\" font-family=\"Lato\" font-size=\"14.00\">a & c</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.37,-53.04C156.11,-63.28 158.99,-73.13 167,-73.13 173.13,-73.13 176.25,-67.35 176.37,-60.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.63,-53.04 179.5,-59.67 176,-56.52 176.37,-60 176.37,-60 176.37,-60 176,-56.52 173.23,-60.33 175.63,-53.04 175.63,-53.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-76.93\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc23f3c0> >"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.decompose_scc(aut, 't')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Here is the **strong** part:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"209pt\" height=\"162pt\"\n",
|
|
" viewBox=\"0.00 0.00 209.00 162.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 158)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-158 205,-158 205,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"80\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"101\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"117\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-125.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=\"30,-8 30,-110 193,-110 193,-8 30,-8\"/>\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=\"-35\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.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,-35C2.79,-35 17.15,-35 30.63,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35 30.94,-38.15 34.44,-35 30.94,-35 30.94,-35 30.94,-35 34.44,-35 30.94,-31.85 37.94,-35 37.94,-35\"/>\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,-52.04C48.32,-61.86 50.45,-71 56,-71 60.17,-71 62.4,-65.86 62.71,-59.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-52.04 65.85,-58.88 62.54,-55.53 62.71,-59.03 62.71,-59.03 62.71,-59.03 62.54,-55.53 59.56,-59.18 62.38,-52.04 62.38,-52.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-89.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-74.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=\"167\" cy=\"-42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"167\" y=\"-38.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.09,-34.05C89.12,-33.44 111.57,-33.08 131,-35 134.68,-35.36 138.55,-35.94 142.32,-36.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"149.37,-37.98 141.89,-39.73 145.93,-37.31 142.49,-36.64 142.49,-36.64 142.49,-36.64 145.93,-37.31 143.09,-33.55 149.37,-37.98 149.37,-37.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M149.4,-46.7C134.31,-50.29 111.49,-54 92,-50 87.58,-49.09 83.03,-47.6 78.73,-45.91\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.24,-43.12 79.92,-42.99 75.46,-44.5 78.67,-45.88 78.67,-45.88 78.67,-45.88 75.46,-44.5 77.43,-48.78 72.24,-43.12 72.24,-43.12\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-69.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-54.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M157.77,-57.54C155.17,-67.91 158.25,-78 167,-78 173.7,-78 177.08,-72.08 177.12,-64.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.23,-57.54 180.23,-64.1 176.67,-61.01 177.1,-64.49 177.1,-64.49 177.1,-64.49 176.67,-61.01 173.98,-64.88 176.23,-57.54 176.23,-57.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc0ea4e0> >"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"strong = spot.decompose_scc(aut, 's'); strong"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The union of these three automata recognize the same language as the original automaton.\n",
|
|
"\n",
|
|
"\n",
|
|
"The application proposed in the aforementioned TACAS'13 paper is for parallelizing model checking. Instead of testing the emptiness of the product between `aut` and a system, one could test the emptiness **3** products in parallel: each with a sub-automaton of different strength. Model checking using weak and terminal automata can be done with much more simpler emptiness check procedures than needed for the general case. So in effect, we have isolated the \"hard\" (i.e. strong) part of the original automaton in a smaller automaton, and we only need to use a full-fledged emptiness check for this case.\n",
|
|
"\n",
|
|
"An additional bonus is that it is possible that the simplification algorithms will do a better job at simplifying the sub-automata than at simplifying the original `aut`. For instance here the `strong` automaton can be further simplified:"
|
|
]
|
|
},
|
|
{
|
|
"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=\"98pt\" height=\"193pt\"\n",
|
|
" viewBox=\"0.00 0.00 98.00 193.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 189)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-189 94,-189 94,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"24.5\" y=\"-170.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"45.5\" y=\"-170.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"61.5\" y=\"-170.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"23.5\" y=\"-156.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=\"30,-8 30,-141 82,-141 82,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-34C2.79,-34 17.15,-34 30.63,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-34 30.94,-37.15 34.44,-34 30.94,-34 30.94,-34 30.94,-34 34.44,-34 30.94,-30.85 37.94,-34 37.94,-34\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.76,-51.78C52.21,-61.31 53.29,-70 56,-70 57.99,-70 59.1,-65.32 59.33,-59.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.24,-51.78 62.48,-58.74 59.28,-55.28 59.33,-58.78 59.33,-58.78 59.33,-58.78 59.28,-55.28 56.18,-58.82 59.24,-51.78 59.24,-51.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M50.68,-51.42C47.65,-68.79 49.43,-88 56,-88 61.7,-88 63.79,-73.55 62.27,-58.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"61.32,-51.42 65.39,-57.93 61.79,-54.89 62.26,-58.36 62.26,-58.36 62.26,-58.36 61.79,-54.89 59.14,-58.78 61.32,-51.42 61.32,-51.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-106.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-91.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 0x7f09cc0ea840> >"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"strong.postprocess('small')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Multi-strength extraction\n",
|
|
"\n",
|
|
"The string passed to `decompose_strength()` can include multiple letters to extract multiple strengths at once."
|
|
]
|
|
},
|
|
{
|
|
"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",
|
|
"<!-- Title: option: sw Pages: 1 -->\n",
|
|
"<svg width=\"230pt\" height=\"284pt\"\n",
|
|
" viewBox=\"0.00 0.00 230.00 284.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 280)\">\n",
|
|
"<title>option: sw</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-280 226,-280 226,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"78.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\">option: sw</text>\n",
|
|
"<text text-anchor=\"start\" x=\"90.5\" y=\"-247.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111.5\" y=\"-247.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-247.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"89.5\" y=\"-233.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=\"162,-8 162,-108 214,-108 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-116 30,-218 214,-218 214,-116 30,-116\"/>\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=\"-142\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-138.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,-142C2.79,-142 17.15,-142 30.63,-142\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-142 30.94,-145.15 34.44,-142 30.94,-142 30.94,-142 30.94,-142 34.44,-142 30.94,-138.85 37.94,-142 37.94,-142\"/>\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,-159.04C48.32,-168.86 50.45,-178 56,-178 60.17,-178 62.4,-172.86 62.71,-166.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-159.04 65.85,-165.88 62.54,-162.53 62.71,-166.03 62.71,-166.03 62.71,-166.03 62.54,-162.53 59.56,-166.18 62.38,-159.04 62.38,-159.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-181.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=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.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=\"M70.42,-130.85C93.58,-111.61 141.12,-72.11 167.78,-49.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.46,-45.25 170.08,-52.15 170.76,-47.49 168.07,-49.73 168.07,-49.73 168.07,-49.73 170.76,-47.49 166.06,-47.3 173.46,-45.25 173.46,-45.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-150\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-146.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.22,-141.22C93.29,-140.58 124.93,-140.18 152,-143 155.68,-143.38 159.55,-143.97 163.32,-144.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"170.36,-146.01 162.89,-147.77 166.93,-145.34 163.49,-144.68 163.49,-144.68 163.49,-144.68 166.93,-145.34 164.09,-141.58 170.36,-146.01 170.36,-146.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M177.09,-48.42C173.28,-59.17 176.91,-70 188,-70 196.66,-70 200.78,-63.39 200.34,-55.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"198.91,-48.42 203.41,-54.64 199.62,-51.84 200.32,-55.27 200.32,-55.27 200.32,-55.27 199.62,-51.84 197.24,-55.91 198.91,-48.42 198.91,-48.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M170.4,-154.6C164.62,-155.98 158.07,-157.32 152,-158 125.5,-160.99 118.06,-163.67 92,-158 87.54,-157.03 82.98,-155.44 78.67,-153.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-150.66 79.86,-150.71 75.37,-152.12 78.55,-153.57 78.55,-153.57 78.55,-153.57 75.37,-152.12 77.24,-156.44 72.18,-150.66 72.18,-150.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-179.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"114\" y=\"-164.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=\"M177.09,-164.42C173.28,-175.17 176.91,-186 188,-186 196.66,-186 200.78,-179.39 200.34,-171.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"198.91,-164.42 203.41,-170.64 199.62,-167.84 200.32,-171.27 200.32,-171.27 200.32,-171.27 199.62,-167.84 197.24,-171.91 198.91,-164.42 198.91,-164.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc0eaab0> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: option: st Pages: 1 -->\n",
|
|
"<svg width=\"395pt\" height=\"189pt\"\n",
|
|
" viewBox=\"0.00 0.00 395.00 189.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 185)\">\n",
|
|
"<title>option: st</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185 391,-185 391,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"164\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\">option: st</text>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-152.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-152.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"210\" y=\"-152.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-138.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=\"327,-21 327,-121 379,-121 379,-21 327,-21\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"244,-21 244,-106 296,-106 296,-21 244,-21\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-8 30,-110 193,-110 193,-8 30,-8\"/>\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=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-34C2.79,-34 17.15,-34 30.63,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-34 30.94,-37.15 34.44,-34 30.94,-34 30.94,-34 30.94,-34 34.44,-34 30.94,-30.85 37.94,-34 37.94,-34\"/>\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,-51.04C48.32,-60.86 50.45,-70 56,-70 60.17,-70 62.4,-64.86 62.71,-58.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-51.04 65.85,-57.88 62.54,-54.53 62.71,-58.03 62.71,-58.03 62.71,-58.03 62.54,-54.53 59.56,-58.18 62.38,-51.04 62.38,-51.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-73.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=\"353\" cy=\"-47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"353\" y=\"-43.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=\"M73.54,-29.32C112.81,-18.96 214.5,3.46 296,-17 308.58,-20.16 321.42,-26.74 331.62,-32.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"337.61,-36.72 330.01,-35.65 334.65,-34.85 331.69,-32.99 331.69,-32.99 331.69,-32.99 334.65,-34.85 333.37,-30.32 337.61,-36.72 337.61,-36.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"215\" y=\"-13.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"167\" cy=\"-49\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"167\" y=\"-45.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.23,-32.47C89.35,-31.54 111.85,-31.18 131,-35 135.19,-35.84 139.53,-37.16 143.65,-38.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"150.35,-41.32 142.68,-41.67 147.09,-40.03 143.84,-38.74 143.84,-38.74 143.84,-38.74 147.09,-40.03 145,-35.81 150.35,-41.32 150.35,-41.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M345.97,-63.66C344.41,-73.62 346.75,-83 353,-83 357.69,-83 360.18,-77.73 360.47,-70.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"360.03,-63.66 363.6,-70.46 360.24,-67.16 360.46,-70.65 360.46,-70.65 360.46,-70.65 360.24,-67.16 357.31,-70.84 360.03,-63.66 360.03,-63.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-101.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"345\" y=\"-86.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"270\" cy=\"-47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"270\" y=\"-43.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M288.18,-47C299.67,-47 314.96,-47 327.69,-47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.85,-47 327.85,-50.15 331.35,-47 327.85,-47 327.85,-47 327.85,-47 331.35,-47 327.85,-43.85 334.85,-47 334.85,-47\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"306\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M262.97,-63.66C261.41,-73.62 263.75,-83 270,-83 274.69,-83 277.18,-77.73 277.47,-70.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"277.03,-63.66 280.6,-70.46 277.24,-67.16 277.46,-70.65 277.46,-70.65 277.46,-70.65 277.24,-67.16 274.31,-70.84 277.03,-63.66 277.03,-63.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"266.5\" y=\"-86.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M149.03,-51.39C133.89,-53.01 111.21,-54.18 92,-50 87.54,-49.03 82.98,-47.44 78.67,-45.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-42.66 79.86,-42.71 75.37,-44.12 78.55,-45.57 78.55,-45.57 78.55,-45.57 75.37,-44.12 77.24,-48.44 72.18,-42.66 72.18,-42.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-55.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.26,-62.33C192.84,-77.25 217.19,-100.57 244,-110 265.8,-117.67 274.92,-119.47 296,-110 314.81,-101.55 329.87,-83.33 339.62,-68.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"343.47,-62.6 342.36,-70.2 341.59,-65.55 339.71,-68.5 339.71,-68.5 339.71,-68.5 341.59,-65.55 337.05,-66.81 343.47,-62.6 343.47,-62.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-119.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M185.13,-48.66C201.38,-48.34 225.98,-47.85 244.34,-47.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"251.78,-47.34 244.85,-50.63 248.28,-47.41 244.78,-47.48 244.78,-47.48 244.78,-47.48 248.28,-47.41 244.72,-44.33 251.78,-47.34 251.78,-47.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</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.37,-64.92C156.11,-75.15 158.99,-85 167,-85 173.13,-85 176.25,-79.23 176.37,-71.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.63,-64.92 179.5,-71.55 176,-68.4 176.37,-71.88 176.37,-71.88 176.37,-71.88 176,-68.4 173.23,-72.21 175.63,-64.92 175.63,-64.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc20bc60> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: option: wt Pages: 1 -->\n",
|
|
"<svg width=\"416pt\" height=\"316pt\"\n",
|
|
" viewBox=\"0.00 0.00 416.00 316.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 312)\">\n",
|
|
"<title>option: wt</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-312 412,-312 412,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-293.8\" font-family=\"Lato\" font-size=\"14.00\">option: wt</text>\n",
|
|
"<text text-anchor=\"start\" x=\"183.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"204.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"220.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-265.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=\"348,-148 348,-248 400,-248 400,-148 348,-148\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"162,-8 162,-108 214,-108 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"265,-148 265,-233 317,-233 317,-148 265,-148\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-146 30,-233 214,-233 214,-146 30,-146\"/>\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=\"-172\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-168.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,-172C2.79,-172 17.15,-172 30.63,-172\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-172 30.94,-175.15 34.44,-172 30.94,-172 30.94,-172 30.94,-172 34.44,-172 30.94,-168.85 37.94,-172 37.94,-172\"/>\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,-189.04C48.32,-198.86 50.45,-208 56,-208 60.17,-208 62.4,-202.86 62.71,-196.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-189.04 65.85,-195.88 62.54,-192.53 62.71,-196.03 62.71,-196.03 62.71,-196.03 62.54,-192.53 59.56,-196.18 62.38,-189.04 62.38,-189.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-211.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"374\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"374\" y=\"-170.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=\"M73.4,-166.31C114.86,-152.77 226.95,-121.4 317,-144 329.58,-147.16 342.42,-153.74 352.62,-159.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"358.61,-163.72 351.01,-162.65 355.65,-161.85 352.69,-159.99 352.69,-159.99 352.69,-159.99 355.65,-161.85 354.37,-157.32 358.61,-163.72 358.61,-163.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">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=\"M62.32,-154.9C67.85,-139.11 77.73,-115.64 92,-99 112.54,-75.05 143.89,-55.91 164.89,-44.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.32,-41.43 166.56,-47.45 168.22,-43.04 165.11,-44.65 165.11,-44.65 165.11,-44.65 168.22,-43.04 163.66,-41.86 171.32,-41.43 171.32,-41.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-102.8\" 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=\"188\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-170.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.16,-172.09C93.19,-172.21 124.79,-172.47 152,-173 155.46,-173.07 159.12,-173.15 162.71,-173.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"169.91,-173.45 162.83,-176.4 166.41,-173.35 162.91,-173.25 162.91,-173.25 162.91,-173.25 166.41,-173.35 163,-170.11 169.91,-173.45 169.91,-173.45\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M366.97,-190.66C365.41,-200.62 367.75,-210 374,-210 378.69,-210 381.18,-204.73 381.47,-197.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"381.03,-190.66 384.6,-197.46 381.24,-194.16 381.46,-197.65 381.46,-197.65 381.46,-197.65 381.24,-194.16 378.31,-197.84 381.03,-190.66 381.03,-190.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369.5\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366\" y=\"-213.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=\"M179.37,-49.92C177.11,-60.15 179.99,-70 188,-70 194.13,-70 197.25,-64.23 197.37,-56.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.63,-49.92 200.5,-56.55 197,-53.4 197.37,-56.88 197.37,-56.88 197.37,-56.88 197,-53.4 194.23,-57.21 196.63,-49.92 196.63,-49.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"291\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"291\" y=\"-170.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M309.18,-174C320.67,-174 335.96,-174 348.69,-174\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"355.85,-174 348.85,-177.15 352.35,-174 348.85,-174 348.85,-174 348.85,-174 352.35,-174 348.85,-170.85 355.85,-174 355.85,-174\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"327\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M283.97,-190.66C282.41,-200.62 284.75,-210 291,-210 295.69,-210 298.18,-204.73 298.47,-197.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"298.03,-190.66 301.6,-197.46 298.24,-194.16 298.46,-197.65 298.46,-197.65 298.46,-197.65 298.24,-194.16 295.31,-197.84 298.03,-190.66 298.03,-190.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M171.36,-181.73C165.44,-184.26 158.55,-186.74 152,-188 125.81,-193.04 118.06,-193.67 92,-188 87.54,-187.03 82.98,-185.44 78.67,-183.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-180.66 79.86,-180.71 75.37,-182.12 78.55,-183.57 78.55,-183.57 78.55,-183.57 75.37,-182.12 77.24,-186.44 72.18,-180.66 72.18,-180.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-195.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.17,-187.75C213.65,-203.15 237.91,-227.23 265,-237 286.74,-244.84 295.92,-246.47 317,-237 335.81,-228.55 350.87,-210.33 360.62,-195.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.47,-189.6 363.36,-197.2 362.59,-192.55 360.71,-195.5 360.71,-195.5 360.71,-195.5 362.59,-192.55 358.05,-193.81 364.47,-189.6 364.47,-189.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M206.13,-174C222.38,-174 246.98,-174 265.34,-174\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"272.78,-174 265.78,-177.15 269.28,-174 265.78,-174 265.78,-174 265.78,-174 269.28,-174 265.78,-170.85 272.78,-174 272.78,-174\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"224\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.37,-189.92C177.11,-200.15 179.99,-210 188,-210 194.13,-210 197.25,-204.23 197.37,-196.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.63,-189.92 200.5,-196.55 197,-193.4 197.37,-196.88 197.37,-196.88 197.37,-196.88 197,-193.4 194.23,-197.21 196.63,-189.92 196.63,-189.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc092cc0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for opt in ('sw', 'st', 'wt'):\n",
|
|
" a = spot.decompose_scc(aut, opt)\n",
|
|
" a.set_name(\"option: \" + opt)\n",
|
|
" display(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Generalized acceptance\n",
|
|
"\n",
|
|
"There is nothing that prevents the above decomposition to work with other types of acceptance.\n",
|
|
"\n",
|
|
"## Rabin\n",
|
|
"\n",
|
|
"The following Rabin automaton was generated with\n",
|
|
"\n",
|
|
" ltldo -f '(Ga -> Gb) W c' 'ltl2dstar --ltl2nba=spin:ltl2tgba@-Ds' -H | autfilt -H --merge-transitions\n",
|
|
" \n",
|
|
"(The `autfilt -H --merge-transitions` pass is just here to reduce the size of the file and make the automaton more readable.)"
|
|
]
|
|
},
|
|
{
|
|
"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=\"543pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 542.99 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.5988023952095809 0.5988023952095809) rotate(0) translate(4 598)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-598 904,-598 904,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"335.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\">(Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"362.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"378.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"420.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"436.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\">)) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"482.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"498.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"540.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"556.5\" y=\"-579.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"422.5\" y=\"-565.8\" font-family=\"Lato\" font-size=\"14.00\">[Rabin 2]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"828,-272 828,-357 892,-357 892,-272 828,-272\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"745,-214 745,-301 797,-301 797,-214 745,-214\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"745,-8 745,-95 797,-95 797,-8 745,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"315.5,-214 315.5,-350 665,-350 665,-214 315.5,-214\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-357 166,-409 230,-409 230,-357 166,-357\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust6\" class=\"cluster\">\n",
|
|
"<title>cluster_5</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-128 166,-180 230,-180 230,-128 166,-128\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust7\" class=\"cluster\">\n",
|
|
"<title>cluster_6</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"30,-259 30,-313 82,-313 82,-259 30,-259\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-305C62,-305 50,-305 50,-305 44,-305 38,-299 38,-293 38,-293 38,-279 38,-279 38,-273 44,-267 50,-267 50,-267 62,-267 62,-267 68,-267 74,-273 74,-279 74,-279 74,-293 74,-293 74,-299 68,-305 62,-305\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-289.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-274.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->2 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-286C2.79,-286 17.15,-286 30.63,-286\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-286 30.94,-289.15 34.44,-286 30.94,-286 30.94,-286 30.94,-286 34.44,-286 30.94,-282.85 37.94,-286 37.94,-286\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M872,-316C872,-316 848,-316 848,-316 842,-316 836,-310 836,-304 836,-304 836,-292 836,-292 836,-286 842,-280 848,-280 848,-280 872,-280 872,-280 878,-280 884,-286 884,-292 884,-292 884,-304 884,-304 884,-310 878,-316 872,-316\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"855.5\" y=\"-301.8\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"<text text-anchor=\"start\" x=\"844\" y=\"-287.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"860\" y=\"-287.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M58.36,-305.32C63.73,-365.09 88.78,-543 197,-543 197,-543 197,-543 772,-543 801.55,-543 804.23,-521.15 818,-495 847.68,-438.64 855.88,-362.62 858.14,-323.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"858.52,-316.24 861.3,-323.39 858.34,-319.73 858.16,-323.23 858.16,-323.23 858.16,-323.23 858.34,-319.73 855.01,-323.06 858.52,-316.24 858.52,-316.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"489.5\" y=\"-546.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M505,-309C505,-309 481,-309 481,-309 475,-309 469,-303 469,-297 469,-297 469,-285 469,-285 469,-279 475,-273 481,-273 481,-273 505,-273 505,-273 511,-273 517,-279 517,-285 517,-285 517,-297 517,-297 517,-303 511,-309 505,-309\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"488.5\" y=\"-294.8\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"<text text-anchor=\"start\" x=\"477\" y=\"-280.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"493\" y=\"-280.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.17,-280.56C106.31,-270.69 177.92,-250.2 240,-243 321.17,-233.59 415.43,-262.33 462.33,-279.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"468.9,-281.78 461.24,-282.32 465.61,-280.57 462.33,-279.36 462.33,-279.36 462.33,-279.36 465.61,-280.57 463.42,-276.41 468.9,-281.78 468.9,-281.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M210,-401C210,-401 186,-401 186,-401 180,-401 174,-395 174,-389 174,-389 174,-377 174,-377 174,-371 180,-365 186,-365 186,-365 210,-365 210,-365 216,-365 222,-371 222,-377 222,-377 222,-389 222,-389 222,-395 216,-401 210,-401\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"193.5\" y=\"-386.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182\" y=\"-372.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198\" y=\"-372.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.17,-297.89C97.48,-314.05 139.49,-343.15 167.8,-362.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.63,-366.81 166.08,-365.41 170.75,-364.81 167.87,-362.82 167.87,-362.82 167.87,-362.82 170.75,-364.81 169.67,-360.23 173.63,-366.81 173.63,-366.81\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-357.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M210,-172C210,-172 186,-172 186,-172 180,-172 174,-166 174,-160 174,-160 174,-148 174,-148 174,-142 180,-136 186,-136 186,-136 210,-136 210,-136 216,-136 222,-142 222,-148 222,-148 222,-160 222,-160 222,-166 216,-172 210,-172\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"193.5\" y=\"-157.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M62.82,-266.71C68.32,-251.03 77.85,-229.12 92,-214 113.02,-191.53 144.38,-175.13 167.35,-165.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.89,-162.46 168.66,-168.07 170.67,-163.81 167.44,-165.17 167.44,-165.17 167.44,-165.17 170.67,-163.81 166.22,-162.26 173.89,-162.46 173.89,-162.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-217.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M851.68,-316.15C850.4,-325.54 853.17,-334 860,-334 865.01,-334 867.84,-329.44 868.48,-323.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"868.32,-316.15 871.63,-323.08 868.4,-319.65 868.48,-323.15 868.48,-323.15 868.48,-323.15 868.4,-319.65 865.33,-323.22 868.32,-316.15 868.32,-316.15\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"860\" y=\"-337.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M777,-260C777,-260 765,-260 765,-260 759,-260 753,-254 753,-248 753,-248 753,-234 753,-234 753,-228 759,-222 765,-222 765,-222 777,-222 777,-222 783,-222 789,-228 789,-234 789,-234 789,-248 789,-248 789,-254 783,-260 777,-260\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766.5\" y=\"-244.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"763\" y=\"-229.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->6 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M789.19,-252.26C800.78,-259.86 816.37,-270.07 829.88,-278.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"835.92,-282.88 828.33,-281.67 832.99,-280.96 830.06,-279.04 830.06,-279.04 830.06,-279.04 832.99,-280.96 831.79,-276.4 835.92,-282.88 835.92,-282.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"807\" y=\"-272.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M763.72,-260.04C762.71,-269.53 765.14,-278 771,-278 775.3,-278 777.75,-273.43 778.35,-267.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"778.28,-260.04 781.5,-267 778.32,-263.54 778.35,-267.04 778.35,-267.04 778.35,-267.04 778.32,-263.54 775.2,-267.07 778.28,-260.04 778.28,-260.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"767.5\" y=\"-281.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M777,-54C777,-54 765,-54 765,-54 759,-54 753,-48 753,-42 753,-42 753,-28 753,-28 753,-22 759,-16 765,-16 765,-16 777,-16 777,-16 783,-16 789,-22 789,-28 789,-28 789,-42 789,-42 789,-48 783,-54 777,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"<text text-anchor=\"start\" x=\"763\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->6 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\">\n",
|
|
"<title>8->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M789.43,-49.82C799.33,-59.19 811.08,-72.13 818,-86 849.02,-148.22 856.61,-231.55 858.44,-272.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"858.72,-279.94 855.3,-273.07 858.59,-276.44 858.45,-272.95 858.45,-272.95 858.45,-272.95 858.59,-276.44 861.6,-272.82 858.72,-279.94 858.72,-279.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"807\" y=\"-89.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->1 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\">\n",
|
|
"<title>8->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M757.13,-54.41C739.33,-80.63 709.41,-129.49 698,-176.5 696.43,-182.98 694.88,-185.61 698,-191.5 708.13,-210.61 729.31,-223.7 746.25,-231.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"752.74,-234.47 745.07,-234.52 749.54,-233.05 746.34,-231.64 746.34,-231.64 746.34,-231.64 749.54,-233.05 747.62,-228.76 752.74,-234.47 752.74,-234.47\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"687\" y=\"-180.3\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->8 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\">\n",
|
|
"<title>8->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M763.72,-54.04C762.71,-63.53 765.14,-72 771,-72 775.3,-72 777.75,-67.43 778.35,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"778.28,-54.04 781.5,-61 778.32,-57.54 778.35,-61.04 778.35,-61.04 778.35,-61.04 778.32,-57.54 775.2,-61.07 778.28,-54.04 778.28,-54.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"755\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M347.5,-309C347.5,-309 335.5,-309 335.5,-309 329.5,-309 323.5,-303 323.5,-297 323.5,-297 323.5,-283 323.5,-283 323.5,-277 329.5,-271 335.5,-271 335.5,-271 347.5,-271 347.5,-271 353.5,-271 359.5,-277 359.5,-283 359.5,-283 359.5,-297 359.5,-297 359.5,-303 353.5,-309 347.5,-309\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"337\" y=\"-293.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-278.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->6 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.11,-309.24C354.86,-323.01 364.56,-340.86 379,-351 409.39,-372.34 424.04,-363.43 461,-367 620.47,-382.41 666.38,-368.77 818,-317 821.71,-315.73 825.54,-314.24 829.29,-312.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"835.93,-309.72 830.8,-315.43 832.73,-311.13 829.53,-312.54 829.53,-312.54 829.53,-312.54 832.73,-311.13 828.26,-309.66 835.93,-309.72 835.93,-309.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"621.5\" y=\"-372.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.54,-308.03C365.32,-313.39 372.08,-318.93 379,-323 435.94,-356.52 459.86,-362.07 525,-351 612.22,-336.18 704.75,-282.89 746.8,-256.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"752.87,-252.43 748.66,-258.85 749.92,-254.32 746.97,-256.2 746.97,-256.2 746.97,-256.2 749.92,-254.32 745.27,-253.54 752.87,-252.43 752.87,-252.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"557.5\" y=\"-350.8\" font-family=\"Lato\" font-size=\"14.00\">a & 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=\"M329.13,-309.04C327.41,-318.53 331.54,-327 341.5,-327 348.82,-327 352.98,-322.43 354,-316.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"353.87,-309.04 357.15,-315.98 353.94,-312.54 354,-316.04 354,-316.04 354,-316.04 353.94,-312.54 350.85,-316.09 353.87,-309.04 353.87,-309.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"324\" y=\"-330.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->5 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.57,-288.31C365.69,-287.78 372.65,-287.26 379,-287 407.42,-285.83 414.58,-285.84 443,-287 449.01,-287.24 455.42,-287.66 461.56,-288.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"468.6,-288.7 461.36,-291.27 465.11,-288.42 461.62,-288.13 461.62,-288.13 461.62,-288.13 465.11,-288.42 461.87,-284.99 468.6,-288.7 468.6,-288.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-290.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->6 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>5->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M517.01,-300.76C525.08,-303.7 534.3,-306.53 543,-308 570.34,-312.61 633.19,-315.49 797,-305 807.35,-304.34 818.63,-303.19 828.7,-302.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"835.79,-301.16 829.22,-305.13 832.31,-301.58 828.84,-302 828.84,-302 828.84,-302 832.31,-301.58 828.46,-298.87 835.79,-301.16 835.79,-301.16\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"701.5\" y=\"-314.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->0 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>5->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M468.75,-297.32C460.66,-299.23 451.49,-301.06 443,-302 414.73,-305.13 407.09,-306.5 379,-302 374.86,-301.34 370.56,-300.28 366.42,-299.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"359.67,-296.89 367.3,-296.03 363,-297.96 366.34,-299.03 366.34,-299.03 366.34,-299.03 363,-297.96 365.37,-302.03 359.67,-296.89 359.67,-296.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"379\" y=\"-307.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M478.53,-309.15C476.3,-318.54 481.12,-327 493,-327 501.72,-327 506.64,-322.44 507.75,-316.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"507.47,-309.15 510.9,-316.02 507.61,-312.65 507.75,-316.15 507.75,-316.15 507.75,-316.15 507.61,-312.65 504.6,-316.27 507.47,-309.15 507.47,-309.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"473.5\" y=\"-330.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M645,-260C645,-260 633,-260 633,-260 627,-260 621,-254 621,-248 621,-248 621,-234 621,-234 621,-228 627,-222 633,-222 633,-222 645,-222 645,-222 651,-222 657,-228 657,-234 657,-234 657,-248 657,-248 657,-254 651,-260 645,-260\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"634.5\" y=\"-244.8\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"<text text-anchor=\"start\" x=\"631\" y=\"-229.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->7 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>5->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M517.34,-291.64C540.29,-291.37 575.73,-288.46 603,-275 608.13,-272.47 612.99,-268.91 617.36,-265.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"622.62,-260.03 619.73,-267.13 620.09,-262.44 617.55,-264.85 617.55,-264.85 617.55,-264.85 620.09,-262.44 615.38,-262.57 622.62,-260.03 622.62,-260.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"543\" y=\"-292.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->6 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>7->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M644.36,-221.89C649.06,-206.24 658.22,-185.1 675,-175 697.85,-161.25 708.66,-170.86 735,-175 763.6,-179.5 774.31,-177.01 797,-195 822.75,-215.42 840.28,-249.69 849.96,-273.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"852.6,-279.61 847.07,-274.29 851.29,-276.37 849.99,-273.12 849.99,-273.12 849.99,-273.12 851.29,-276.37 852.91,-271.95 852.6,-279.61 852.6,-279.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"753.5\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->1 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>7->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M657.26,-241C679.89,-241 719.73,-241 745.48,-241\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"752.67,-241 745.67,-244.15 749.17,-241 745.67,-241 745.67,-241 745.67,-241 749.17,-241 745.67,-237.85 752.67,-241 752.67,-241\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"675\" y=\"-244.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->8 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\">\n",
|
|
"<title>7->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M643.37,-221.75C647.95,-199.05 657.65,-160.76 675,-132 694.23,-100.13 725.87,-70.68 747.31,-52.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"752.79,-48.26 749.39,-55.15 750.09,-50.49 747.39,-52.71 747.39,-52.71 747.39,-52.71 750.09,-50.49 745.39,-50.28 752.79,-48.26 752.79,-48.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"677\" y=\"-135.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->0 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>7->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M620.82,-240.15C601.78,-239.36 570.17,-238.51 543,-240 506.39,-242 496.77,-240.96 461,-249 427.36,-256.56 390,-270.46 366.38,-279.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"359.81,-282.63 365.11,-277.08 363.05,-281.31 366.29,-280 366.29,-280 366.29,-280 363.05,-281.31 367.48,-282.91 359.81,-282.63 359.81,-282.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"461\" y=\"-252.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->5 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>7->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M620.89,-241.35C601.37,-242.27 568.81,-245.44 543,-256 535.14,-259.22 527.33,-263.92 520.34,-268.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"514.67,-272.99 518.45,-266.31 517.49,-270.92 520.31,-268.85 520.31,-268.85 520.31,-268.85 517.49,-270.92 522.18,-271.39 514.67,-272.99 514.67,-272.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"553.5\" y=\"-259.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M626.99,-260.04C625.33,-269.53 629.33,-278 639,-278 646.1,-278 650.14,-273.43 651.13,-267.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"651.01,-260.04 654.28,-266.98 651.07,-263.54 651.13,-267.04 651.13,-267.04 651.13,-267.04 651.07,-263.54 647.98,-267.09 651.01,-260.04 651.01,-260.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"609\" y=\"-281.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.5,-401.13C214.64,-414.82 225.92,-433.36 240,-446 277.27,-479.47 290.41,-497 340.5,-497 340.5,-497 340.5,-497 772,-497 847.09,-497 858,-376.59 859.14,-323.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"859.25,-316.01 862.29,-323.06 859.2,-319.51 859.14,-323.01 859.14,-323.01 859.14,-323.01 859.2,-319.51 855.99,-322.96 859.25,-316.01 859.25,-316.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"555.5\" y=\"-500.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M219.9,-401.28C246.15,-422.32 293.5,-454 340.5,-454 340.5,-454 340.5,-454 574,-454 664.32,-454 682.02,-403.15 735,-330 748.76,-311.01 757.99,-285.88 763.5,-267.17\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"765.5,-260.08 766.63,-267.68 764.55,-263.45 763.6,-266.82 763.6,-266.82 763.6,-266.82 764.55,-263.45 760.57,-265.96 765.5,-260.08 765.5,-260.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"477.5\" y=\"-457.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222.28,-366.24C228.03,-362.18 234.21,-357.89 240,-354 266.15,-336.44 296.74,-317.13 317.24,-304.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"323.27,-300.62 318.98,-306.99 320.29,-302.47 317.32,-304.32 317.32,-304.32 317.32,-304.32 320.29,-302.47 315.66,-301.64 323.27,-300.62 323.27,-300.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-357.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222.14,-381.08C243.55,-379.02 276.18,-375.2 304,-369 367.52,-354.85 384.51,-351.53 443,-323 449.58,-319.79 456.33,-315.86 462.64,-311.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"468.78,-307.86 464.63,-314.32 465.84,-309.77 462.91,-311.68 462.91,-311.68 462.91,-311.68 465.84,-309.77 461.19,-309.04 468.78,-307.86 468.78,-307.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"322\" y=\"-369.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->6 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>4->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222.1,-143.37C299.22,-109.53 553.18,-11.4 735,-97 806.31,-130.57 840.44,-227.05 853.02,-273.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"854.86,-279.97 850.02,-274.01 853.96,-276.58 853.07,-273.2 853.07,-273.2 853.07,-273.2 853.96,-276.58 856.11,-272.39 854.86,-279.97 854.86,-279.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"555.5\" y=\"-68.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222.39,-151.32C228.14,-150.77 234.29,-150.28 240,-150 293.72,-147.39 307.25,-150.07 361,-152 433.89,-154.61 453.26,-144.83 525,-158 609.07,-173.44 703.55,-211.79 746.49,-230.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"752.93,-233.28 745.26,-233.36 749.73,-231.88 746.52,-230.47 746.52,-230.47 746.52,-230.47 749.73,-231.88 747.79,-227.59 752.93,-233.28 752.93,-233.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"463\" y=\"-161.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->8 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>4->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M202.55,-135.72C207.46,-115.33 218.29,-82.74 240,-64 275.19,-33.62 294.01,-35 340.5,-35 340.5,-35 340.5,-35 640,-35 676.77,-35 719.39,-35 745.52,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"752.76,-35 745.76,-38.15 749.26,-35 745.76,-35 745.76,-35 745.76,-35 749.26,-35 745.76,-31.85 752.76,-35 752.76,-35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.87,-172.08C204.33,-196.08 213.93,-238.2 240,-262 260.91,-281.09 293.76,-287.31 316.17,-289.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"323.34,-289.76 316.13,-292.41 319.85,-289.51 316.35,-289.27 316.35,-289.27 316.35,-289.27 319.85,-289.51 316.58,-286.12 323.34,-289.76 323.34,-289.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"240\" y=\"-290.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->5 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>4->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222.37,-162.15C228.12,-164.11 234.27,-166.16 240,-168 329.7,-196.78 371.87,-167.23 443,-229 457.41,-241.52 448.96,-253.19 461,-268 461.78,-268.97 462.62,-269.91 463.49,-270.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"468.82,-275.88 461.57,-273.36 466.28,-273.48 463.74,-271.07 463.74,-271.07 463.74,-271.07 466.28,-273.48 465.9,-268.78 468.82,-275.88 468.82,-275.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"322\" y=\"-190.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->7 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>4->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222.15,-153.83C265.83,-153.94 363.16,-156.26 443,-173 506.66,-186.34 578.01,-214.92 614.19,-230.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"620.95,-233.36 613.27,-233.48 617.74,-231.98 614.52,-230.59 614.52,-230.59 614.52,-230.59 617.74,-231.98 615.77,-227.69 620.95,-233.36 620.95,-233.36\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"381\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc0ea570> >"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.automaton(\"\"\"\n",
|
|
"HOA: v1\n",
|
|
"States: 9\n",
|
|
"Start: 2\n",
|
|
"AP: 3 \"a\" \"b\" \"c\"\n",
|
|
"acc-name: Rabin 2\n",
|
|
"Acceptance: 4 (Fin(0) & Inf(1)) | (Fin(2) & Inf(3))\n",
|
|
"properties: trans-labels explicit-labels state-acc complete\n",
|
|
"properties: deterministic\n",
|
|
"--BODY--\n",
|
|
"State: 0 {2}\n",
|
|
"[0&!2] 0\n",
|
|
"[0&2] 1\n",
|
|
"[!0&!2] 5\n",
|
|
"[!0&2] 6\n",
|
|
"State: 1 {2}\n",
|
|
"[0] 1\n",
|
|
"[!0] 6\n",
|
|
"State: 2 {2}\n",
|
|
"[0&!1&!2] 3\n",
|
|
"[0&1&!2] 4\n",
|
|
"[!0&!2] 5\n",
|
|
"[2] 6\n",
|
|
"State: 3 {1 2}\n",
|
|
"[0&!2] 0\n",
|
|
"[0&2] 1\n",
|
|
"[!0&!2] 5\n",
|
|
"[!0&2] 6\n",
|
|
"State: 4 {1 2}\n",
|
|
"[0&!1&!2] 0\n",
|
|
"[0&!1&2] 1\n",
|
|
"[!0&!2] 5\n",
|
|
"[!0&2] 6\n",
|
|
"[0&1&!2] 7\n",
|
|
"[0&1&2] 8\n",
|
|
"State: 5 {1 2}\n",
|
|
"[0&!1&!2] 0\n",
|
|
"[!0&!2] 5\n",
|
|
"[2] 6\n",
|
|
"[0&1&!2] 7\n",
|
|
"State: 6 {1 2}\n",
|
|
"[t] 6\n",
|
|
"State: 7 {3}\n",
|
|
"[0&!1&!2] 0\n",
|
|
"[0&!1&2] 1\n",
|
|
"[!0&!2] 5\n",
|
|
"[!0&2] 6\n",
|
|
"[0&1&!2] 7\n",
|
|
"[0&1&2] 8\n",
|
|
"State: 8 {3}\n",
|
|
"[0&!1] 1\n",
|
|
"[!0] 6\n",
|
|
"[0&1] 8\n",
|
|
"--END--\n",
|
|
"\"\"\")\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let's decompose it into three strengths:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"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",
|
|
"<!-- Title: terminal Pages: 1 -->\n",
|
|
"<svg width=\"519pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 519.15 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.5882352941176471 0.5882352941176471) rotate(0) translate(4 609)\">\n",
|
|
"<title>terminal</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-609 880,-609 880,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"413\" y=\"-590.8\" font-family=\"Lato\" font-size=\"14.00\">terminal</text>\n",
|
|
"<text text-anchor=\"start\" x=\"417.5\" y=\"-576.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"438.5\" y=\"-576.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"454.5\" y=\"-576.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"416.5\" y=\"-562.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=\"816,-268 816,-355 868,-355 868,-268 816,-268\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"733,-212 733,-297 785,-297 785,-212 733,-212\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"733,-8 733,-93 785,-93 785,-8 733,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"303.5,-211 303.5,-347 653,-347 653,-211 303.5,-211\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-354 166,-406 218,-406 218,-354 166,-354\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust6\" class=\"cluster\">\n",
|
|
"<title>cluster_5</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-127 166,-179 218,-179 218,-127 166,-127\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust7\" class=\"cluster\">\n",
|
|
"<title>cluster_6</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"30,-259 30,-311 82,-311 82,-259 30,-259\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-303C62,-303 50,-303 50,-303 44,-303 38,-297 38,-291 38,-291 38,-279 38,-279 38,-273 44,-267 50,-267 50,-267 62,-267 62,-267 68,-267 74,-273 74,-279 74,-279 74,-291 74,-291 74,-297 68,-303 62,-303\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-281.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,-285C2.79,-285 17.15,-285 30.63,-285\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-285 30.94,-288.15 34.44,-285 30.94,-285 30.94,-285 30.94,-285 34.44,-285 30.94,-281.85 37.94,-285 37.94,-285\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M848,-314C848,-314 836,-314 836,-314 830,-314 824,-308 824,-302 824,-302 824,-288 824,-288 824,-282 830,-276 836,-276 836,-276 848,-276 848,-276 854,-276 860,-282 860,-288 860,-288 860,-302 860,-302 860,-308 854,-314 848,-314\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"837.5\" y=\"-298.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"834\" y=\"-283.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M57.99,-303.34C62.24,-361.81 83.98,-540 191,-540 191,-540 191,-540 760,-540 790.2,-540 792.58,-517.05 806,-490 833.59,-434.4 839.68,-360.28 840.86,-321.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"841.04,-314.09 844.02,-321.17 840.96,-317.59 840.87,-321.09 840.87,-321.09 840.87,-321.09 840.96,-317.59 837.72,-321.02 841.04,-314.09 841.04,-314.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"477.5\" y=\"-543.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M487,-306C487,-306 475,-306 475,-306 469,-306 463,-300 463,-294 463,-294 463,-282 463,-282 463,-276 469,-270 475,-270 475,-270 487,-270 487,-270 493,-270 499,-276 499,-282 499,-282 499,-294 499,-294 499,-300 493,-306 487,-306\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-284.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=\"M74.21,-279.17C104.74,-269.16 170.58,-249.11 228,-242 312.63,-231.52 411.85,-262.55 456.33,-278.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.99,-281.25 455.33,-281.77 459.71,-280.03 456.43,-278.82 456.43,-278.82 456.43,-278.82 459.71,-280.03 457.53,-275.86 462.99,-281.25 462.99,-281.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"240.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-398C198,-398 186,-398 186,-398 180,-398 174,-392 174,-386 174,-386 174,-374 174,-374 174,-368 180,-362 186,-362 186,-362 198,-362 198,-362 204,-362 210,-368 210,-374 210,-374 210,-386 210,-386 210,-392 204,-398 198,-398\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-376.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=\"M74.24,-297.23C98.16,-314.18 141.47,-344.89 168.09,-363.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-367.82 166.29,-366.34 170.97,-365.8 168.11,-363.77 168.11,-363.77 168.11,-363.77 170.97,-365.8 169.93,-361.2 173.82,-367.82 173.82,-367.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-357.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-171C198,-171 186,-171 186,-171 180,-171 174,-165 174,-159 174,-159 174,-147 174,-147 174,-141 180,-135 186,-135 186,-135 198,-135 198,-135 204,-135 210,-141 210,-147 210,-147 210,-159 210,-159 210,-165 204,-171 198,-171\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-149.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=\"M62.59,-266.74C68.1,-251.07 77.77,-228.61 92,-213 113.23,-189.71 145.59,-172.45 167.48,-162.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.91,-159.73 168.78,-165.43 170.71,-161.14 167.51,-162.55 167.51,-162.55 167.51,-162.55 170.71,-161.14 166.24,-159.66 173.91,-159.73 173.91,-159.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M834.72,-314.04C833.71,-323.53 836.14,-332 842,-332 846.3,-332 848.75,-327.43 849.35,-321.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"849.28,-314.04 852.5,-321 849.32,-317.54 849.35,-321.04 849.35,-321.04 849.35,-321.04 849.32,-317.54 846.2,-321.07 849.28,-314.04 849.28,-314.04\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"842\" y=\"-335.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M765,-256C765,-256 753,-256 753,-256 747,-256 741,-250 741,-244 741,-244 741,-232 741,-232 741,-226 747,-220 753,-220 753,-220 765,-220 765,-220 771,-220 777,-226 777,-232 777,-232 777,-244 777,-244 777,-250 771,-256 765,-256\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"759\" y=\"-234.3\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->4 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\">\n",
|
|
"<title>7->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M777.18,-250.09C789.1,-258.48 805.11,-269.74 818.11,-278.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"823.85,-282.93 816.31,-281.48 820.98,-280.91 818.12,-278.9 818.12,-278.9 818.12,-278.9 820.98,-280.91 819.93,-276.32 823.85,-282.93 823.85,-282.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"795\" y=\"-272.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M751.76,-256.15C750.65,-265.54 753.06,-274 759,-274 763.36,-274 765.82,-269.44 766.38,-263.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.24,-256.15 769.52,-263.09 766.31,-259.65 766.37,-263.15 766.37,-263.15 766.37,-263.15 766.31,-259.65 763.23,-263.21 766.24,-256.15 766.24,-256.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"755.5\" y=\"-277.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M765,-52C765,-52 753,-52 753,-52 747,-52 741,-46 741,-40 741,-40 741,-28 741,-28 741,-22 747,-16 753,-16 753,-16 765,-16 765,-16 771,-16 777,-22 777,-28 777,-28 777,-40 777,-40 777,-46 771,-52 765,-52\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"759\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->4 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\">\n",
|
|
"<title>8->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M777.12,-47.98C787.15,-57.15 799.17,-70.01 806,-84 835.9,-145.26 840.92,-227.16 841.36,-268.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"841.4,-275.85 838.21,-268.87 841.38,-272.35 841.36,-268.85 841.36,-268.85 841.36,-268.85 841.38,-272.35 844.51,-268.84 841.4,-275.85 841.4,-275.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"795\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->7 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\">\n",
|
|
"<title>8->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M745.73,-52.38C728.02,-78.16 697.55,-127.24 686,-174.5 684.42,-180.98 682.85,-183.62 686,-189.5 696.16,-208.44 717.33,-221.25 734.27,-228.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.76,-231.71 733.08,-231.84 737.54,-230.32 734.32,-228.94 734.32,-228.94 734.32,-228.94 737.54,-230.32 735.57,-226.05 740.76,-231.71 740.76,-231.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"675\" y=\"-178.3\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->8 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\">\n",
|
|
"<title>8->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M751.76,-52.15C750.65,-61.54 753.06,-70 759,-70 763.36,-70 765.82,-65.44 766.38,-59.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.24,-52.15 769.52,-59.09 766.31,-55.65 766.37,-59.15 766.37,-59.15 766.37,-59.15 766.31,-55.65 763.23,-59.21 766.24,-52.15 766.24,-52.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"743\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M335.5,-306C335.5,-306 323.5,-306 323.5,-306 317.5,-306 311.5,-300 311.5,-294 311.5,-294 311.5,-282 311.5,-282 311.5,-276 317.5,-270 323.5,-270 323.5,-270 335.5,-270 335.5,-270 341.5,-270 347.5,-276 347.5,-282 347.5,-282 347.5,-294 347.5,-294 347.5,-300 341.5,-306 335.5,-306\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"329.5\" y=\"-284.3\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M336.61,-306.14C342.27,-320.08 352.09,-338.66 367,-349 397.45,-370.11 412.1,-360.65 449,-364 598.99,-377.61 638.22,-353.74 785,-320 794.35,-317.85 797.08,-318.53 806,-315 809.84,-313.48 813.76,-311.61 817.53,-309.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"823.68,-306.19 819.09,-312.35 820.62,-307.89 817.56,-309.59 817.56,-309.59 817.56,-309.59 820.62,-307.89 816.04,-306.84 823.68,-306.19 823.68,-306.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"609.5\" y=\"-364.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->7 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>5->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.51,-306.07C353.29,-311.44 360.06,-316.96 367,-321 424.05,-354.17 448.01,-359.47 513,-348 600.13,-332.62 692.7,-279.6 734.78,-253.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.85,-249.35 736.62,-255.75 737.9,-251.22 734.94,-253.09 734.94,-253.09 734.94,-253.09 737.9,-251.22 733.25,-250.43 740.85,-249.35 740.85,-249.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"545.5\" y=\"-347.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M317.2,-306.15C315.31,-315.54 319.41,-324 329.5,-324 336.91,-324 341.09,-319.44 342.04,-313.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.8,-306.15 345.18,-313.04 341.92,-309.65 342.04,-313.15 342.04,-313.15 342.04,-313.15 341.92,-309.65 338.89,-313.25 341.8,-306.15 341.8,-306.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-327.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->3 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>5->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.85,-283.98C353.88,-282.76 360.71,-281.6 367,-281 395.32,-278.31 402.63,-278.98 431,-281 439.14,-281.58 447.98,-282.69 455.88,-283.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.83,-284.94 455.43,-286.98 459.37,-284.4 455.91,-283.87 455.91,-283.87 455.91,-283.87 459.37,-284.4 456.4,-280.75 462.83,-284.94 462.83,-284.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"379.5\" y=\"-284.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M499.27,-296.04C508.48,-299.89 520.11,-304.06 531,-306 635.86,-324.65 763.72,-307.92 816.46,-299.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"823.68,-298.14 817.29,-302.4 820.23,-298.72 816.78,-299.29 816.78,-299.29 816.78,-299.29 820.23,-298.72 816.26,-296.18 823.68,-298.14 823.68,-298.14\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"689.5\" y=\"-317.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.95,-293.24C453.62,-295.84 441.78,-298.7 431,-300 402.76,-303.41 395.09,-304.5 367,-300 362.86,-299.34 358.56,-298.28 354.42,-297.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.67,-294.89 355.3,-294.03 351,-295.96 354.34,-297.03 354.34,-297.03 354.34,-297.03 351,-295.96 353.37,-300.03 347.67,-294.89 347.67,-294.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-305.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.53,-306.15C464.3,-315.54 469.12,-324 481,-324 489.72,-324 494.64,-319.44 495.75,-313.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"495.47,-306.15 498.9,-313.02 495.61,-309.65 495.75,-313.15 495.75,-313.15 495.75,-313.15 495.61,-309.65 492.6,-313.27 495.47,-306.15 495.47,-306.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"461.5\" y=\"-327.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M633,-255C633,-255 621,-255 621,-255 615,-255 609,-249 609,-243 609,-243 609,-231 609,-231 609,-225 615,-219 621,-219 621,-219 633,-219 633,-219 639,-219 645,-225 645,-231 645,-231 645,-243 645,-243 645,-249 639,-255 633,-255\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"627\" y=\"-233.3\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M499.23,-288.73C521.59,-288.96 561.26,-286.94 591,-272 596.86,-269.05 602.35,-264.75 607.15,-260.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"612.08,-255.12 609.44,-262.33 609.63,-257.62 607.19,-260.12 607.19,-260.12 607.19,-260.12 609.63,-257.62 604.93,-257.92 612.08,-255.12 612.08,-255.12\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"531\" y=\"-290.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M632.44,-218.76C637.21,-203.54 646.44,-182.82 663,-173 685.94,-159.4 696.66,-168.86 723,-173 751.6,-177.5 762.68,-174.56 785,-193 809,-212.82 824.39,-245.73 832.85,-268.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"835.25,-275.61 829.95,-270.05 834.09,-272.3 832.92,-269 832.92,-269 832.92,-269 834.09,-272.3 835.89,-267.96 835.25,-275.61 835.25,-275.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"741.5\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->7 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>6->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M645.26,-237.13C667.89,-237.31 707.73,-237.61 733.48,-237.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.67,-237.87 733.64,-240.96 737.17,-237.84 733.67,-237.81 733.67,-237.81 733.67,-237.81 737.17,-237.84 733.69,-234.66 740.67,-237.87 740.67,-237.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"663\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->8 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>6->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M631.25,-218.88C635.82,-196.68 645.58,-158.53 663,-130 682.29,-98.4 713.92,-69.26 735.34,-51.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.82,-47.11 737.38,-53.97 738.1,-49.32 735.39,-51.53 735.39,-51.53 735.39,-51.53 738.1,-49.32 733.4,-49.09 740.82,-47.11 740.82,-47.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"665\" y=\"-133.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.82,-236.44C589.78,-235.94 558.17,-235.51 531,-237 494.39,-239 484.74,-237.83 449,-246 411.31,-254.61 403.43,-262.07 367,-275 362.94,-276.44 358.62,-277.98 354.44,-279.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.58,-281.91 353.12,-276.59 350.88,-280.73 354.18,-279.56 354.18,-279.56 354.18,-279.56 350.88,-280.73 355.23,-282.53 347.58,-281.91 347.58,-281.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"449\" y=\"-249.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.89,-237.57C589.36,-238.74 556.8,-242.29 531,-253 521.92,-256.77 512.9,-262.49 505.12,-268.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"499.43,-272.58 503.08,-265.82 502.21,-270.45 504.99,-268.32 504.99,-268.32 504.99,-268.32 502.21,-270.45 506.91,-270.82 499.43,-272.58 499.43,-272.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-256.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M615.06,-255.15C613.22,-264.54 617.2,-273 627,-273 634.19,-273 638.25,-268.44 639.17,-262.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"638.94,-255.15 642.32,-262.05 639.05,-258.65 639.17,-262.15 639.17,-262.15 639.17,-262.15 639.05,-258.65 636.02,-262.25 638.94,-255.15 638.94,-255.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"597\" y=\"-276.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.09,-398.08C205.99,-411.26 215.44,-428.88 228,-441 264.34,-476.07 278,-494 328.5,-494 328.5,-494 328.5,-494 760,-494 833.74,-494 841.9,-375.32 841.78,-321.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"841.72,-314.08 844.93,-321.05 841.75,-317.58 841.78,-321.08 841.78,-321.08 841.78,-321.08 841.75,-317.58 838.63,-321.11 841.72,-314.08 841.72,-314.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"543.5\" y=\"-497.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->7 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.32,-396.11C234.71,-417.06 281.49,-451 328.5,-451 328.5,-451 328.5,-451 562,-451 650.72,-451 669.62,-403.86 723,-333 738.7,-312.15 747.97,-283.53 752.98,-263.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"754.57,-256.33 756.05,-263.86 753.78,-259.74 752.98,-263.14 752.98,-263.14 752.98,-263.14 753.78,-259.74 749.91,-262.43 754.57,-256.33 754.57,-256.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"465.5\" y=\"-454.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->5 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.09,-365.08C215.67,-360.41 221.99,-355.35 228,-351 253.56,-332.52 284.51,-313.61 305.25,-301.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.34,-297.82 306.89,-304.07 308.32,-299.59 305.3,-301.36 305.3,-301.36 305.3,-301.36 308.32,-299.59 303.71,-298.64 311.34,-297.82 311.34,-297.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-354.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.33,-378.43C230.21,-376.42 263.73,-372.42 292,-366 309.63,-362 428.42,-322.26 431,-321 439.81,-316.69 448.87,-310.99 456.77,-305.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.56,-301.46 458.66,-308.07 459.7,-303.48 456.85,-305.5 456.85,-305.5 456.85,-305.5 459.7,-303.48 455.03,-302.92 462.56,-301.46 462.56,-301.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-365.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.08,-145.04C278.52,-114.35 538.09,-9.69 723,-96 792.27,-128.33 823.76,-222.58 835.36,-268.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"837.06,-275.8 832.35,-269.74 836.23,-272.4 835.41,-269 835.41,-269 835.41,-269 836.23,-272.4 838.47,-268.25 837.06,-275.8 837.06,-275.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"543.5\" y=\"-67.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->7 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.06,-150.66C215.75,-149.98 222.14,-149.33 228,-149 256.4,-147.38 263.56,-148.42 292,-149 390.28,-151 416.25,-140.58 513,-158 596.64,-173.06 691.03,-209.81 734.18,-227.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.9,-230.59 733.22,-230.79 737.67,-229.24 734.44,-227.88 734.44,-227.88 734.44,-227.88 737.67,-229.24 735.66,-224.98 740.9,-230.59 740.9,-230.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"451\" y=\"-161.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->8 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.26,-134.78C198.74,-114.43 207.33,-81.89 228,-63 262.32,-31.64 282.01,-34 328.5,-34 328.5,-34 328.5,-34 628,-34 664.77,-34 707.39,-34 733.52,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.76,-34 733.76,-37.15 737.26,-34 733.76,-34 733.76,-34 733.76,-34 737.26,-34 733.76,-30.85 740.76,-34 740.76,-34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"453\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M193.75,-171.05C195.74,-195.02 202.85,-237.1 228,-261 248.47,-280.46 281.42,-286.22 303.97,-287.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.19,-288.13 304.03,-290.91 307.69,-287.95 304.2,-287.77 304.2,-287.77 304.2,-287.77 307.69,-287.95 304.36,-284.62 311.19,-288.13 311.19,-288.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-289.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.33,-160.29C215.93,-162.54 222.19,-164.97 228,-167 316.93,-198.08 359.25,-166.95 431,-228 444.93,-239.85 437.32,-250.93 449,-265 451.46,-267.97 454.38,-270.76 457.43,-273.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.98,-277.62 455.52,-275.81 460.22,-275.47 457.45,-273.33 457.45,-273.33 457.45,-273.33 460.22,-275.47 459.38,-270.84 462.98,-277.62 462.98,-277.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-191.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.22,-153.08C249.68,-153.55 349.53,-156.44 431,-173 494.34,-185.87 565.83,-212.64 602.11,-227.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"608.89,-229.87 601.22,-230.18 605.64,-228.57 602.4,-227.26 602.4,-227.26 602.4,-227.26 605.64,-228.57 603.57,-224.34 608.89,-229.87 608.89,-229.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc0eaa50> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strictly weak Pages: 1 -->\n",
|
|
"<svg width=\"729pt\" height=\"292pt\"\n",
|
|
" viewBox=\"0.00 0.00 729.00 291.98\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.9174311926605504 0.9174311926605504) rotate(0) translate(4 315.22)\">\n",
|
|
"<title>strictly weak</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-315.22 793,-315.22 793,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"356\" y=\"-297.02\" font-family=\"Lato\" font-size=\"14.00\">strictly weak</text>\n",
|
|
"<text text-anchor=\"start\" x=\"374\" y=\"-283.02\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"395\" y=\"-283.02\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"411\" y=\"-283.02\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-269.02\" 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=\"729,-150.22 729,-237.22 781,-237.22 781,-150.22 729,-150.22\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"303.5,-27.22 303.5,-163.22 653,-163.22 653,-27.22 303.5,-27.22\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-23.22 166,-75.22 218,-75.22 218,-23.22 166,-23.22\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-131.22 166,-183.22 218,-183.22 218,-131.22 166,-131.22\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"30,-23.22 30,-75.22 82,-75.22 82,-23.22 30,-23.22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-67.22C62,-67.22 50,-67.22 50,-67.22 44,-67.22 38,-61.22 38,-55.22 38,-55.22 38,-43.22 38,-43.22 38,-37.22 44,-31.22 50,-31.22 50,-31.22 62,-31.22 62,-31.22 68,-31.22 74,-37.22 74,-43.22 74,-43.22 74,-55.22 74,-55.22 74,-61.22 68,-67.22 62,-67.22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-45.52\" 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,-49.22C2.79,-49.22 17.15,-49.22 30.63,-49.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-49.22 30.94,-52.37 34.44,-49.22 30.94,-49.22 30.94,-49.22 30.94,-49.22 34.44,-49.22 30.94,-46.07 37.94,-49.22 37.94,-49.22\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M487,-71.22C487,-71.22 475,-71.22 475,-71.22 469,-71.22 463,-65.22 463,-59.22 463,-59.22 463,-47.22 463,-47.22 463,-41.22 469,-35.22 475,-35.22 475,-35.22 487,-35.22 487,-35.22 493,-35.22 499,-41.22 499,-47.22 499,-47.22 499,-59.22 499,-59.22 499,-65.22 493,-71.22 487,-71.22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-49.52\" 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=\"M74.19,-43.68C95.52,-37 133.1,-25.84 166,-19.22 281.5,4.01 318.8,10.69 431,-25.22 439.75,-28.02 448.66,-32.52 456.44,-37.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.69,-40.94 455.07,-39.96 459.7,-39.11 456.72,-37.28 456.72,-37.28 456.72,-37.28 459.7,-39.11 458.37,-34.6 462.69,-40.94 462.69,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"240.5\" y=\"-11.02\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-67.22C198,-67.22 186,-67.22 186,-67.22 180,-67.22 174,-61.22 174,-55.22 174,-55.22 174,-43.22 174,-43.22 174,-37.22 180,-31.22 186,-31.22 186,-31.22 198,-31.22 198,-31.22 204,-31.22 210,-37.22 210,-43.22 210,-43.22 210,-55.22 210,-55.22 210,-61.22 204,-67.22 198,-67.22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-45.52\" 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=\"M74.24,-49.22C97.76,-49.22 140.02,-49.22 166.73,-49.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-49.22 166.82,-52.37 170.32,-49.22 166.82,-49.22 166.82,-49.22 166.82,-49.22 170.32,-49.22 166.82,-46.07 173.82,-49.22 173.82,-49.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-53.02\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-175.22C198,-175.22 186,-175.22 186,-175.22 180,-175.22 174,-169.22 174,-163.22 174,-163.22 174,-151.22 174,-151.22 174,-145.22 180,-139.22 186,-139.22 186,-139.22 198,-139.22 198,-139.22 204,-139.22 210,-145.22 210,-151.22 210,-151.22 210,-163.22 210,-163.22 210,-169.22 204,-175.22 198,-175.22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-153.52\" 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=\"M74.24,-63.12C98.16,-82.4 141.47,-117.3 168.09,-138.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-143.37 166.4,-141.43 171.1,-141.18 168.37,-138.98 168.37,-138.98 168.37,-138.98 171.1,-141.18 170.35,-136.53 173.82,-143.37 173.82,-143.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-132.02\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M761,-196.22C761,-196.22 749,-196.22 749,-196.22 743,-196.22 737,-190.22 737,-184.22 737,-184.22 737,-170.22 737,-170.22 737,-164.22 743,-158.22 749,-158.22 749,-158.22 761,-158.22 761,-158.22 767,-158.22 773,-164.22 773,-170.22 773,-170.22 773,-184.22 773,-184.22 773,-190.22 767,-196.22 761,-196.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"750.5\" y=\"-181.02\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"<text text-anchor=\"start\" x=\"747\" y=\"-166.02\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M743.35,-196.26C741.74,-205.75 745.62,-214.22 755,-214.22 761.88,-214.22 765.81,-209.65 766.77,-203.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.65,-196.26 769.91,-203.2 766.7,-199.76 766.76,-203.26 766.76,-203.26 766.76,-203.26 766.7,-199.76 763.61,-203.31 766.65,-196.26 766.65,-196.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739\" y=\"-218.02\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M335.5,-88.22C335.5,-88.22 323.5,-88.22 323.5,-88.22 317.5,-88.22 311.5,-82.22 311.5,-76.22 311.5,-76.22 311.5,-64.22 311.5,-64.22 311.5,-58.22 317.5,-52.22 323.5,-52.22 323.5,-52.22 335.5,-52.22 335.5,-52.22 341.5,-52.22 347.5,-58.22 347.5,-64.22 347.5,-64.22 347.5,-76.22 347.5,-76.22 347.5,-82.22 341.5,-88.22 335.5,-88.22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"329.5\" y=\"-66.52\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M317.2,-88.37C315.31,-97.76 319.41,-106.22 329.5,-106.22 336.91,-106.22 341.09,-101.66 342.04,-95.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.8,-88.37 345.18,-95.26 341.92,-91.87 342.04,-95.37 342.04,-95.37 342.04,-95.37 341.92,-91.87 338.89,-95.47 341.8,-88.37 341.8,-88.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-110.02\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.58,-58.56C353.47,-55.18 360.28,-51.94 367,-50.22 396.85,-42.58 432.59,-45.44 455.77,-48.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.83,-49.89 455.43,-51.93 459.37,-49.35 455.91,-48.81 455.91,-48.81 455.91,-48.81 459.37,-49.35 456.39,-45.7 462.83,-49.89 462.83,-49.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"379.5\" y=\"-54.02\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.63,-60.33C453.41,-63.73 441.77,-67.45 431,-69.22 405.24,-73.45 375.26,-73.08 354.79,-72.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.71,-71.63 354.88,-68.89 351.2,-71.83 354.7,-72.03 354.7,-72.03 354.7,-72.03 351.2,-71.83 354.52,-75.18 347.71,-71.63 347.71,-71.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-77.02\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.53,-71.37C464.3,-80.76 469.12,-89.22 481,-89.22 489.72,-89.22 494.64,-84.66 495.75,-78.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"495.47,-71.37 498.9,-78.24 495.61,-74.87 495.75,-78.37 495.75,-78.37 495.75,-78.37 495.61,-74.87 492.6,-78.49 495.47,-71.37 495.47,-71.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"461.5\" y=\"-93.02\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M633,-122.22C633,-122.22 621,-122.22 621,-122.22 615,-122.22 609,-116.22 609,-110.22 609,-110.22 609,-98.22 609,-98.22 609,-92.22 615,-86.22 621,-86.22 621,-86.22 633,-86.22 633,-86.22 639,-86.22 645,-92.22 645,-98.22 645,-98.22 645,-110.22 645,-110.22 645,-116.22 639,-122.22 633,-122.22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"627\" y=\"-100.52\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M499.33,-51.21C521.8,-49.42 561.59,-49.05 591,-64.22 598.28,-67.98 604.73,-73.94 610.03,-80.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"614.58,-85.82 607.75,-82.32 612.4,-83.08 610.21,-80.35 610.21,-80.35 610.21,-80.35 612.4,-83.08 612.67,-78.38 614.58,-85.82 614.58,-85.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"531\" y=\"-68.02\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->6 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>5->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M645.26,-114.22C667.41,-127.05 705.92,-149.36 730.67,-163.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"736.95,-167.34 729.32,-166.56 733.92,-165.59 730.9,-163.83 730.9,-163.83 730.9,-163.83 733.92,-165.59 732.48,-161.11 736.95,-167.34 736.95,-167.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"663\" y=\"-159.02\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.8,-110.77C603.21,-112.59 596.92,-114.31 591,-115.22 564.64,-119.26 557.66,-115.54 531,-115.22 457.4,-114.32 434.89,-120.65 367,-92.22 362.6,-90.38 358.1,-88.07 353.83,-85.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.77,-82.04 355.4,-82.91 350.78,-83.83 353.79,-85.62 353.79,-85.62 353.79,-85.62 350.78,-83.83 352.18,-88.33 347.77,-82.04 347.77,-82.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"449\" y=\"-119.02\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>5->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.81,-100.94C589.48,-96.98 557.37,-89.53 531,-79.22 522.45,-75.88 513.48,-71.42 505.58,-67.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"499.23,-63.62 506.88,-64.26 502.29,-65.32 505.35,-67.01 505.35,-67.01 505.35,-67.01 502.29,-65.32 503.82,-69.77 499.23,-63.62 499.23,-63.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-100.02\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M615.42,-122.37C613.64,-131.76 617.5,-140.22 627,-140.22 633.98,-140.22 637.91,-135.66 638.8,-129.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"638.58,-122.37 641.95,-129.27 638.69,-125.87 638.8,-129.37 638.8,-129.37 638.8,-129.37 638.69,-125.87 635.65,-129.47 638.58,-122.37 638.58,-122.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"597\" y=\"-144.02\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.16,-51.88C233.99,-55.57 277.2,-62.27 304.29,-66.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.48,-67.58 304.08,-69.62 308.02,-67.05 304.56,-66.51 304.56,-66.51 304.56,-66.51 308.02,-67.05 305.04,-63.4 311.48,-67.58 311.48,-67.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-68.02\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.08,-44.94C231.67,-39.77 270.06,-31.37 303.5,-28.22 360.26,-22.87 375.07,-31.18 431,-42.22 439.12,-43.82 447.96,-45.75 455.86,-47.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.81,-49.13 455.28,-50.64 459.4,-48.35 455.99,-47.57 455.99,-47.57 455.99,-47.57 459.4,-48.35 456.69,-44.5 462.81,-49.13 462.81,-49.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-32.02\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.58,-175.23C230.4,-201.24 277.28,-246.22 328.5,-246.22 328.5,-246.22 328.5,-246.22 628,-246.22 668.18,-246.22 707.68,-218.9 731.45,-198.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"736.86,-193.92 733.65,-200.9 734.22,-196.22 731.58,-198.53 731.58,-198.53 731.58,-198.53 734.22,-196.22 729.51,-196.15 736.86,-193.92 736.86,-193.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"453\" y=\"-250.02\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.35,-141.87C215.84,-137.28 222.04,-132.36 228,-128.22 253.22,-110.68 284.06,-93.46 304.87,-82.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.25,-79.03 306.53,-85.08 308.16,-80.66 305.06,-82.29 305.06,-82.29 305.06,-82.29 308.16,-80.66 303.59,-79.51 311.25,-79.03 311.25,-79.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-132.02\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.24,-155.23C230.05,-152.83 263.49,-148.48 292,-143.22 356.71,-131.29 375.01,-126.79 431,-92.22 439.85,-86.76 448.92,-79.93 456.82,-73.53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.61,-68.74 459.22,-75.63 459.91,-70.97 457.21,-73.2 457.21,-73.2 457.21,-73.2 459.91,-70.97 455.2,-70.78 462.61,-68.74 462.61,-68.74\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-144.02\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.06,-159.56C215.75,-160.24 222.14,-160.89 228,-161.22 256.4,-162.84 263.56,-161.72 292,-161.22 317.35,-160.78 323.76,-161.58 349,-159.22 422.41,-152.36 440.26,-146.29 513,-134.22 547.75,-128.45 557.39,-130.74 591,-120.22 594.75,-119.05 598.62,-117.57 602.36,-115.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"608.89,-113.08 603.78,-118.81 605.69,-114.5 602.5,-115.93 602.5,-115.93 602.5,-115.93 605.69,-114.5 601.22,-113.05 608.89,-113.08 608.89,-113.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369\" y=\"-161.02\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc092cc0> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strong Pages: 1 -->\n",
|
|
"<svg width=\"669pt\" height=\"230pt\"\n",
|
|
" viewBox=\"0.00 0.00 669.00 230.25\" 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 226.25)\">\n",
|
|
"<title>strong</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-226.25 665,-226.25 665,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310.5\" y=\"-208.05\" font-family=\"Lato\" font-size=\"14.00\">strong</text>\n",
|
|
"<text text-anchor=\"start\" x=\"216\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\">(Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"243\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"259\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"317\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\">)) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"363\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"379\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"421\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-194.05\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"303\" y=\"-180.05\" font-family=\"Lato\" font-size=\"14.00\">[Rabin 2]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"303.5,-21.25 303.5,-157.25 653,-157.25 653,-21.25 303.5,-21.25\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-101.25 166,-153.25 218,-153.25 218,-101.25 166,-101.25\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-30.25 166,-82.25 218,-82.25 218,-30.25 166,-30.25\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"30,-101.25 30,-153.25 82,-153.25 82,-101.25 30,-101.25\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-145.25C62,-145.25 50,-145.25 50,-145.25 44,-145.25 38,-139.25 38,-133.25 38,-133.25 38,-121.25 38,-121.25 38,-115.25 44,-109.25 50,-109.25 50,-109.25 62,-109.25 62,-109.25 68,-109.25 74,-115.25 74,-121.25 74,-121.25 74,-133.25 74,-133.25 74,-139.25 68,-145.25 62,-145.25\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-123.55\" 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,-127.25C2.79,-127.25 17.15,-127.25 30.63,-127.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-127.25 30.94,-130.4 34.44,-127.25 30.94,-127.25 30.94,-127.25 30.94,-127.25 34.44,-127.25 30.94,-124.1 37.94,-127.25 37.94,-127.25\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M493,-116.25C493,-116.25 469,-116.25 469,-116.25 463,-116.25 457,-110.25 457,-104.25 457,-104.25 457,-92.25 457,-92.25 457,-86.25 463,-80.25 469,-80.25 469,-80.25 493,-80.25 493,-80.25 499,-80.25 505,-86.25 505,-92.25 505,-92.25 505,-104.25 505,-104.25 505,-110.25 499,-116.25 493,-116.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"476.5\" y=\"-102.05\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-88.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"481\" y=\"-88.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.26,-138.17C79.75,-141.22 85.97,-144.24 92,-146.25 123.54,-156.79 132.84,-154.8 166,-157.25 211.79,-160.64 340.51,-153.24 349,-152.25 385.88,-147.98 397.19,-151.6 431,-136.25 439.59,-132.35 448.05,-126.67 455.45,-120.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"460.89,-116.46 457.44,-123.32 458.17,-118.66 455.45,-120.87 455.45,-120.87 455.45,-120.87 458.17,-118.66 453.47,-118.43 460.89,-116.46 460.89,-116.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"240.5\" y=\"-161.05\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-145.25C198,-145.25 186,-145.25 186,-145.25 180,-145.25 174,-139.25 174,-133.25 174,-133.25 174,-121.25 174,-121.25 174,-115.25 180,-109.25 186,-109.25 186,-109.25 198,-109.25 198,-109.25 204,-109.25 210,-115.25 210,-121.25 210,-121.25 210,-133.25 210,-133.25 210,-139.25 204,-145.25 198,-145.25\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-123.55\" 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=\"M74.24,-127.25C97.76,-127.25 140.02,-127.25 166.73,-127.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-127.25 166.82,-130.4 170.32,-127.25 166.82,-127.25 166.82,-127.25 166.82,-127.25 170.32,-127.25 166.82,-124.1 173.82,-127.25 173.82,-127.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-131.05\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-74.25C198,-74.25 186,-74.25 186,-74.25 180,-74.25 174,-68.25 174,-62.25 174,-62.25 174,-50.25 174,-50.25 174,-44.25 180,-38.25 186,-38.25 186,-38.25 198,-38.25 198,-38.25 204,-38.25 210,-44.25 210,-50.25 210,-50.25 210,-62.25 210,-62.25 210,-68.25 204,-74.25 198,-74.25\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-52.55\" 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=\"M74.06,-117.93C79.76,-114.83 86.15,-111.38 92,-108.25 117.69,-94.53 147.28,-79.03 167.36,-68.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.79,-65.2 169.04,-71.23 170.69,-66.82 167.59,-68.44 167.59,-68.44 167.59,-68.44 170.69,-66.82 166.13,-65.64 173.79,-65.2 173.79,-65.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-112.05\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M335.5,-90.25C335.5,-90.25 323.5,-90.25 323.5,-90.25 317.5,-90.25 311.5,-84.25 311.5,-78.25 311.5,-78.25 311.5,-64.25 311.5,-64.25 311.5,-58.25 317.5,-52.25 323.5,-52.25 323.5,-52.25 335.5,-52.25 335.5,-52.25 341.5,-52.25 347.5,-58.25 347.5,-64.25 347.5,-64.25 347.5,-78.25 347.5,-78.25 347.5,-84.25 341.5,-90.25 335.5,-90.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"325\" y=\"-75.05\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"321.5\" y=\"-60.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M317.13,-90.29C315.41,-99.78 319.54,-108.25 329.5,-108.25 336.82,-108.25 340.98,-103.68 342,-97.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.87,-90.29 345.15,-97.23 341.94,-93.79 342,-97.29 342,-97.29 342,-97.29 341.94,-93.79 338.85,-97.34 341.87,-90.29 341.87,-90.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-112.05\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.55,-80.06C353.55,-82.8 360.44,-85.54 367,-87.25 394.36,-94.39 426.55,-96.98 449.56,-97.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"456.69,-98.12 449.59,-101.03 453.19,-98 449.69,-97.88 449.69,-97.88 449.69,-97.88 453.19,-98 449.79,-94.74 456.69,-98.12 456.69,-98.12\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"379.5\" y=\"-100.05\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M456.51,-82.87C448.71,-78.58 439.77,-74.48 431,-72.25 405.55,-65.78 375.28,-66.57 354.66,-68.33\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.53,-69 354.2,-65.21 351.01,-68.67 354.5,-68.34 354.5,-68.34 354.5,-68.34 351.01,-68.67 354.8,-71.48 347.53,-69 347.53,-69\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-76.05\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.53,-116.4C464.3,-125.79 469.12,-134.25 481,-134.25 489.72,-134.25 494.64,-129.69 495.75,-123.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"495.47,-116.4 498.9,-123.27 495.61,-119.9 495.75,-123.4 495.75,-123.4 495.75,-123.4 495.61,-119.9 492.6,-123.52 495.47,-116.4 495.47,-116.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"461.5\" y=\"-138.05\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M633,-78.25C633,-78.25 621,-78.25 621,-78.25 615,-78.25 609,-72.25 609,-66.25 609,-66.25 609,-52.25 609,-52.25 609,-46.25 615,-40.25 621,-40.25 621,-40.25 633,-40.25 633,-40.25 639,-40.25 645,-46.25 645,-52.25 645,-52.25 645,-66.25 645,-66.25 645,-72.25 639,-78.25 633,-78.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"622.5\" y=\"-63.05\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"<text text-anchor=\"start\" x=\"619\" y=\"-48.05\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M505.18,-83.8C513.11,-79.45 522.2,-75.09 531,-72.25 554.32,-64.73 582.23,-61.56 601.74,-60.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"608.78,-59.8 601.99,-63.37 605.29,-60.01 601.8,-60.22 601.8,-60.22 601.8,-60.22 605.29,-60.01 601.6,-57.08 608.78,-59.8 608.78,-59.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"531\" y=\"-76.05\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.89,-57.74C567.19,-54.44 457.16,-47.94 367,-62.25 363.05,-62.88 358.9,-63.72 354.88,-64.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.83,-66.34 353.89,-61.64 351.23,-65.52 354.63,-64.7 354.63,-64.7 354.63,-64.7 351.23,-65.52 355.37,-67.76 347.83,-66.34 347.83,-66.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"449\" y=\"-58.05\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>5->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.75,-76.26C603.46,-80.55 597.34,-84.66 591,-87.25 565.85,-97.52 534.82,-99.76 512.32,-99.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"505.03,-99.63 512.07,-96.57 508.53,-99.68 512.03,-99.72 512.03,-99.72 512.03,-99.72 508.53,-99.68 511.99,-102.87 505.03,-99.63 505.03,-99.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-102.05\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M614.99,-78.29C613.33,-87.78 617.33,-96.25 627,-96.25 634.1,-96.25 638.14,-91.68 639.13,-85.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"639.01,-78.29 642.28,-85.23 639.07,-81.79 639.13,-85.29 639.13,-85.29 639.13,-85.29 639.07,-81.79 635.98,-85.34 639.01,-78.29 639.01,-78.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"597\" y=\"-100.05\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.16,-120.16C234.19,-110.23 277.94,-92.15 304.98,-80.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.48,-78.29 306.21,-83.87 308.24,-79.62 305.01,-80.96 305.01,-80.96 305.01,-80.96 308.24,-79.62 303.81,-78.05 311.48,-78.29 311.48,-78.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-115.05\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.08,-128.92C215.77,-129.42 222.15,-129.92 228,-130.25 318.33,-135.31 343.79,-139.31 431,-115.25 437.25,-113.53 443.85,-111.43 450.13,-109.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"456.77,-107 451.18,-112.27 453.46,-108.15 450.15,-109.3 450.15,-109.3 450.15,-109.3 453.46,-108.15 449.12,-106.32 456.77,-107 456.77,-107\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-137.05\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.16,-58.15C233.99,-60.79 277.2,-65.57 304.29,-68.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.48,-69.37 304.17,-71.73 308,-68.98 304.52,-68.6 304.52,-68.6 304.52,-68.6 308,-68.98 304.87,-65.47 311.48,-69.37 311.48,-69.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-70.05\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.35,-48.87C239.2,-37.57 298.81,-18.26 349,-28.25 387.69,-35.96 396.63,-42.88 431,-62.25 438.04,-66.22 445.25,-71.04 451.9,-75.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"457.83,-80.21 450.33,-78.59 455.02,-78.14 452.2,-76.06 452.2,-76.06 452.2,-76.06 455.02,-78.14 454.07,-73.52 457.83,-80.21 457.83,-80.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-32.05\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.18,-37.95C212.94,-31.87 220.1,-25.76 228,-22.25 310.54,14.39 341.24,-3.28 431,-13.25 493.71,-20.22 565.46,-40.41 601.95,-51.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"608.77,-53.69 601.15,-54.63 605.42,-52.66 602.08,-51.63 602.08,-51.63 602.08,-51.63 605.42,-52.66 603.01,-48.62 608.77,-53.69 608.77,-53.69\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369\" y=\"-17.05\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc21dea0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for (name, opt) in (('terminal', 't'), ('strictly weak', 'w'), ('strong', 's')):\n",
|
|
" a = spot.decompose_scc(aut, opt)\n",
|
|
" a.set_name(name)\n",
|
|
" display(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Note how the two weak automata (i.e., stricly weak and terminal) are now using a Büchi acceptance condition (because that is sufficient for weak automata) while the strong automaton inherited the original acceptance condition.\n",
|
|
"\n",
|
|
"When extracting multiple strengths and one of the strength is **strong**, we preserve the original acceptance. For instance extracting **strong** and **inherently terminal** gives the following automaton, where only **stricly inherently weak** SCCs have become rejecting."
|
|
]
|
|
},
|
|
{
|
|
"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=\"537pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 536.71 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.5988023952095809 0.5988023952095809) rotate(0) translate(4 597)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-597 892,-597 892,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"329.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\">(Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"356.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"372.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"414.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"430.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\">)) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"476.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"492.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"534.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"550.5\" y=\"-578.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"416.5\" y=\"-564.8\" font-family=\"Lato\" font-size=\"14.00\">[Rabin 2]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"816,-271 816,-356 880,-356 880,-271 816,-271\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"733,-214 733,-299 785,-299 785,-214 733,-214\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"733,-8 733,-93 785,-93 785,-8 733,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"303.5,-213 303.5,-349 653,-349 653,-213 303.5,-213\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-356 166,-408 218,-408 218,-356 166,-356\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust6\" class=\"cluster\">\n",
|
|
"<title>cluster_5</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"166,-127 166,-179 218,-179 218,-127 166,-127\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust7\" class=\"cluster\">\n",
|
|
"<title>cluster_6</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"30,-259 30,-311 82,-311 82,-259 30,-259\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-303C62,-303 50,-303 50,-303 44,-303 38,-297 38,-291 38,-291 38,-279 38,-279 38,-273 44,-267 50,-267 50,-267 62,-267 62,-267 68,-267 74,-273 74,-279 74,-279 74,-291 74,-291 74,-297 68,-303 62,-303\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-281.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,-285C2.79,-285 17.15,-285 30.63,-285\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-285 30.94,-288.15 34.44,-285 30.94,-285 30.94,-285 30.94,-285 34.44,-285 30.94,-281.85 37.94,-285 37.94,-285\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M860,-315C860,-315 836,-315 836,-315 830,-315 824,-309 824,-303 824,-303 824,-291 824,-291 824,-285 830,-279 836,-279 836,-279 860,-279 860,-279 866,-279 872,-285 872,-291 872,-291 872,-303 872,-303 872,-309 866,-315 860,-315\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"843.5\" y=\"-300.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"832\" y=\"-286.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"848\" y=\"-286.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M57.91,-303.07C61.93,-361.57 83.07,-542 191,-542 191,-542 191,-542 760,-542 789.55,-542 792.23,-520.15 806,-494 835.68,-437.64 843.88,-361.62 846.14,-322.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"846.52,-315.24 849.3,-322.39 846.34,-318.73 846.16,-322.23 846.16,-322.23 846.16,-322.23 846.34,-318.73 843.01,-322.06 846.52,-315.24 846.52,-315.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"477.5\" y=\"-545.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M493,-308C493,-308 469,-308 469,-308 463,-308 457,-302 457,-296 457,-296 457,-284 457,-284 457,-278 463,-272 469,-272 469,-272 493,-272 493,-272 499,-272 505,-278 505,-284 505,-284 505,-296 505,-296 505,-302 499,-308 493,-308\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"476.5\" y=\"-293.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"481\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.21,-279.17C104.74,-269.16 170.58,-249.11 228,-242 309.1,-231.96 403.39,-260.97 450.31,-278.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"456.88,-280.66 449.22,-281.16 453.6,-279.44 450.32,-278.21 450.32,-278.21 450.32,-278.21 453.6,-279.44 451.43,-275.26 456.88,-280.66 456.88,-280.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"240.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-400C198,-400 186,-400 186,-400 180,-400 174,-394 174,-388 174,-388 174,-376 174,-376 174,-370 180,-364 186,-364 186,-364 198,-364 198,-364 204,-364 210,-370 210,-376 210,-376 210,-388 210,-388 210,-394 204,-400 198,-400\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-378.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=\"M74.24,-297.48C98.16,-314.8 141.47,-346.15 168.09,-365.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-369.57 166.3,-368.01 170.99,-367.51 168.15,-365.46 168.15,-365.46 168.15,-365.46 170.99,-367.51 170,-362.91 173.82,-369.57 173.82,-369.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-358.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M198,-171C198,-171 186,-171 186,-171 180,-171 174,-165 174,-159 174,-159 174,-147 174,-147 174,-141 180,-135 186,-135 186,-135 198,-135 198,-135 204,-135 210,-141 210,-147 210,-147 210,-159 210,-159 210,-165 204,-171 198,-171\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-149.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=\"M62.59,-266.74C68.1,-251.07 77.77,-228.61 92,-213 113.23,-189.71 145.59,-172.45 167.48,-162.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.91,-159.73 168.78,-165.43 170.71,-161.14 167.51,-162.55 167.51,-162.55 167.51,-162.55 170.71,-161.14 166.24,-159.66 173.91,-159.73 173.91,-159.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M839.68,-315.15C838.4,-324.54 841.17,-333 848,-333 853.01,-333 855.84,-328.44 856.48,-322.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"856.32,-315.15 859.63,-322.08 856.4,-318.65 856.48,-322.15 856.48,-322.15 856.48,-322.15 856.4,-318.65 853.33,-322.22 856.32,-315.15 856.32,-315.15\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"848\" y=\"-336.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M765,-258C765,-258 753,-258 753,-258 747,-258 741,-252 741,-246 741,-246 741,-234 741,-234 741,-228 747,-222 753,-222 753,-222 765,-222 765,-222 771,-222 777,-228 777,-234 777,-234 777,-246 777,-246 777,-252 771,-258 765,-258\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"759\" y=\"-236.3\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->4 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\">\n",
|
|
"<title>7->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M777.19,-251.26C788.78,-258.86 804.37,-269.07 817.88,-277.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"823.92,-281.88 816.33,-280.67 820.99,-279.96 818.06,-278.04 818.06,-278.04 818.06,-278.04 820.99,-279.96 819.79,-275.4 823.92,-281.88 823.92,-281.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"795\" y=\"-271.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M751.76,-258.15C750.65,-267.54 753.06,-276 759,-276 763.36,-276 765.82,-271.44 766.38,-265.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.24,-258.15 769.52,-265.09 766.31,-261.65 766.37,-265.15 766.37,-265.15 766.37,-265.15 766.31,-261.65 763.23,-265.21 766.24,-258.15 766.24,-258.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"755.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M765,-52C765,-52 753,-52 753,-52 747,-52 741,-46 741,-40 741,-40 741,-28 741,-28 741,-22 747,-16 753,-16 753,-16 765,-16 765,-16 771,-16 777,-22 777,-28 777,-28 777,-40 777,-40 777,-46 771,-52 765,-52\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"759\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->4 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\">\n",
|
|
"<title>8->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M777.44,-48.46C787.34,-57.63 799.1,-70.31 806,-84 837.44,-146.36 844.84,-230.15 846.54,-271.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"846.79,-278.83 843.4,-271.94 846.67,-275.33 846.55,-271.83 846.55,-271.83 846.55,-271.83 846.67,-275.33 849.69,-271.72 846.79,-278.83 846.79,-278.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"795\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->7 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\">\n",
|
|
"<title>8->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M745.73,-52.38C728.02,-78.16 697.55,-127.24 686,-174.5 684.42,-180.98 682.9,-183.6 686,-189.5 696.11,-208.78 717.28,-222.16 734.24,-230.28\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.73,-233.23 733.06,-233.2 737.55,-231.78 734.36,-230.33 734.36,-230.33 734.36,-230.33 737.55,-231.78 735.67,-227.47 740.73,-233.23 740.73,-233.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"675\" y=\"-178.3\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->8 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\">\n",
|
|
"<title>8->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M751.76,-52.15C750.65,-61.54 753.06,-70 759,-70 763.36,-70 765.82,-65.44 766.38,-59.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.24,-52.15 769.52,-59.09 766.31,-55.65 766.37,-59.15 766.37,-59.15 766.37,-59.15 766.31,-55.65 763.23,-59.21 766.24,-52.15 766.24,-52.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"743\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M335.5,-308C335.5,-308 323.5,-308 323.5,-308 317.5,-308 311.5,-302 311.5,-296 311.5,-296 311.5,-282 311.5,-282 311.5,-276 317.5,-270 323.5,-270 323.5,-270 335.5,-270 335.5,-270 341.5,-270 347.5,-276 347.5,-282 347.5,-282 347.5,-296 347.5,-296 347.5,-302 341.5,-308 335.5,-308\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"325\" y=\"-292.8\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"<text text-anchor=\"start\" x=\"321.5\" y=\"-277.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M337.11,-308.24C342.86,-322.01 352.56,-339.86 367,-350 397.39,-371.34 412.04,-362.43 449,-366 608.53,-381.42 653.91,-365.58 806,-315 809.69,-313.77 813.5,-312.34 817.25,-310.83\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"823.88,-308.04 818.64,-313.66 820.65,-309.4 817.42,-310.75 817.42,-310.75 817.42,-310.75 820.65,-309.4 816.2,-307.85 823.88,-308.04 823.88,-308.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"609.5\" y=\"-371.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->7 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>5->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.54,-307.03C353.32,-312.39 360.08,-317.93 367,-322 423.94,-355.52 447.86,-361.07 513,-350 600.22,-335.18 692.75,-281.89 734.8,-255.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.87,-251.43 736.66,-257.85 737.92,-253.32 734.97,-255.2 734.97,-255.2 734.97,-255.2 737.92,-253.32 733.27,-252.54 740.87,-251.43 740.87,-251.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"545.5\" y=\"-349.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M317.13,-308.04C315.41,-317.53 319.54,-326 329.5,-326 336.82,-326 340.98,-321.43 342,-315.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.87,-308.04 345.15,-314.98 341.94,-311.54 342,-315.04 342,-315.04 342,-315.04 341.94,-311.54 338.85,-315.09 341.87,-308.04 341.87,-308.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-329.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->3 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>5->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.85,-284.98C353.88,-283.76 360.71,-282.6 367,-282 395.32,-279.31 402.65,-279.7 431,-282 437.05,-282.49 443.48,-283.32 449.63,-284.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"456.67,-285.4 449.25,-287.39 453.21,-284.84 449.76,-284.28 449.76,-284.28 449.76,-284.28 453.21,-284.84 450.26,-281.17 456.67,-285.4 456.67,-285.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"379.5\" y=\"-285.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M505.01,-299.76C513.08,-302.7 522.3,-305.53 531,-307 559.14,-311.74 623.7,-312.45 785,-303 795.34,-302.39 806.62,-301.4 816.69,-300.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"823.77,-299.67 817.13,-303.52 820.29,-300.03 816.81,-300.38 816.81,-300.38 816.81,-300.38 820.29,-300.03 816.49,-297.25 823.77,-299.67 823.77,-299.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"689.5\" y=\"-311.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M456.75,-296.32C448.66,-298.23 439.49,-300.06 431,-301 402.73,-304.13 395.09,-305.5 367,-301 362.86,-300.34 358.56,-299.28 354.42,-298.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.67,-295.89 355.3,-295.03 351,-296.96 354.34,-298.03 354.34,-298.03 354.34,-298.03 351,-296.96 353.37,-301.03 347.67,-295.89 347.67,-295.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-306.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.53,-308.15C464.3,-317.54 469.12,-326 481,-326 489.72,-326 494.64,-321.44 495.75,-315.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"495.47,-308.15 498.9,-315.02 495.61,-311.65 495.75,-315.15 495.75,-315.15 495.75,-315.15 495.61,-311.65 492.6,-315.27 495.47,-308.15 495.47,-308.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"461.5\" y=\"-329.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M633,-259C633,-259 621,-259 621,-259 615,-259 609,-253 609,-247 609,-247 609,-233 609,-233 609,-227 615,-221 621,-221 621,-221 633,-221 633,-221 639,-221 645,-227 645,-233 645,-233 645,-247 645,-247 645,-253 639,-259 633,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"622.5\" y=\"-243.8\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"<text text-anchor=\"start\" x=\"619\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M505.34,-290.64C528.29,-290.37 563.73,-287.46 591,-274 596.13,-271.47 600.99,-267.91 605.36,-264.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"610.62,-259.03 607.73,-266.13 608.09,-261.44 605.55,-263.85 605.55,-263.85 605.55,-263.85 608.09,-261.44 603.38,-261.57 610.62,-259.03 610.62,-259.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"531\" y=\"-291.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M632.19,-220.93C636.8,-205.02 645.94,-183.34 663,-173 685.81,-159.18 696.72,-168.48 723,-173 751.81,-177.96 762.32,-176.55 785,-195 810.31,-215.59 827.94,-249.44 837.77,-272.45\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"840.45,-278.92 834.86,-273.66 839.11,-275.69 837.77,-272.45 837.77,-272.45 837.77,-272.45 839.11,-275.69 840.68,-271.25 840.45,-278.92 840.45,-278.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"741.5\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->7 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>6->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M645.26,-240C667.89,-240 707.73,-240 733.48,-240\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.67,-240 733.67,-243.15 737.17,-240 733.67,-240 733.67,-240 733.67,-240 737.17,-240 733.67,-236.85 740.67,-240 740.67,-240\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"663\" y=\"-243.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->8 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>6->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M631.22,-220.97C635.72,-198.09 645.36,-159.15 663,-130 682.16,-98.32 713.83,-69.2 735.28,-51.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.77,-47.08 737.32,-53.94 738.05,-49.28 735.34,-51.49 735.34,-51.49 735.34,-51.49 738.05,-49.28 733.35,-49.04 740.77,-47.08 740.77,-47.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"665\" y=\"-133.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.82,-239.15C589.78,-238.36 558.17,-237.51 531,-239 494.39,-241 484.79,-240.03 449,-248 411.41,-256.37 403.36,-263.32 367,-276 362.93,-277.42 358.61,-278.94 354.43,-280.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.57,-282.87 353.11,-277.55 350.86,-281.7 354.16,-280.52 354.16,-280.52 354.16,-280.52 350.86,-281.7 355.22,-283.49 347.57,-282.87 347.57,-282.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"449\" y=\"-251.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M608.89,-240.35C589.37,-241.27 556.81,-244.44 531,-255 523.14,-258.22 515.33,-262.92 508.34,-267.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"502.67,-271.99 506.45,-265.31 505.49,-269.92 508.31,-267.85 508.31,-267.85 508.31,-267.85 505.49,-269.92 510.18,-270.39 502.67,-271.99 502.67,-271.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-258.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M614.99,-259.04C613.33,-268.53 617.33,-277 627,-277 634.1,-277 638.14,-272.43 639.13,-266.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"639.01,-259.04 642.28,-265.98 639.07,-262.54 639.13,-266.04 639.13,-266.04 639.13,-266.04 639.07,-262.54 635.98,-266.09 639.01,-259.04 639.01,-259.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"597\" y=\"-280.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.09,-400.08C205.99,-413.26 215.44,-430.88 228,-443 264.34,-478.07 278,-496 328.5,-496 328.5,-496 328.5,-496 760,-496 835.09,-496 846,-375.59 847.14,-322.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"847.25,-315.01 850.29,-322.06 847.2,-318.51 847.14,-322.01 847.14,-322.01 847.14,-322.01 847.2,-318.51 843.99,-321.96 847.25,-315.01 847.25,-315.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"543.5\" y=\"-499.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->7 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.32,-398.11C234.71,-419.06 281.49,-453 328.5,-453 328.5,-453 328.5,-453 562,-453 652.86,-453 670.03,-400.83 723,-327 736.49,-308.2 745.79,-283.46 751.39,-265.17\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.43,-258.25 754.47,-265.86 752.44,-261.61 751.45,-264.97 751.45,-264.97 751.45,-264.97 752.44,-261.61 748.43,-264.08 753.43,-258.25 753.43,-258.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"465.5\" y=\"-456.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->5 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.11,-367.1C215.69,-362.44 222,-357.37 228,-353 253.61,-334.35 284.55,-315.11 305.27,-302.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.36,-299.02 306.97,-305.31 308.35,-300.82 305.35,-302.61 305.35,-302.61 305.35,-302.61 308.35,-300.82 303.73,-299.91 311.36,-299.02 311.36,-299.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-356.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.33,-380.43C230.21,-378.42 263.73,-374.42 292,-368 355.46,-353.6 372.51,-350.53 431,-322 437.58,-318.79 444.33,-314.86 450.64,-310.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"456.78,-306.86 452.63,-313.32 453.84,-308.77 450.91,-310.68 450.91,-310.68 450.91,-310.68 453.84,-308.77 449.19,-308.04 456.78,-306.86 456.78,-306.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-368.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.08,-145.04C278.52,-114.35 538.09,-9.69 723,-96 794.42,-129.33 828.49,-225.93 841.04,-271.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"842.87,-278.93 838.04,-272.97 841.98,-275.55 841.09,-272.17 841.09,-272.17 841.09,-272.17 841.98,-275.55 844.13,-271.36 842.87,-278.93 842.87,-278.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"543.5\" y=\"-67.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->7 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.06,-150.66C215.75,-149.98 222.14,-149.33 228,-149 256.4,-147.38 263.56,-148.42 292,-149 390.28,-151 416.32,-140.22 513,-158 596.96,-173.44 691.49,-211.24 734.47,-229.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.92,-232.4 733.24,-232.53 737.7,-231.02 734.49,-229.63 734.49,-229.63 734.49,-229.63 737.7,-231.02 735.74,-226.74 740.92,-232.4 740.92,-232.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"451\" y=\"-161.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->8 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.26,-134.78C198.74,-114.43 207.33,-81.89 228,-63 262.32,-31.64 282.01,-34 328.5,-34 328.5,-34 328.5,-34 628,-34 664.77,-34 707.39,-34 733.52,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.76,-34 733.76,-37.15 737.26,-34 733.76,-34 733.76,-34 733.76,-34 737.26,-34 733.76,-30.85 740.76,-34 740.76,-34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"453\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->5 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M193.78,-171.01C195.81,-194.95 202.96,-236.99 228,-261 248.43,-280.6 281.39,-286.7 303.95,-288.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"311.17,-288.94 303.99,-291.64 307.68,-288.72 304.19,-288.5 304.19,-288.5 304.19,-288.5 307.68,-288.72 304.38,-285.36 311.17,-288.94 311.17,-288.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-290.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.33,-160.29C215.93,-162.54 222.19,-164.97 228,-167 316.93,-198.08 359.87,-166.23 431,-228 445.41,-240.52 436.96,-252.19 449,-267 449.78,-267.97 450.62,-268.91 451.49,-269.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"456.82,-274.88 449.57,-272.36 454.28,-272.48 451.74,-270.07 451.74,-270.07 451.74,-270.07 454.28,-272.48 453.9,-267.78 456.82,-274.88 456.82,-274.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"310\" y=\"-190.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.24,-153C249.73,-153.31 349.64,-155.88 431,-173 494.55,-186.37 565.95,-214.44 602.17,-229.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"608.93,-232.52 601.25,-232.69 605.7,-231.15 602.48,-229.79 602.48,-229.79 602.48,-229.79 605.7,-231.15 603.71,-226.89 608.93,-232.52 608.93,-232.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc0ea7b0> >"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.decompose_scc(aut, \"st\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The weak automata seem to be good candidates for further simplification. Let's add a call to `postprocess()` to our decomposition loop, trying to preserve the determinism and state-based acceptance of the original automaton."
|
|
]
|
|
},
|
|
{
|
|
"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",
|
|
"<!-- Title: inherently terminal Pages: 1 -->\n",
|
|
"<svg width=\"395pt\" height=\"179pt\"\n",
|
|
" viewBox=\"0.00 0.00 395.00 179.11\" 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 175.11)\">\n",
|
|
"<title>inherently terminal</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-175.11 391,-175.11 391,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"136.5\" y=\"-156.91\" font-family=\"Lato\" font-size=\"14.00\">inherently terminal</text>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-142.91\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-142.91\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"210\" y=\"-142.91\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-128.91\" 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=\"327,-10.11 327,-97.11 379,-97.11 379,-10.11 327,-10.11\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"244,-11.11 244,-96.11 296,-96.11 296,-11.11 244,-11.11\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-9.11 30,-96.11 193,-96.11 193,-9.11 30,-9.11\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-53.11C62,-53.11 50,-53.11 50,-53.11 44,-53.11 38,-47.11 38,-41.11 38,-41.11 38,-29.11 38,-29.11 38,-23.11 44,-17.11 50,-17.11 50,-17.11 62,-17.11 62,-17.11 68,-17.11 74,-23.11 74,-29.11 74,-29.11 74,-41.11 74,-41.11 74,-47.11 68,-53.11 62,-53.11\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.41\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->2 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-35.11C2.79,-35.11 17.15,-35.11 30.63,-35.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35.11 30.94,-38.26 34.44,-35.11 30.94,-35.11 30.94,-35.11 30.94,-35.11 34.44,-35.11 30.94,-31.96 37.94,-35.11 37.94,-35.11\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.49,-53.27C48.49,-62.65 50.66,-71.11 56,-71.11 59.92,-71.11 62.14,-66.55 62.64,-60.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.51,-53.27 65.79,-60.21 62.57,-56.77 62.64,-60.26 62.64,-60.26 62.64,-60.26 62.57,-56.77 59.49,-60.32 62.51,-53.27 62.51,-53.27\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-74.91\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M359,-56.11C359,-56.11 347,-56.11 347,-56.11 341,-56.11 335,-50.11 335,-44.11 335,-44.11 335,-30.11 335,-30.11 335,-24.11 341,-18.11 347,-18.11 347,-18.11 359,-18.11 359,-18.11 365,-18.11 371,-24.11 371,-30.11 371,-30.11 371,-44.11 371,-44.11 371,-50.11 365,-56.11 359,-56.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-40.91\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"345\" y=\"-25.91\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-28.96C113.67,-15.59 214.55,13.33 296,-7.11 307.41,-9.98 319.03,-15.66 328.71,-21.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.76,-25 327.15,-24.05 331.77,-23.18 328.78,-21.36 328.78,-21.36 328.78,-21.36 331.77,-23.18 330.42,-18.67 334.76,-25 334.76,-25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"215\" y=\"-5.91\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M173,-55.11C173,-55.11 161,-55.11 161,-55.11 155,-55.11 149,-49.11 149,-43.11 149,-43.11 149,-31.11 149,-31.11 149,-25.11 155,-19.11 161,-19.11 161,-19.11 173,-19.11 173,-19.11 179,-19.11 185,-25.11 185,-31.11 185,-31.11 185,-43.11 185,-43.11 185,-49.11 179,-55.11 173,-55.11\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"167\" y=\"-33.41\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.05,-35.27C89.05,-35.43 111.47,-35.7 131,-36.11 134.46,-36.19 138.12,-36.28 141.71,-36.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.91,-36.57 141.83,-39.53 145.41,-36.48 141.91,-36.38 141.91,-36.38 141.91,-36.38 145.41,-36.48 142,-33.23 148.91,-36.57 148.91,-36.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.91\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M345.72,-56.15C344.71,-65.64 347.14,-74.11 353,-74.11 357.3,-74.11 359.75,-69.55 360.35,-63.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"360.28,-56.15 363.5,-63.12 360.32,-59.65 360.35,-63.15 360.35,-63.15 360.35,-63.15 360.32,-59.65 357.2,-63.18 360.28,-56.15 360.28,-56.15\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"353\" y=\"-77.91\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M276,-55.11C276,-55.11 264,-55.11 264,-55.11 258,-55.11 252,-49.11 252,-43.11 252,-43.11 252,-31.11 252,-31.11 252,-25.11 258,-19.11 264,-19.11 264,-19.11 276,-19.11 276,-19.11 282,-19.11 288,-25.11 288,-31.11 288,-31.11 288,-43.11 288,-43.11 288,-49.11 282,-55.11 276,-55.11\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"270\" y=\"-33.41\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M288.18,-37.11C299.67,-37.11 314.96,-37.11 327.69,-37.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.85,-37.11 327.85,-40.26 331.35,-37.11 327.85,-37.11 327.85,-37.11 327.85,-37.11 331.35,-37.11 327.85,-33.96 334.85,-37.11 334.85,-37.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"306\" y=\"-40.91\" 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=\"M262.76,-55.27C261.65,-64.65 264.06,-73.11 270,-73.11 274.36,-73.11 276.82,-68.55 277.38,-62.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"277.24,-55.27 280.52,-62.2 277.31,-58.76 277.37,-62.26 277.37,-62.26 277.37,-62.26 277.31,-58.76 274.23,-62.33 277.24,-55.27 277.24,-55.27\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"266.5\" y=\"-76.91\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M148.95,-45.44C143.36,-47.75 137.04,-49.95 131,-51.11 113.98,-54.39 108.94,-54.8 92,-51.11 88.25,-50.3 84.41,-49.04 80.73,-47.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.29,-44.79 81.97,-44.69 77.5,-46.18 80.72,-47.58 80.72,-47.58 80.72,-47.58 77.5,-46.18 79.46,-50.47 74.29,-44.79 74.29,-44.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-56.91\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.03,-55.18C197,-70.45 219.33,-91.22 244,-100.11 265.74,-107.95 274.92,-109.58 296,-100.11 313.4,-92.3 327.61,-76.1 337.35,-62.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"341.25,-56.25 339.99,-63.82 339.31,-59.16 337.37,-62.07 337.37,-62.07 337.37,-62.07 339.31,-59.16 334.75,-60.32 341.25,-56.25 341.25,-56.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-109.91\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M185.13,-37.11C201.38,-37.11 225.98,-37.11 244.34,-37.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"251.78,-37.11 244.78,-40.26 248.28,-37.11 244.78,-37.11 244.78,-37.11 244.78,-37.11 248.28,-37.11 244.78,-33.96 251.78,-37.11 251.78,-37.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-40.91\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M157.95,-55.27C156.56,-64.65 159.58,-73.11 167,-73.11 172.45,-73.11 175.52,-68.55 176.22,-62.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.05,-55.27 179.37,-62.19 176.13,-58.76 176.22,-62.26 176.22,-62.26 176.22,-62.26 176.13,-58.76 173.07,-62.34 176.05,-55.27 176.05,-55.27\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-76.91\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc0ab3f0> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strictly inherently weak Pages: 1 -->\n",
|
|
"<svg width=\"394pt\" height=\"356pt\"\n",
|
|
" viewBox=\"0.00 0.00 394.00 356.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 352)\">\n",
|
|
"<title>strictly inherently weak</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-352 390,-352 390,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"122.5\" y=\"-333.8\" font-family=\"Lato\" font-size=\"14.00\">strictly inherently weak</text>\n",
|
|
"<text text-anchor=\"start\" x=\"172.5\" y=\"-319.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"193.5\" y=\"-319.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"209.5\" y=\"-319.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"171.5\" y=\"-305.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=\"326,-8 326,-95 378,-95 378,-8 326,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-103 30,-290 378,-290 378,-103 30,-103\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-220C62,-220 50,-220 50,-220 44,-220 38,-214 38,-208 38,-208 38,-196 38,-196 38,-190 44,-184 50,-184 50,-184 62,-184 62,-184 68,-184 74,-190 74,-196 74,-196 74,-208 74,-208 74,-214 68,-220 62,-220\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-198.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->2 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-202C2.79,-202 17.15,-202 30.63,-202\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-202 30.94,-205.15 34.44,-202 30.94,-202 30.94,-202 30.94,-202 34.44,-202 30.94,-198.85 37.94,-202 37.94,-202\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.49,-220.15C48.49,-229.54 50.66,-238 56,-238 59.92,-238 62.14,-233.44 62.64,-227.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.51,-220.15 65.79,-227.1 62.57,-223.65 62.64,-227.15 62.64,-227.15 62.64,-227.15 62.57,-223.65 59.49,-227.21 62.51,-220.15 62.51,-220.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-241.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-234C358,-234 346,-234 346,-234 340,-234 334,-228 334,-222 334,-222 334,-210 334,-210 334,-204 340,-198 346,-198 346,-198 358,-198 358,-198 364,-198 370,-204 370,-210 370,-210 370,-222 370,-222 370,-228 364,-234 358,-234\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"352\" y=\"-212.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.35,-206.08C79.96,-207.23 86.21,-208.35 92,-209 136.93,-214.06 271.03,-215.49 326.53,-215.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.82,-215.92 326.8,-219.02 330.32,-215.9 326.82,-215.87 326.82,-215.87 326.82,-215.87 330.32,-215.9 326.84,-212.72 333.82,-215.92 333.82,-215.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-217.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M208,-147C208,-147 196,-147 196,-147 190,-147 184,-141 184,-135 184,-135 184,-123 184,-123 184,-117 190,-111 196,-111 196,-111 208,-111 208,-111 214,-111 220,-117 220,-123 220,-123 220,-135 220,-135 220,-141 214,-147 208,-147\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"202\" y=\"-125.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.96,-183.95C70.84,-172.74 79.91,-159 92,-151 117.43,-134.19 152.96,-129.74 176.45,-128.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.63,-128.62 176.72,-131.95 180.13,-128.71 176.63,-128.8 176.63,-128.8 176.63,-128.8 180.13,-128.71 176.55,-125.66 183.63,-128.62 183.63,-128.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-154.8\" 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",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-54C358,-54 346,-54 346,-54 340,-54 334,-48 334,-42 334,-42 334,-28 334,-28 334,-22 340,-16 346,-16 346,-16 358,-16 358,-16 364,-16 370,-22 370,-28 370,-28 370,-42 370,-42 370,-48 364,-54 358,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-54.04C337.91,-63.53 342.04,-72 352,-72 359.32,-72 363.48,-67.43 364.5,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-54.04 367.65,-60.98 364.44,-57.54 364.5,-61.04 364.5,-61.04 364.5,-61.04 364.44,-57.54 361.35,-61.09 364.37,-54.04 364.37,-54.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"336\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M333.66,-219.71C310.92,-224.38 269.69,-232.12 234,-235 205.65,-237.29 198.33,-237.52 170,-235 134.92,-231.88 125.23,-232.66 92,-221 88.25,-219.68 84.42,-218 80.73,-216.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.3,-212.81 81.96,-213.27 77.4,-214.43 80.5,-216.06 80.5,-216.06 80.5,-216.06 77.4,-214.43 79.04,-218.85 74.3,-212.81 74.3,-212.81\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-239.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !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=\"M339.7,-234.15C337.81,-243.54 341.91,-252 352,-252 359.41,-252 363.59,-247.44 364.54,-241.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.3,-234.15 367.68,-241.04 364.42,-237.65 364.54,-241.15 364.54,-241.15 364.54,-241.15 364.42,-237.65 361.39,-241.25 364.3,-234.15 364.3,-234.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"334.5\" y=\"-255.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.69,-144C174.66,-151.3 163.2,-159.82 152,-166 129.04,-178.68 100.69,-188.78 80.96,-195.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.11,-197.13 79.87,-192.06 77.46,-196.1 80.8,-195.06 80.8,-195.06 80.8,-195.06 77.46,-196.1 81.73,-198.07 74.11,-197.13 74.11,-197.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-193.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.27,-118.03C246.89,-101.12 298,-68.66 327.82,-49.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.84,-45.9 329.62,-52.31 330.89,-47.77 327.93,-49.65 327.93,-49.65 327.93,-49.65 330.89,-47.77 326.25,-46.99 333.84,-45.9 333.84,-45.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"256\" y=\"-98.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.27,-139.15C246.78,-154.74 297.58,-184.59 327.44,-202.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.84,-205.91 326.21,-205.08 330.83,-204.14 327.81,-202.37 327.81,-202.37 327.81,-202.37 330.83,-204.14 329.4,-199.65 333.84,-205.91 333.84,-205.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-197.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.53,-147.15C185.3,-156.54 190.12,-165 202,-165 210.72,-165 215.64,-160.44 216.75,-154.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.47,-147.15 219.9,-154.02 216.61,-150.65 216.75,-154.15 216.75,-154.15 216.75,-154.15 216.61,-150.65 213.6,-154.27 216.47,-147.15 216.47,-147.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-168.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc211570> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strong Pages: 1 -->\n",
|
|
"<svg width=\"554pt\" height=\"215pt\"\n",
|
|
" viewBox=\"0.00 0.00 554.00 215.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 211)\">\n",
|
|
"<title>strong</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-211 550,-211 550,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"253\" y=\"-192.8\" font-family=\"Lato\" font-size=\"14.00\">strong</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"213.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"271.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"329.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"345.5\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"216\" y=\"-164.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min even 3]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"178,-11 178,-149 538,-149 538,-11 178,-11\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"30,-8 30,-60 82,-60 82,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-52C62,-52 50,-52 50,-52 44,-52 38,-46 38,-40 38,-40 38,-28 38,-28 38,-22 44,-16 50,-16 50,-16 62,-16 62,-16 68,-16 74,-22 74,-28 74,-28 74,-40 74,-40 74,-46 68,-52 62,-52\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.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,-34C2.79,-34 17.15,-34 30.63,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-34 30.94,-37.15 34.44,-34 30.94,-34 30.94,-34 30.94,-34 34.44,-34 30.94,-30.85 37.94,-34 37.94,-34\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M210,-106C210,-106 198,-106 198,-106 192,-106 186,-100 186,-94 186,-94 186,-80 186,-80 186,-74 192,-68 198,-68 198,-68 210,-68 210,-68 216,-68 222,-74 222,-80 222,-80 222,-94 222,-94 222,-100 216,-106 210,-106\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"199.5\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"196\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-40.98C79.73,-43.27 86.12,-45.79 92,-48 121.85,-59.21 156.57,-71.25 179.12,-78.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"185.99,-81.28 178.35,-82 182.68,-80.15 179.37,-79.02 179.37,-79.02 179.37,-79.02 182.68,-80.15 180.38,-76.04 185.99,-81.28 185.99,-81.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-73.8\" 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",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M372,-57C372,-57 360,-57 360,-57 354,-57 348,-51 348,-45 348,-45 348,-31 348,-31 348,-25 354,-19 360,-19 360,-19 372,-19 372,-19 378,-19 384,-25 384,-31 384,-31 384,-45 384,-45 384,-51 378,-57 372,-57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"361.5\" y=\"-41.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"358\" y=\"-26.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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.44,-34.23C126.43,-34.9 280.44,-36.9 340.57,-37.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.75,-37.78 340.71,-40.83 344.25,-37.73 340.75,-37.68 340.75,-37.68 340.75,-37.68 344.25,-37.73 340.79,-34.54 347.75,-37.78 347.75,-37.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"174\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.35,-30.48C97.11,-26.06 138.34,-18.73 174,-16 200.59,-13.97 207.43,-13.78 234,-16 271.6,-19.14 314.65,-27.25 340.82,-32.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.74,-34.16 340.24,-35.79 344.32,-33.43 340.89,-32.71 340.89,-32.71 340.89,-32.71 344.32,-33.43 341.54,-29.63 347.74,-34.16 347.74,-34.16\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184.5\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M189.44,-106.04C187.43,-115.53 192.28,-124 204,-124 212.61,-124 217.51,-119.43 218.71,-113.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"218.56,-106.04 221.85,-112.97 218.63,-109.54 218.7,-113.04 218.7,-113.04 218.7,-113.04 218.63,-109.54 215.55,-113.1 218.56,-106.04 218.56,-106.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"186.5\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M222,-77.51C230.76,-72.92 241.73,-67.64 252,-64 281.79,-53.44 317.54,-46.05 340.74,-41.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.81,-40.69 341.45,-44.99 344.36,-41.29 340.91,-41.89 340.91,-41.89 340.91,-41.89 344.36,-41.29 340.37,-38.79 347.81,-40.69 347.81,-40.69\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"264.5\" y=\"-67.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.92,-57.22C341.16,-66.83 329.25,-77.56 316,-83 287.99,-94.5 252.59,-93.39 229.39,-90.82\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"222.32,-89.95 229.65,-87.68 225.79,-90.38 229.26,-90.81 229.26,-90.81 229.26,-90.81 225.79,-90.38 228.88,-93.94 222.32,-89.95 222.32,-89.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-95.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !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=\"M351.44,-57.04C349.43,-66.53 354.28,-75 366,-75 374.61,-75 379.51,-70.43 380.71,-64.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"380.56,-57.04 383.85,-63.97 380.63,-60.54 380.7,-64.04 380.7,-64.04 380.7,-64.04 380.63,-60.54 377.55,-64.1 380.56,-57.04 380.56,-57.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"346.5\" y=\"-78.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M518,-95C518,-95 506,-95 506,-95 500,-95 494,-89 494,-83 494,-83 494,-69 494,-69 494,-63 500,-57 506,-57 506,-57 518,-57 518,-57 524,-57 530,-63 530,-69 530,-69 530,-83 530,-83 530,-89 524,-95 518,-95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"507.5\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"504\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M384.1,-34.19C406.31,-30.11 445.82,-25.84 476,-39 482.31,-41.75 488.02,-46.25 492.91,-51.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"497.88,-56.64 490.84,-53.59 495.52,-54.05 493.17,-51.46 493.17,-51.46 493.17,-51.46 495.52,-54.05 495.49,-49.34 497.88,-56.64 497.88,-56.64\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"416\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M493.81,-82.65C451.94,-97.91 341.55,-132.54 252,-111 243.95,-109.06 235.73,-105.51 228.46,-101.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"222.08,-98.2 229.74,-98.82 225.15,-99.89 228.22,-101.58 228.22,-101.58 228.22,-101.58 225.15,-99.89 226.7,-104.34 222.08,-98.2 222.08,-98.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"334\" y=\"-120.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M493.72,-72.48C474.6,-68.47 442.91,-61.49 416,-54 407.82,-51.72 398.96,-48.93 391.06,-46.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"384.12,-44 391.76,-43.24 387.44,-45.11 390.76,-46.22 390.76,-46.22 390.76,-46.22 387.44,-45.11 389.76,-49.21 384.12,-44 384.12,-44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"426.5\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M499.99,-95.04C498.33,-104.53 502.33,-113 512,-113 519.1,-113 523.14,-108.43 524.13,-102.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"524.01,-95.04 527.28,-101.98 524.07,-98.54 524.13,-102.04 524.13,-102.04 524.13,-102.04 524.07,-98.54 520.98,-102.09 524.01,-95.04 524.01,-95.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"482\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc23fa80> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for (name, opt) in (('inherently terminal', 't'), ('strictly inherently weak', 'w'), ('strong', 's')):\n",
|
|
" a = spot.decompose_scc(aut, opt).postprocess('deterministic', 'SBAcc')\n",
|
|
" a.set_name(name)\n",
|
|
" display(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Streett\n",
|
|
"\n",
|
|
"Since this notebook also serves as a test suite, let's try a Streett automaton. This one was generated with\n",
|
|
"\n",
|
|
" ltldo -f '(Ga -> Gb) W c' 'ltl2dstar --automata=streett --ltl2nba=spin:ltl2tgba@-Ds' -H | \n",
|
|
" autfilt -H --merge-transitions"
|
|
]
|
|
},
|
|
{
|
|
"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=\"675pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 675.27 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.7352941176470588 0.7352941176470588) rotate(0) translate(4 487)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-487 917,-487 917,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"345\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">(Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"424\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"440\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">)) & (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"492\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"508\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"544\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"560\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"425\" y=\"-454.8\" font-family=\"Lato\" font-size=\"14.00\">[Streett 2]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"841,-109 841,-194 905,-194 905,-109 841,-109\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"746,-216 746,-301 810,-301 810,-216 746,-216\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"626,-160 626,-247 678,-247 678,-160 626,-160\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"626,-325 626,-412 678,-412 678,-325 626,-325\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-139 30,-348 526,-348 526,-139 30,-139\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-229C62,-229 50,-229 50,-229 44,-229 38,-223 38,-217 38,-217 38,-203 38,-203 38,-197 44,-191 50,-191 50,-191 62,-191 62,-191 68,-191 74,-197 74,-203 74,-203 74,-217 74,-217 74,-223 68,-229 62,-229\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->7 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-210C2.79,-210 17.15,-210 30.63,-210\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-210 30.94,-213.15 34.44,-210 30.94,-210 30.94,-210 30.94,-210 34.44,-210 30.94,-206.85 37.94,-210 37.94,-210\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-229.04C48.54,-238.53 50.73,-247 56,-247 59.87,-247 62.08,-242.43 62.62,-236.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-229.04 65.77,-236.01 62.58,-232.54 62.62,-236.04 62.62,-236.04 62.62,-236.04 62.58,-232.54 59.47,-236.07 62.55,-229.04 62.55,-229.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-250.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M885,-153C885,-153 861,-153 861,-153 855,-153 849,-147 849,-141 849,-141 849,-129 849,-129 849,-123 855,-117 861,-117 861,-117 885,-117 885,-117 891,-117 897,-123 897,-129 897,-129 897,-141 897,-141 897,-147 891,-153 885,-153\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"868.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"857\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"873\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->4 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>7->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M60.51,-190.99C71.28,-139.3 108.83,0 201,0 201,0 201,0 779,0 831.78,0 856.9,-70.85 866.73,-109.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"868.39,-116.79 863.69,-110.73 867.57,-113.39 866.75,-109.99 866.75,-109.99 866.75,-109.99 867.57,-113.39 869.81,-109.25 868.39,-116.79 868.39,-116.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"496.5\" y=\"-3.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-244C358,-244 346,-244 346,-244 340,-244 334,-238 334,-232 334,-232 334,-218 334,-218 334,-212 340,-206 346,-206 346,-206 358,-206 358,-206 364,-206 370,-212 370,-218 370,-218 370,-232 370,-232 370,-238 364,-244 358,-244\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->2 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>7->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-210.87C123.81,-213.41 268.65,-220.8 326.61,-223.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.88,-224.13 326.72,-226.92 330.38,-223.95 326.88,-223.77 326.88,-223.77 326.88,-223.77 330.38,-223.95 327.05,-220.62 333.88,-224.13 333.88,-224.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M208,-307C208,-307 196,-307 196,-307 190,-307 184,-301 184,-295 184,-295 184,-281 184,-281 184,-275 190,-269 196,-269 196,-269 208,-269 208,-269 214,-269 220,-275 220,-281 220,-281 220,-295 220,-295 220,-301 214,-307 208,-307\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"197.5\" y=\"-291.8\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-276.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->6 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>7->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M61.85,-229.26C66.78,-244.57 76.01,-265.15 92,-276 117.01,-292.98 152.94,-293.51 176.61,-291.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.84,-290.73 177.2,-294.57 180.36,-291.09 176.88,-291.44 176.88,-291.44 176.88,-291.44 180.36,-291.09 176.56,-288.31 183.84,-290.73 183.84,-290.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-295.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M864.68,-153.15C863.4,-162.54 866.17,-171 873,-171 878.01,-171 880.84,-166.44 881.48,-160.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"881.32,-153.15 884.63,-160.08 881.4,-156.65 881.48,-160.15 881.48,-160.15 881.48,-160.15 881.4,-156.65 878.33,-160.22 881.32,-153.15 881.32,-153.15\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"873\" y=\"-174.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M790,-260C790,-260 766,-260 766,-260 760,-260 754,-254 754,-248 754,-248 754,-236 754,-236 754,-230 760,-224 766,-224 766,-224 790,-224 790,-224 796,-224 802,-230 802,-236 802,-236 802,-248 802,-248 802,-254 796,-260 790,-260\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"773.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"762\" y=\"-231.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"778\" y=\"-231.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M794.78,-223.85C810.41,-205.86 834.42,-178.23 851.52,-158.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"856.15,-153.24 853.93,-160.59 853.85,-155.88 851.55,-158.52 851.55,-158.52 851.55,-158.52 853.85,-155.88 849.18,-156.46 856.15,-153.24 856.15,-153.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"820\" y=\"-194.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M769.68,-260.15C768.4,-269.54 771.17,-278 778,-278 783.01,-278 785.84,-273.44 786.48,-267.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"786.32,-260.15 789.63,-267.08 786.4,-263.65 786.48,-267.15 786.48,-267.15 786.48,-267.15 786.4,-263.65 783.33,-267.22 786.32,-260.15 786.32,-260.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"774.5\" y=\"-281.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M658,-206C658,-206 646,-206 646,-206 640,-206 634,-200 634,-194 634,-194 634,-180 634,-180 634,-174 640,-168 646,-168 646,-168 658,-168 658,-168 664,-168 670,-174 670,-180 670,-180 670,-194 670,-194 670,-200 664,-206 658,-206\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"647.5\" y=\"-190.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"644\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.18,-182.92C707.3,-174.11 795.36,-153.2 841.93,-142.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"848.76,-140.52 842.68,-145.2 845.36,-141.33 841.95,-142.13 841.95,-142.13 841.95,-142.13 845.36,-141.33 841.23,-139.07 848.76,-140.52 848.76,-140.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"772.5\" y=\"-167.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.24,-194.65C690.07,-203.44 722.98,-218.04 747.03,-228.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.56,-231.6 745.88,-231.64 750.36,-230.18 747.16,-228.76 747.16,-228.76 747.16,-228.76 750.36,-230.18 748.44,-225.88 753.56,-231.6 753.56,-231.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700\" y=\"-225.8\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M639.99,-206.04C638.33,-215.53 642.33,-224 652,-224 659.1,-224 663.14,-219.43 664.13,-213.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"664.01,-206.04 667.28,-212.98 664.07,-209.54 664.13,-213.04 664.13,-213.04 664.13,-213.04 664.07,-209.54 660.98,-213.09 664.01,-206.04 664.01,-206.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"636\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M658,-371C658,-371 646,-371 646,-371 640,-371 634,-365 634,-359 634,-359 634,-345 634,-345 634,-339 640,-333 646,-333 646,-333 658,-333 658,-333 664,-333 670,-339 670,-345 670,-345 670,-359 670,-359 670,-365 664,-371 658,-371\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"647.5\" y=\"-355.8\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"<text text-anchor=\"start\" x=\"644\" y=\"-340.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.27,-355.49C687.35,-358.24 714.05,-360.61 736,-354 773.77,-342.63 785.57,-335.97 810,-305 844.69,-261.02 861.14,-195.83 867.92,-160.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"869.23,-153.2 871.06,-160.66 868.59,-156.64 867.96,-160.09 867.96,-160.09 867.96,-160.09 868.59,-156.64 864.86,-159.52 869.23,-153.2 869.23,-153.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"772.5\" y=\"-353.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->3 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>5->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.06,-348.1C688.23,-343.22 716.93,-333.31 736,-316 750.84,-302.53 761.52,-282.38 768.24,-266.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"770.89,-260 771.17,-267.67 769.57,-263.25 768.25,-266.49 768.25,-266.49 768.25,-266.49 769.57,-263.25 765.33,-265.3 770.89,-260 770.89,-260\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700\" y=\"-340.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M639.99,-371.04C638.33,-380.53 642.33,-389 652,-389 659.1,-389 663.14,-384.43 664.13,-378.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"664.01,-371.04 667.28,-377.98 664.07,-374.54 664.13,-378.04 664.13,-378.04 664.13,-378.04 664.07,-374.54 660.98,-378.09 664.01,-371.04 664.01,-371.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"636\" y=\"-392.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->7 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M333.76,-219.92C311.11,-213.54 269.99,-202.95 234,-199 179.66,-193.03 115.54,-200.64 81.36,-205.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.13,-206.99 80.56,-202.79 77.59,-206.45 81.05,-205.9 81.05,-205.9 81.05,-205.9 77.59,-206.45 81.54,-209.02 74.13,-206.99 74.13,-206.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-202.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M358.5,-205.84C373.05,-159.67 417.19,-46 499,-46 499,-46 499,-46 779,-46 816.5,-46 844.79,-84.23 859.84,-110.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"863.38,-116.99 857.24,-112.38 861.68,-113.93 859.99,-110.86 859.99,-110.86 859.99,-110.86 861.68,-113.93 862.75,-109.34 863.38,-116.99 863.38,-116.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"634.5\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.03,-233.75C375.62,-236.22 381.94,-238.61 388,-240 515.43,-269.29 551.39,-257.17 682,-251 703.62,-249.98 727.92,-247.65 746.53,-245.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.62,-244.84 747.01,-248.74 750.14,-245.22 746.66,-245.61 746.66,-245.61 746.66,-245.61 750.14,-245.22 746.31,-242.48 753.62,-244.84 753.62,-244.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"560.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-244.04C337.91,-253.53 342.04,-262 352,-262 359.32,-262 363.48,-257.43 364.5,-251.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-244.04 367.65,-250.98 364.44,-247.54 364.5,-251.04 364.5,-251.04 364.5,-251.04 364.44,-247.54 361.35,-251.09 364.37,-244.04 364.37,-244.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-265.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M506,-191C506,-191 494,-191 494,-191 488,-191 482,-185 482,-179 482,-179 482,-165 482,-165 482,-159 488,-153 494,-153 494,-153 506,-153 506,-153 512,-153 518,-159 518,-165 518,-165 518,-179 518,-179 518,-185 512,-191 506,-191\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"495.5\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"492\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.1,-223.69C390.35,-221.67 424.77,-216.7 452,-205 460.3,-201.43 468.62,-196.26 475.89,-191.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"481.74,-186.72 478,-193.42 478.93,-188.8 476.12,-190.89 476.12,-190.89 476.12,-190.89 478.93,-188.8 474.24,-188.36 481.74,-186.72 481.74,-186.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"390\" y=\"-224.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->7 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M481.69,-171.06C459.84,-170.02 421.12,-168.66 388,-170 256.12,-175.34 219.72,-160.73 92,-194 88.2,-194.99 84.3,-196.37 80.55,-197.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.01,-200.79 79.14,-195.08 77.21,-199.38 80.41,-197.96 80.41,-197.96 80.41,-197.96 77.21,-199.38 81.68,-200.85 74.01,-200.79 74.01,-200.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"264.5\" y=\"-174.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M517.32,-152.79C525.59,-144.5 536.33,-135.65 548,-131 649.24,-90.69 782.79,-113.67 841.77,-127.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"848.93,-128.93 841.39,-130.39 845.52,-128.13 842.11,-127.33 842.11,-127.33 842.11,-127.33 845.52,-128.13 842.83,-124.26 848.93,-128.93 848.93,-128.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700.5\" y=\"-114.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M518.23,-162.86C551.33,-146.6 625.52,-116.59 682,-141 718.06,-156.59 746.74,-193.34 762.81,-217.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.62,-223.91 760.2,-219.7 764.73,-220.96 762.85,-218.01 762.85,-218.01 762.85,-218.01 764.73,-220.96 765.51,-216.32 766.62,-223.91 766.62,-223.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"622\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M518.21,-173.72C544.88,-176.39 596.3,-181.53 626.74,-184.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"633.99,-185.3 626.72,-187.74 630.51,-184.95 627.03,-184.6 627.03,-184.6 627.03,-184.6 630.51,-184.95 627.34,-181.47 633.99,-185.3 633.99,-185.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"548\" y=\"-185.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M481.83,-171.59C459.12,-171.74 418.41,-174.43 388,-190 382.61,-192.76 377.54,-196.65 373.02,-200.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"367.97,-205.85 370.72,-198.68 370.46,-203.38 372.94,-200.91 372.94,-200.91 372.94,-200.91 370.46,-203.38 375.16,-203.15 367.97,-205.85 367.97,-205.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-193.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M486.17,-191.04C484.26,-200.53 488.87,-209 500,-209 508.18,-209 512.83,-204.43 513.97,-198.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"513.83,-191.04 517.12,-197.97 513.9,-194.54 513.97,-198.04 513.97,-198.04 513.97,-198.04 513.9,-194.54 510.82,-198.1 513.83,-191.04 513.83,-191.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"470\" y=\"-212.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->7 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>6->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.61,-277.65C174.38,-272.36 162.75,-265.99 152,-261 126.1,-248.97 116.78,-252.2 92,-238 87.83,-235.61 83.63,-232.74 79.66,-229.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.04,-225.37 81.5,-227.2 76.8,-227.52 79.55,-229.68 79.55,-229.68 79.55,-229.68 76.8,-227.52 77.61,-232.16 74.04,-225.37 74.04,-225.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-264.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.56,-307.12C230.55,-346.29 280.2,-432 351,-432 351,-432 351,-432 779,-432 835.69,-432 861.93,-232.42 869.55,-160.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"870.31,-153.13 872.72,-160.42 869.95,-156.61 869.59,-160.09 869.59,-160.09 869.59,-160.09 869.95,-156.61 866.46,-159.77 870.31,-153.13 870.31,-153.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"558.5\" y=\"-435.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.24,-291.28C247.77,-296.22 303.41,-305 351,-305 351,-305 351,-305 653,-305 689.73,-305 726.59,-282.76 750.46,-264.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"756.24,-260.22 752.64,-267 753.47,-262.37 750.71,-264.51 750.71,-264.51 750.71,-264.51 753.47,-262.37 748.78,-262.02 756.24,-260.22 756.24,-260.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"470\" y=\"-308.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.1,-301.7C229.06,-308.11 240.55,-315.16 252,-319 387.53,-364.41 562.78,-358.16 626.49,-353.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"633.69,-353.44 626.93,-357.07 630.2,-353.69 626.71,-353.93 626.71,-353.93 626.71,-353.93 630.2,-353.69 626.49,-350.79 633.69,-353.44 633.69,-353.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"392\" y=\"-357.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>6->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.31,-281.02C242.55,-272 282.31,-255.7 316,-241 319.67,-239.4 323.55,-237.67 327.33,-235.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.96,-232.93 328.9,-238.7 330.78,-234.38 327.59,-235.83 327.59,-235.83 327.59,-235.83 330.78,-234.38 326.29,-232.97 333.96,-232.93 333.96,-232.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-269.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.44,-307.04C185.43,-316.53 190.28,-325 202,-325 210.61,-325 215.51,-320.43 216.71,-314.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.56,-307.04 219.85,-313.97 216.63,-310.54 216.7,-314.04 216.7,-314.04 216.7,-314.04 216.63,-310.54 213.55,-314.1 216.56,-307.04 216.56,-307.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-328.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc21d750> >"
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.automaton(\"\"\"\n",
|
|
"HOA: v1\n",
|
|
"States: 8\n",
|
|
"Start: 7\n",
|
|
"AP: 3 \"a\" \"b\" \"c\"\n",
|
|
"acc-name: Streett 2\n",
|
|
"Acceptance: 4 (Fin(0) | Inf(1)) & (Fin(2) | Inf(3))\n",
|
|
"properties: trans-labels explicit-labels state-acc complete\n",
|
|
"properties: deterministic\n",
|
|
"--BODY--\n",
|
|
"State: 0 {2}\n",
|
|
"[0&1] 0\n",
|
|
"[0&!1] 3\n",
|
|
"[!0] 4\n",
|
|
"State: 1 {2}\n",
|
|
"[0&1&2] 0\n",
|
|
"[0&1&!2] 1\n",
|
|
"[0&!1&!2] 2\n",
|
|
"[0&!1&2] 3\n",
|
|
"[!0&2] 4\n",
|
|
"[!0&!2] 7\n",
|
|
"State: 2 {2}\n",
|
|
"[0&1&!2] 1\n",
|
|
"[0&!1&!2] 2\n",
|
|
"[0&2] 3\n",
|
|
"[!0&2] 4\n",
|
|
"[!0&!2] 7\n",
|
|
"State: 3 {0 3}\n",
|
|
"[0] 3\n",
|
|
"[!0] 4\n",
|
|
"State: 4 {1 3}\n",
|
|
"[t] 4\n",
|
|
"State: 5 {3}\n",
|
|
"[0&!1] 3\n",
|
|
"[!0] 4\n",
|
|
"[0&1] 5\n",
|
|
"State: 6 {3}\n",
|
|
"[0&!1&!2] 2\n",
|
|
"[0&!1&2] 3\n",
|
|
"[!0&2] 4\n",
|
|
"[0&1&2] 5\n",
|
|
"[0&1&!2] 6\n",
|
|
"[!0&!2] 7\n",
|
|
"State: 7 {3}\n",
|
|
"[0&!1&!2] 2\n",
|
|
"[2] 4\n",
|
|
"[0&1&!2] 6\n",
|
|
"[!0&!2] 7\n",
|
|
"--END--\n",
|
|
"\"\"\")\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"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",
|
|
"<!-- Title: inherently terminal Pages: 1 -->\n",
|
|
"<svg width=\"639pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 639.45 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.7142857142857143 0.7142857142857143) rotate(0) translate(4 501)\">\n",
|
|
"<title>inherently terminal</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-501 893,-501 893,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-482.8\" font-family=\"Lato\" font-size=\"14.00\">inherently terminal</text>\n",
|
|
"<text text-anchor=\"start\" x=\"424\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"445\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"461\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"423\" y=\"-454.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=\"829,-108 829,-195 881,-195 881,-108 829,-108\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"746,-215 746,-302 798,-302 798,-215 746,-215\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"626,-160 626,-247 678,-247 678,-160 626,-160\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"626,-325 626,-412 678,-412 678,-325 626,-325\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-139 30,-348 526,-348 526,-139 30,-139\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-229C62,-229 50,-229 50,-229 44,-229 38,-223 38,-217 38,-217 38,-203 38,-203 38,-197 44,-191 50,-191 50,-191 62,-191 62,-191 68,-191 74,-197 74,-203 74,-203 74,-217 74,-217 74,-223 68,-229 62,-229\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</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,-210C2.79,-210 17.15,-210 30.63,-210\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-210 30.94,-213.15 34.44,-210 30.94,-210 30.94,-210 30.94,-210 34.44,-210 30.94,-206.85 37.94,-210 37.94,-210\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-229.04C48.54,-238.53 50.73,-247 56,-247 59.87,-247 62.08,-242.43 62.62,-236.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-229.04 65.77,-236.01 62.58,-232.54 62.62,-236.04 62.62,-236.04 62.62,-236.04 62.58,-232.54 59.47,-236.07 62.55,-229.04 62.55,-229.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-250.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M861,-154C861,-154 849,-154 849,-154 843,-154 837,-148 837,-142 837,-142 837,-128 837,-128 837,-122 843,-116 849,-116 849,-116 861,-116 861,-116 867,-116 873,-122 873,-128 873,-128 873,-142 873,-142 873,-148 867,-154 861,-154\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"850.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"847\" y=\"-123.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M60.51,-190.99C71.28,-139.3 108.83,0 201,0 201,0 201,0 773,0 823.3,0 843.14,-69.78 850.32,-109\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"851.52,-115.94 847.23,-109.58 850.92,-112.5 850.33,-109.05 850.33,-109.05 850.33,-109.05 850.92,-112.5 853.43,-108.51 851.52,-115.94 851.52,-115.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"496.5\" y=\"-3.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-244C358,-244 346,-244 346,-244 340,-244 334,-238 334,-232 334,-232 334,-218 334,-218 334,-212 340,-206 346,-206 346,-206 358,-206 358,-206 364,-206 370,-212 370,-218 370,-218 370,-232 370,-232 370,-238 364,-244 358,-244\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-210.87C123.81,-213.41 268.65,-220.8 326.61,-223.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.88,-224.13 326.72,-226.92 330.38,-223.95 326.88,-223.77 326.88,-223.77 326.88,-223.77 330.38,-223.95 327.05,-220.62 333.88,-224.13 333.88,-224.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M208,-307C208,-307 196,-307 196,-307 190,-307 184,-301 184,-295 184,-295 184,-281 184,-281 184,-275 190,-269 196,-269 196,-269 208,-269 208,-269 214,-269 220,-275 220,-281 220,-281 220,-295 220,-295 220,-301 214,-307 208,-307\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"197.5\" y=\"-291.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-276.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M61.85,-229.26C66.78,-244.57 76.01,-265.15 92,-276 117.01,-292.98 152.94,-293.51 176.61,-291.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.84,-290.73 177.2,-294.57 180.36,-291.09 176.88,-291.44 176.88,-291.44 176.88,-291.44 180.36,-291.09 176.56,-288.31 183.84,-290.73 183.84,-290.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-295.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M847.72,-154.04C846.71,-163.53 849.14,-172 855,-172 859.3,-172 861.75,-167.43 862.35,-161.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"862.28,-154.04 865.5,-161 862.32,-157.54 862.35,-161.04 862.35,-161.04 862.35,-161.04 862.32,-157.54 859.2,-161.07 862.28,-154.04 862.28,-154.04\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"855\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M778,-261C778,-261 766,-261 766,-261 760,-261 754,-255 754,-249 754,-249 754,-235 754,-235 754,-229 760,-223 766,-223 766,-223 778,-223 778,-223 784,-223 790,-229 790,-235 790,-235 790,-249 790,-249 790,-255 784,-261 778,-261\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"767.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"764\" y=\"-230.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->2 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M787.48,-222.87C800.76,-205.33 820.51,-179.24 835.04,-160.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"839.37,-154.32 837.66,-161.81 837.26,-157.12 835.15,-159.91 835.15,-159.91 835.15,-159.91 837.26,-157.12 832.63,-158 839.37,-154.32 839.37,-154.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"808\" y=\"-197.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M764.72,-261.04C763.71,-270.53 766.14,-279 772,-279 776.3,-279 778.75,-274.43 779.35,-268.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"779.28,-261.04 782.5,-268 779.32,-264.54 779.35,-268.04 779.35,-268.04 779.35,-268.04 779.32,-264.54 776.2,-268.07 779.28,-261.04 779.28,-261.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"768.5\" y=\"-282.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M658,-206C658,-206 646,-206 646,-206 640,-206 634,-200 634,-194 634,-194 634,-180 634,-180 634,-174 640,-168 646,-168 646,-168 658,-168 658,-168 664,-168 670,-174 670,-180 670,-180 670,-194 670,-194 670,-200 664,-206 658,-206\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"647.5\" y=\"-190.8\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"<text text-anchor=\"start\" x=\"644\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->2 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>7->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.14,-182.57C705.96,-173.3 788.85,-151.86 829.97,-141.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"836.91,-139.42 830.92,-144.23 833.52,-140.3 830.13,-141.18 830.13,-141.18 830.13,-141.18 833.52,-140.3 829.34,-138.13 836.91,-139.42 836.91,-139.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766.5\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->4 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>7->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.16,-195C690.52,-204.49 724.58,-220.36 747.41,-231.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.82,-233.99 746.15,-233.89 750.65,-232.51 747.48,-231.04 747.48,-231.04 747.48,-231.04 750.65,-232.51 748.81,-228.18 753.82,-233.99 753.82,-233.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M639.99,-206.04C638.33,-215.53 642.33,-224 652,-224 659.1,-224 663.14,-219.43 664.13,-213.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"664.01,-206.04 667.28,-212.98 664.07,-209.54 664.13,-213.04 664.13,-213.04 664.13,-213.04 664.07,-209.54 660.98,-213.09 664.01,-206.04 664.01,-206.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"636\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M658,-371C658,-371 646,-371 646,-371 640,-371 634,-365 634,-359 634,-359 634,-345 634,-345 634,-339 640,-333 646,-333 646,-333 658,-333 658,-333 664,-333 670,-339 670,-345 670,-345 670,-359 670,-359 670,-365 664,-371 658,-371\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"647.5\" y=\"-355.8\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"<text text-anchor=\"start\" x=\"644\" y=\"-340.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->2 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>5->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.06,-355.78C687.21,-358.81 714.18,-361.46 736,-354 768.97,-342.73 777.92,-334.48 798,-306 829.77,-260.95 844.35,-196.77 850.34,-161.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"851.49,-154.09 853.49,-161.51 850.93,-157.55 850.38,-161 850.38,-161 850.38,-161 850.93,-157.55 847.27,-160.5 851.49,-154.09 851.49,-154.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766.5\" y=\"-353.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.28,-348.33C688.63,-343.65 717.49,-333.92 736,-316 749.46,-302.97 758.34,-283.74 763.78,-268.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.05,-261.28 766.85,-268.91 764.95,-264.6 763.86,-267.93 763.86,-267.93 763.86,-267.93 764.95,-264.6 760.87,-266.94 766.05,-261.28 766.05,-261.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700\" y=\"-341.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M639.99,-371.04C638.33,-380.53 642.33,-389 652,-389 659.1,-389 663.14,-384.43 664.13,-378.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"664.01,-371.04 667.28,-377.98 664.07,-374.54 664.13,-378.04 664.13,-378.04 664.13,-378.04 664.07,-374.54 660.98,-378.09 664.01,-371.04 664.01,-371.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"636\" y=\"-392.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M333.8,-219.43C311.2,-212.45 270.13,-200.92 234,-197 179.61,-191.1 115.51,-199.64 81.34,-205.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.12,-206.68 80.48,-202.38 77.57,-206.08 81.02,-205.48 81.02,-205.48 81.02,-205.48 77.57,-206.08 81.56,-208.59 74.12,-206.68 74.12,-206.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-200.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M358.5,-205.84C373.05,-159.67 417.19,-46 499,-46 499,-46 499,-46 773,-46 807.48,-46 831.16,-82.98 843.64,-109.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"846.57,-115.69 840.8,-110.63 845.12,-112.5 843.67,-109.32 843.67,-109.32 843.67,-109.32 845.12,-112.5 846.53,-108.01 846.57,-115.69 846.57,-115.69\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"634.5\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.03,-233.75C375.62,-236.22 381.94,-238.61 388,-240 515.43,-269.29 551.41,-257.59 682,-251 703.99,-249.89 728.91,-247.25 746.78,-245.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.98,-244.24 747.41,-248.21 750.5,-244.66 747.03,-245.08 747.03,-245.08 747.03,-245.08 750.5,-244.66 746.65,-241.96 753.98,-244.24 753.98,-244.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"560.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-244.04C337.91,-253.53 342.04,-262 352,-262 359.32,-262 363.48,-257.43 364.5,-251.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-244.04 367.65,-250.98 364.44,-247.54 364.5,-251.04 364.5,-251.04 364.5,-251.04 364.44,-247.54 361.35,-251.09 364.37,-244.04 364.37,-244.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-265.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M506,-191C506,-191 494,-191 494,-191 488,-191 482,-185 482,-179 482,-179 482,-165 482,-165 482,-159 488,-153 494,-153 494,-153 506,-153 506,-153 512,-153 518,-159 518,-165 518,-165 518,-179 518,-179 518,-185 512,-191 506,-191\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"495.5\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"<text text-anchor=\"start\" x=\"492\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->6 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.1,-223.69C390.35,-221.67 424.77,-216.7 452,-205 460.3,-201.43 468.62,-196.26 475.89,-191.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"481.74,-186.72 478,-193.42 478.93,-188.8 476.12,-190.89 476.12,-190.89 476.12,-190.89 478.93,-188.8 474.24,-188.36 481.74,-186.72 481.74,-186.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"390\" y=\"-224.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>6->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M481.6,-171.08C472.74,-170.66 461.8,-170.21 452,-170 423.56,-169.4 416.43,-168.96 388,-170 256.17,-174.84 218.96,-156.19 92,-192 88.22,-193.07 84.37,-194.56 80.68,-196.24\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.24,-199.4 79.13,-193.49 77.38,-197.86 80.52,-196.32 80.52,-196.32 80.52,-196.32 77.38,-197.86 81.91,-199.14 74.24,-199.4 74.24,-199.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"264.5\" y=\"-173.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>6->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M517.32,-152.79C525.59,-144.5 536.33,-135.65 548,-131 646.29,-91.86 776.82,-116.03 829.96,-128.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"836.93,-130.41 829.39,-131.8 833.53,-129.58 830.13,-128.74 830.13,-128.74 830.13,-128.74 833.53,-129.58 830.88,-125.68 836.93,-130.41 836.93,-130.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700.5\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M518.04,-162.82C551.14,-146.31 625.78,-115.61 682,-141 716.02,-156.37 742.24,-191.88 757.14,-216.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"760.86,-222.7 754.59,-218.28 759.08,-219.69 757.3,-216.68 757.3,-216.68 757.3,-216.68 759.08,-219.69 760.01,-215.07 760.86,-222.7 760.86,-222.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"622\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->7 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>6->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M518.21,-173.72C544.88,-176.39 596.3,-181.53 626.74,-184.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"633.99,-185.3 626.72,-187.74 630.51,-184.95 627.03,-184.6 627.03,-184.6 627.03,-184.6 630.51,-184.95 627.34,-181.47 633.99,-185.3 633.99,-185.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"548\" y=\"-185.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->1 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>6->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M481.74,-170.58C458.93,-169.48 418.11,-170.23 388,-186 381.35,-189.48 375.35,-194.77 370.28,-200.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"365.52,-205.94 367.65,-198.57 367.78,-203.28 370.05,-200.61 370.05,-200.61 370.05,-200.61 367.78,-203.28 372.45,-202.65 365.52,-205.94 365.52,-205.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M486.17,-191.04C484.26,-200.53 488.87,-209 500,-209 508.18,-209 512.83,-204.43 513.97,-198.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"513.83,-191.04 517.12,-197.97 513.9,-194.54 513.97,-198.04 513.97,-198.04 513.97,-198.04 513.9,-194.54 510.82,-198.1 513.83,-191.04 513.83,-191.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"470\" y=\"-212.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.93,-275.67C174.79,-269.46 163.14,-262.18 152,-257 126.64,-245.2 116.67,-251.18 92,-238 87.95,-235.83 83.9,-233.18 80.07,-230.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.27,-225.89 81.74,-227.68 77.04,-228.03 79.81,-230.17 79.81,-230.17 79.81,-230.17 77.04,-228.03 77.89,-232.66 74.27,-225.89 74.27,-225.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-260.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.56,-307.12C230.55,-346.29 280.2,-432 351,-432 351,-432 351,-432 773,-432 828.93,-432 847.55,-233.45 852.48,-161.03\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"852.94,-154.03 855.63,-161.22 852.71,-157.52 852.48,-161.02 852.48,-161.02 852.48,-161.02 852.71,-157.52 849.34,-160.81 852.94,-154.03 852.94,-154.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"558.5\" y=\"-435.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.24,-291.28C247.77,-296.22 303.41,-305 351,-305 351,-305 351,-305 653,-305 689.61,-305 725.88,-281.11 748.34,-262.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.75,-258.22 750.4,-265.13 751.06,-260.47 748.38,-262.72 748.38,-262.72 748.38,-262.72 751.06,-260.47 746.36,-260.31 753.75,-258.22 753.75,-258.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"470\" y=\"-308.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.1,-301.7C229.06,-308.11 240.55,-315.16 252,-319 387.53,-364.41 562.78,-358.16 626.49,-353.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"633.69,-353.44 626.93,-357.07 630.2,-353.69 626.71,-353.93 626.71,-353.93 626.71,-353.93 630.2,-353.69 626.49,-350.79 633.69,-353.44 633.69,-353.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"392\" y=\"-357.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.31,-281.02C242.55,-272 282.31,-255.7 316,-241 319.67,-239.4 323.55,-237.67 327.33,-235.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.96,-232.93 328.9,-238.7 330.78,-234.38 327.59,-235.83 327.59,-235.83 327.59,-235.83 330.78,-234.38 326.29,-232.97 333.96,-232.93 333.96,-232.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-269.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.44,-307.04C185.43,-316.53 190.28,-325 202,-325 210.61,-325 215.51,-320.43 216.71,-314.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.56,-307.04 219.85,-313.97 216.63,-310.54 216.7,-314.04 216.7,-314.04 216.7,-314.04 216.63,-310.54 213.55,-314.1 216.56,-307.04 216.56,-307.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-328.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc0ea480> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strictly inherently weak Pages: 1 -->\n",
|
|
"<svg width=\"505pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 504.76 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.9523809523809523 0.9523809523809523) rotate(0) translate(4 374)\">\n",
|
|
"<title>strictly inherently weak</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-374 526,-374 526,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"190.5\" y=\"-355.8\" font-family=\"Lato\" font-size=\"14.00\">strictly inherently weak</text>\n",
|
|
"<text text-anchor=\"start\" x=\"240.5\" y=\"-341.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"261.5\" y=\"-341.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"277.5\" y=\"-341.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"239.5\" y=\"-327.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=\"326,-8 326,-95 378,-95 378,-8 326,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-103 30,-312 514,-312 514,-103 30,-103\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-237C62,-237 50,-237 50,-237 44,-237 38,-231 38,-225 38,-225 38,-211 38,-211 38,-205 44,-199 50,-199 50,-199 62,-199 62,-199 68,-199 74,-205 74,-211 74,-211 74,-225 74,-225 74,-231 68,-237 62,-237\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-206.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</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,-218C2.79,-218 17.15,-218 30.63,-218\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-218 30.94,-221.15 34.44,-218 30.94,-218 30.94,-218 30.94,-218 34.44,-218 30.94,-214.85 37.94,-218 37.94,-218\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-237.04C48.54,-246.53 50.73,-255 56,-255 59.87,-255 62.08,-250.43 62.62,-244.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-237.04 65.77,-244.01 62.58,-240.54 62.62,-244.04 62.62,-244.04 62.62,-244.04 62.58,-240.54 59.47,-244.07 62.55,-237.04 62.55,-237.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-258.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-237C358,-237 346,-237 346,-237 340,-237 334,-231 334,-225 334,-225 334,-211 334,-211 334,-205 340,-199 346,-199 346,-199 358,-199 358,-199 364,-199 370,-205 370,-211 370,-211 370,-225 370,-225 370,-231 364,-237 358,-237\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-206.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.12,-221.79C96.16,-226.47 135.7,-234.14 170,-237 198.35,-239.37 205.65,-239.29 234,-237 266.34,-234.39 303.23,-227.79 326.8,-223.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.66,-221.71 327.43,-226.19 330.23,-222.41 326.8,-223.1 326.8,-223.1 326.8,-223.1 330.23,-222.41 326.18,-220.01 333.66,-221.71 333.66,-221.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-241.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M208,-149C208,-149 196,-149 196,-149 190,-149 184,-143 184,-137 184,-137 184,-123 184,-123 184,-117 190,-111 196,-111 196,-111 208,-111 208,-111 214,-111 220,-117 220,-123 220,-123 220,-137 220,-137 220,-143 214,-149 208,-149\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"197.5\" y=\"-133.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-118.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-207.56C99.85,-191.81 148.71,-161.95 177.72,-144.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.94,-140.43 179.61,-146.76 180.95,-142.25 177.97,-144.08 177.97,-144.08 177.97,-144.08 180.95,-142.25 176.32,-141.39 183.94,-140.43 183.94,-140.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-197.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-54C358,-54 346,-54 346,-54 340,-54 334,-48 334,-42 334,-42 334,-28 334,-28 334,-22 340,-16 346,-16 346,-16 358,-16 358,-16 364,-16 370,-22 370,-28 370,-28 370,-42 370,-42 370,-48 364,-54 358,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-54.04C337.91,-63.53 342.04,-72 352,-72 359.32,-72 363.48,-67.43 364.5,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-54.04 367.65,-60.98 364.44,-57.54 364.5,-61.04 364.5,-61.04 364.5,-61.04 364.44,-57.54 361.35,-61.09 364.37,-54.04 364.37,-54.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"336\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M333.88,-218C284.09,-218 139.24,-218 81.33,-218\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.08,-218 81.08,-214.85 77.58,-218 81.08,-218 81.08,-218 81.08,-218 77.58,-218 81.08,-221.15 74.08,-218 74.08,-218\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-237.04C337.91,-246.53 342.04,-255 352,-255 359.32,-255 363.48,-250.43 364.5,-244.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-237.04 367.65,-243.98 364.44,-240.54 364.5,-244.04 364.5,-244.04 364.5,-244.04 364.44,-240.54 361.35,-244.09 364.37,-237.04 364.37,-237.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-258.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M494,-271C494,-271 482,-271 482,-271 476,-271 470,-265 470,-259 470,-259 470,-245 470,-245 470,-239 476,-233 482,-233 482,-233 494,-233 494,-233 500,-233 506,-239 506,-245 506,-245 506,-259 506,-259 506,-265 500,-271 494,-271\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"483.5\" y=\"-255.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"480\" y=\"-240.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.23,-225.61C375.82,-227.89 382.1,-230.24 388,-232 413.14,-239.5 442.71,-245.07 462.95,-248.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"469.95,-249.52 462.54,-251.52 466.5,-248.97 463.04,-248.41 463.04,-248.41 463.04,-248.41 466.5,-248.97 463.54,-245.3 469.95,-249.52 469.95,-249.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"390\" y=\"-249.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.74,-259.07C464.15,-261.18 457.87,-263.37 452,-265 419.75,-273.97 411.33,-275.88 378,-279 285.45,-287.68 260.97,-276.15 170,-257 134.75,-249.58 125.67,-247.81 92,-235 88.29,-233.59 84.44,-231.93 80.71,-230.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-227.09 81.85,-227.27 77.34,-228.6 80.5,-230.11 80.5,-230.11 80.5,-230.11 77.34,-228.6 79.14,-232.95 74.18,-227.09 74.18,-227.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"264.5\" y=\"-284.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M475.07,-232.8C469.17,-225.14 461.31,-217.15 452,-213 428.24,-202.4 398.02,-206.06 377.25,-210.84\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"370.33,-212.55 376.37,-207.81 373.73,-211.71 377.12,-210.87 377.12,-210.87 377.12,-210.87 373.73,-211.71 377.88,-213.93 370.33,-212.55 370.33,-212.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M475.63,-271.04C473.91,-280.53 478.04,-289 488,-289 495.32,-289 499.48,-284.43 500.5,-278.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"500.37,-271.04 503.65,-277.98 500.44,-274.54 500.5,-278.04 500.5,-278.04 500.5,-278.04 500.44,-274.54 497.35,-278.09 500.37,-271.04 500.37,-271.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"458\" y=\"-292.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.69,-126.83C160.52,-123.6 119.2,-121.49 92,-141 75.51,-152.83 66.62,-174.34 61.93,-191.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"60.17,-198.73 58.8,-191.18 61.01,-195.34 61.86,-191.94 61.86,-191.94 61.86,-191.94 61.01,-195.34 64.91,-192.7 60.17,-198.73 60.17,-198.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.27,-118.92C246.89,-101.83 298,-69.02 327.82,-49.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.84,-46.01 329.65,-52.45 330.9,-47.9 327.95,-49.79 327.95,-49.79 327.95,-49.79 330.9,-47.9 326.25,-47.14 333.84,-46.01 333.84,-46.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"256\" y=\"-99.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.27,-140.27C246.89,-156.1 298,-186.49 327.82,-204.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.84,-207.8 326.22,-206.93 330.83,-206.01 327.83,-204.22 327.83,-204.22 327.83,-204.22 330.83,-206.01 329.44,-201.51 333.84,-207.8 333.84,-207.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-199.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.44,-149.04C185.43,-158.53 190.28,-167 202,-167 210.61,-167 215.51,-162.43 216.71,-156.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.56,-149.04 219.85,-155.97 216.63,-152.54 216.7,-156.04 216.7,-156.04 216.7,-156.04 216.63,-152.54 213.55,-156.1 216.56,-149.04 216.56,-149.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-170.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc23fae0> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strong Pages: 1 -->\n",
|
|
"<svg width=\"530pt\" height=\"283pt\"\n",
|
|
" viewBox=\"0.00 0.00 530.00 283.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 279)\">\n",
|
|
"<title>strong</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-279 526,-279 526,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"241\" y=\"-260.8\" font-family=\"Lato\" font-size=\"14.00\">strong</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">(Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"176.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"228.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"244.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">)) & (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"296.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"364.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-232.8\" font-family=\"Lato\" font-size=\"14.00\">[Streett 2]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-8 30,-217 514,-217 514,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-128C62,-128 50,-128 50,-128 44,-128 38,-122 38,-116 38,-116 38,-102 38,-102 38,-96 44,-90 50,-90 50,-90 62,-90 62,-90 68,-90 74,-96 74,-102 74,-102 74,-116 74,-116 74,-122 68,-128 62,-128\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</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,-109C2.79,-109 17.15,-109 30.63,-109\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-109 30.94,-112.15 34.44,-109 30.94,-109 30.94,-109 30.94,-109 34.44,-109 30.94,-105.85 37.94,-109 37.94,-109\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-128.04C48.54,-137.53 50.73,-146 56,-146 59.87,-146 62.08,-141.43 62.62,-135.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-128.04 65.77,-135.01 62.58,-131.54 62.62,-135.04 62.62,-135.04 62.62,-135.04 62.58,-131.54 59.47,-135.07 62.55,-128.04 62.55,-128.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-121C358,-121 346,-121 346,-121 340,-121 334,-115 334,-109 334,-109 334,-95 334,-95 334,-89 340,-83 346,-83 346,-83 358,-83 358,-83 364,-83 370,-89 370,-95 370,-95 370,-109 370,-109 370,-115 364,-121 358,-121\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.02,-93.14C79.5,-88.53 85.78,-83.74 92,-80 124.13,-60.72 133.24,-55.25 170,-48 235.17,-35.15 256.67,-50.12 316,-80 319.95,-81.99 324.03,-84.3 327.95,-86.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.93,-90.37 326.32,-89.35 330.96,-88.52 327.98,-86.68 327.98,-86.68 327.98,-86.68 330.96,-88.52 329.64,-84 333.93,-90.37 333.93,-90.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-51.8\" 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",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M208,-156C208,-156 196,-156 196,-156 190,-156 184,-150 184,-144 184,-144 184,-130 184,-130 184,-124 190,-118 196,-118 196,-118 208,-118 208,-118 214,-118 220,-124 220,-130 220,-130 220,-144 220,-144 220,-150 214,-156 208,-156\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"197.5\" y=\"-140.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-125.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.15,-106.7C93.44,-104.68 125.52,-103.04 152,-110 160.81,-112.32 169.73,-116.56 177.51,-121\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.75,-124.75 176.13,-123.84 180.75,-122.94 177.75,-121.14 177.75,-121.14 177.75,-121.14 180.75,-122.94 179.37,-118.44 183.75,-124.75 183.75,-124.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M333.87,-99.86C292.15,-95.08 182.05,-85.08 92,-100 88.45,-100.59 84.74,-101.36 81.12,-102.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.32,-103.91 80.35,-99.16 77.71,-103.06 81.11,-102.21 81.11,-102.21 81.11,-102.21 77.71,-103.06 81.87,-105.27 74.32,-103.91 74.32,-103.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-95.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-121.04C337.91,-130.53 342.04,-139 352,-139 359.32,-139 363.48,-134.43 364.5,-128.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-121.04 367.65,-127.98 364.44,-124.54 364.5,-128.04 364.5,-128.04 364.5,-128.04 364.44,-124.54 361.35,-128.09 364.37,-121.04 364.37,-121.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M494,-159C494,-159 482,-159 482,-159 476,-159 470,-153 470,-147 470,-147 470,-133 470,-133 470,-127 476,-121 482,-121 482,-121 494,-121 494,-121 500,-121 506,-127 506,-133 506,-133 506,-147 506,-147 506,-153 500,-159 494,-159\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"483.5\" y=\"-143.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"480\" y=\"-128.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.16,-110.71C375.75,-113.31 382.05,-116 388,-118 412.98,-126.38 442.58,-132.48 462.86,-136.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"469.89,-137.32 462.45,-139.23 466.44,-136.72 462.99,-136.12 462.99,-136.12 462.99,-136.12 466.44,-136.72 463.53,-133.02 469.89,-137.32 469.89,-137.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"390\" y=\"-136.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.95,-148.37C422.09,-170.72 282.68,-228.17 170,-198 131.34,-187.65 122.32,-179.12 92,-153 85.66,-147.54 79.64,-140.8 74.44,-134.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"69.9,-128.33 76.66,-131.97 72.03,-131.11 74.16,-133.89 74.16,-133.89 74.16,-133.89 72.03,-131.11 71.66,-135.8 69.9,-128.33 69.9,-128.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"264.5\" y=\"-209.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M475.89,-120.7C469.97,-112.39 461.86,-103.55 452,-99 428.25,-88.05 397.79,-91.17 376.96,-95.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"370.02,-97.07 376.16,-92.46 373.44,-96.3 376.85,-95.53 376.85,-95.53 376.85,-95.53 373.44,-96.3 377.55,-98.6 370.02,-97.07 370.02,-97.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-102.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M475.63,-159.04C473.91,-168.53 478.04,-177 488,-177 495.32,-177 499.48,-172.43 500.5,-166.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"500.37,-159.04 503.65,-165.98 500.44,-162.54 500.5,-166.04 500.5,-166.04 500.5,-166.04 500.44,-162.54 497.35,-166.09 500.37,-159.04 500.37,-159.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"458\" y=\"-180.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.69,-136.79C161.92,-136.13 123.57,-133.71 92,-125 88.22,-123.96 84.33,-122.55 80.58,-121\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.04,-118.11 81.71,-118.06 77.24,-119.52 80.44,-120.94 80.44,-120.94 80.44,-120.94 77.24,-119.52 79.16,-123.82 74.04,-118.11 74.04,-118.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-137.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.27,-132.92C246.56,-126.7 296.72,-114.84 326.69,-107.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.84,-106.06 327.76,-110.73 330.44,-106.86 327.03,-107.67 327.03,-107.67 327.03,-107.67 330.44,-106.86 326.31,-104.6 333.84,-106.06 333.84,-106.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.44,-156.04C185.43,-165.53 190.28,-174 202,-174 210.61,-174 215.51,-169.43 216.71,-163.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.56,-156.04 219.85,-162.97 216.63,-159.54 216.7,-163.04 216.7,-163.04 216.7,-163.04 216.63,-159.54 213.55,-163.1 216.56,-156.04 216.56,-156.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc092c00> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for (name, opt) in (('inherently terminal', 't'), ('strictly inherently weak', 'w'), ('strong', 's')):\n",
|
|
" a = spot.decompose_strength(aut, opt)\n",
|
|
" a.set_name(name)\n",
|
|
" display(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The subtlety of Streett acceptance is that if a path that does not visit any accepting set infinitely often *is* accepting. So when disabling SCCs, we must be careful to label them with a combination of rejecting acceptance sets.\n",
|
|
"\n",
|
|
"This is easy to understand using an example. In the following extraction of the **strong** and **inherently terminal** parts, the rejecting SCCs (that were either rejecting or strictly inherently weak originally) have been labeled by the same acceptance sets, to ensure that they are rejected."
|
|
]
|
|
},
|
|
{
|
|
"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=\"666pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 666.48 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.7352941176470588 0.7352941176470588) rotate(0) translate(4 487)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-487 905,-487 905,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"339\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">(Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"382\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"418\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"434\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">)) & (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"486\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"502\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">) | Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"538\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"554\" y=\"-468.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"419\" y=\"-454.8\" font-family=\"Lato\" font-size=\"14.00\">[Streett 2]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"829,-109 829,-194 893,-194 893,-109 829,-109\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"746,-215 746,-302 798,-302 798,-215 746,-215\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"626,-160 626,-247 678,-247 678,-160 626,-160\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"626,-325 626,-412 678,-412 678,-325 626,-325\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust5\" class=\"cluster\">\n",
|
|
"<title>cluster_4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-139 30,-348 526,-348 526,-139 30,-139\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-229C62,-229 50,-229 50,-229 44,-229 38,-223 38,-217 38,-217 38,-203 38,-203 38,-197 44,-191 50,-191 50,-191 62,-191 62,-191 68,-191 74,-197 74,-203 74,-203 74,-217 74,-217 74,-223 68,-229 62,-229\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</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,-210C2.79,-210 17.15,-210 30.63,-210\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-210 30.94,-213.15 34.44,-210 30.94,-210 30.94,-210 30.94,-210 34.44,-210 30.94,-206.85 37.94,-210 37.94,-210\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-229.04C48.54,-238.53 50.73,-247 56,-247 59.87,-247 62.08,-242.43 62.62,-236.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-229.04 65.77,-236.01 62.58,-232.54 62.62,-236.04 62.62,-236.04 62.62,-236.04 62.58,-232.54 59.47,-236.07 62.55,-229.04 62.55,-229.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-250.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M873,-153C873,-153 849,-153 849,-153 843,-153 837,-147 837,-141 837,-141 837,-129 837,-129 837,-123 843,-117 849,-117 849,-117 873,-117 873,-117 879,-117 885,-123 885,-129 885,-129 885,-141 885,-141 885,-147 879,-153 873,-153\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"856.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"845\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"861\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M60.51,-190.99C71.28,-139.3 108.83,0 201,0 201,0 201,0 773,0 824.71,0 847.16,-70.85 855.6,-109.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"857.02,-116.79 852.52,-110.57 856.31,-113.36 855.61,-109.94 855.61,-109.94 855.61,-109.94 856.31,-113.36 858.7,-109.3 857.02,-116.79 857.02,-116.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"496.5\" y=\"-3.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M358,-244C358,-244 346,-244 346,-244 340,-244 334,-238 334,-232 334,-232 334,-218 334,-218 334,-212 340,-206 346,-206 346,-206 358,-206 358,-206 364,-206 370,-212 370,-218 370,-218 370,-232 370,-232 370,-238 364,-244 358,-244\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"347.5\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"344\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-210.87C123.81,-213.41 268.65,-220.8 326.61,-223.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.88,-224.13 326.72,-226.92 330.38,-223.95 326.88,-223.77 326.88,-223.77 326.88,-223.77 330.38,-223.95 327.05,-220.62 333.88,-224.13 333.88,-224.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-221.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M208,-307C208,-307 196,-307 196,-307 190,-307 184,-301 184,-295 184,-295 184,-281 184,-281 184,-275 190,-269 196,-269 196,-269 208,-269 208,-269 214,-269 220,-275 220,-281 220,-281 220,-295 220,-295 220,-301 214,-307 208,-307\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"197.5\" y=\"-291.8\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-276.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M61.85,-229.26C66.78,-244.57 76.01,-265.15 92,-276 117.01,-292.98 152.94,-293.51 176.61,-291.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.84,-290.73 177.2,-294.57 180.36,-291.09 176.88,-291.44 176.88,-291.44 176.88,-291.44 180.36,-291.09 176.56,-288.31 183.84,-290.73 183.84,-290.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-295.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M852.68,-153.15C851.4,-162.54 854.17,-171 861,-171 866.01,-171 868.84,-166.44 869.48,-160.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"869.32,-153.15 872.63,-160.08 869.4,-156.65 869.48,-160.15 869.48,-160.15 869.48,-160.15 869.4,-156.65 866.33,-160.22 869.32,-153.15 869.32,-153.15\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"861\" y=\"-174.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M778,-261C778,-261 766,-261 766,-261 760,-261 754,-255 754,-249 754,-249 754,-235 754,-235 754,-229 760,-223 766,-223 766,-223 778,-223 778,-223 784,-223 790,-229 790,-235 790,-235 790,-249 790,-249 790,-255 784,-261 778,-261\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"767.5\" y=\"-245.8\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"<text text-anchor=\"start\" x=\"764\" y=\"-230.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->2 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>4->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M788.55,-222.87C803.08,-205 824.82,-178.26 840.5,-158.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"845.16,-153.25 843.19,-160.67 842.95,-155.97 840.75,-158.68 840.75,-158.68 840.75,-158.68 842.95,-155.97 838.3,-156.69 845.16,-153.25 845.16,-153.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"808\" y=\"-201.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M764.72,-261.04C763.71,-270.53 766.14,-279 772,-279 776.3,-279 778.75,-274.43 779.35,-268.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"779.28,-261.04 782.5,-268 779.32,-264.54 779.35,-268.04 779.35,-268.04 779.35,-268.04 779.32,-264.54 776.2,-268.07 779.28,-261.04 779.28,-261.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"768.5\" y=\"-282.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M658,-206C658,-206 646,-206 646,-206 640,-206 634,-200 634,-194 634,-194 634,-180 634,-180 634,-174 640,-168 646,-168 646,-168 658,-168 658,-168 664,-168 670,-174 670,-180 670,-180 670,-194 670,-194 670,-200 664,-206 658,-206\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"647.5\" y=\"-190.8\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"<text text-anchor=\"start\" x=\"644\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->2 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>7->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.29,-182.66C705.45,-173.82 785.67,-153.67 829.7,-142.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"836.7,-140.85 830.68,-145.61 833.3,-141.71 829.91,-142.56 829.91,-142.56 829.91,-142.56 833.3,-141.71 829.14,-139.5 836.7,-140.85 836.7,-140.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766.5\" y=\"-167.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->4 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>7->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.16,-195C690.52,-204.49 724.58,-220.36 747.41,-231.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.82,-233.99 746.15,-233.89 750.65,-232.51 747.48,-231.04 747.48,-231.04 747.48,-231.04 750.65,-232.51 748.81,-228.18 753.82,-233.99 753.82,-233.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->7 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>7->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M639.99,-206.04C638.33,-215.53 642.33,-224 652,-224 659.1,-224 663.14,-219.43 664.13,-213.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"664.01,-206.04 667.28,-212.98 664.07,-209.54 664.13,-213.04 664.13,-213.04 664.13,-213.04 664.07,-209.54 660.98,-213.09 664.01,-206.04 664.01,-206.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"636\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M658,-371C658,-371 646,-371 646,-371 640,-371 634,-365 634,-359 634,-359 634,-345 634,-345 634,-339 640,-333 646,-333 646,-333 658,-333 658,-333 664,-333 670,-339 670,-345 670,-345 670,-359 670,-359 670,-365 664,-371 658,-371\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"647.5\" y=\"-355.8\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"<text text-anchor=\"start\" x=\"644\" y=\"-340.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->2 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>5->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.06,-355.78C687.21,-358.81 714.18,-361.46 736,-354 768.97,-342.73 777.47,-334.16 798,-306 831.17,-260.5 848.21,-195.42 855.5,-160.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"856.91,-153.05 858.63,-160.53 856.23,-156.48 855.54,-159.91 855.54,-159.91 855.54,-159.91 856.23,-156.48 852.45,-159.3 856.91,-153.05 856.91,-153.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766.5\" y=\"-353.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M670.28,-348.33C688.63,-343.65 717.49,-333.92 736,-316 749.46,-302.97 758.34,-283.74 763.78,-268.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"766.05,-261.28 766.85,-268.91 764.95,-264.6 763.86,-267.93 763.86,-267.93 763.86,-267.93 764.95,-264.6 760.87,-266.94 766.05,-261.28 766.05,-261.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700\" y=\"-341.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M639.99,-371.04C638.33,-380.53 642.33,-389 652,-389 659.1,-389 663.14,-384.43 664.13,-378.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"664.01,-371.04 667.28,-377.98 664.07,-374.54 664.13,-378.04 664.13,-378.04 664.13,-378.04 664.07,-374.54 660.98,-378.09 664.01,-371.04 664.01,-371.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"636\" y=\"-392.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M333.8,-219.43C311.2,-212.45 270.13,-200.92 234,-197 179.61,-191.1 115.51,-199.64 81.34,-205.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.12,-206.68 80.48,-202.38 77.57,-206.08 81.02,-205.48 81.02,-205.48 81.02,-205.48 77.57,-206.08 81.56,-208.59 74.12,-206.68 74.12,-206.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-200.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M358.5,-205.84C373.05,-159.67 417.19,-46 499,-46 499,-46 499,-46 773,-46 809.25,-46 835.36,-84.23 849.04,-110.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"852.25,-116.99 846.3,-112.14 850.69,-113.86 849.12,-110.73 849.12,-110.73 849.12,-110.73 850.69,-113.86 851.93,-109.32 852.25,-116.99 852.25,-116.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"634.5\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.03,-233.75C375.62,-236.22 381.94,-238.61 388,-240 515.43,-269.29 551.41,-257.59 682,-251 703.99,-249.89 728.91,-247.25 746.78,-245.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.98,-244.24 747.41,-248.21 750.5,-244.66 747.03,-245.08 747.03,-245.08 747.03,-245.08 750.5,-244.66 746.65,-241.96 753.98,-244.24 753.98,-244.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"560.5\" y=\"-261.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M339.63,-244.04C337.91,-253.53 342.04,-262 352,-262 359.32,-262 363.48,-257.43 364.5,-251.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.37,-244.04 367.65,-250.98 364.44,-247.54 364.5,-251.04 364.5,-251.04 364.5,-251.04 364.44,-247.54 361.35,-251.09 364.37,-244.04 364.37,-244.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-265.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M506,-191C506,-191 494,-191 494,-191 488,-191 482,-185 482,-179 482,-179 482,-165 482,-165 482,-159 488,-153 494,-153 494,-153 506,-153 506,-153 512,-153 518,-159 518,-165 518,-165 518,-179 518,-179 518,-185 512,-191 506,-191\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"495.5\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"<text text-anchor=\"start\" x=\"492\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->6 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M370.1,-223.69C390.35,-221.67 424.77,-216.7 452,-205 460.3,-201.43 468.62,-196.26 475.89,-191.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"481.74,-186.72 478,-193.42 478.93,-188.8 476.12,-190.89 476.12,-190.89 476.12,-190.89 478.93,-188.8 474.24,-188.36 481.74,-186.72 481.74,-186.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"390\" y=\"-224.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>6->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M481.6,-171.08C472.74,-170.66 461.8,-170.21 452,-170 423.56,-169.4 416.43,-168.96 388,-170 256.17,-174.84 218.96,-156.19 92,-192 88.22,-193.07 84.37,-194.56 80.68,-196.24\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.24,-199.4 79.13,-193.49 77.38,-197.86 80.52,-196.32 80.52,-196.32 80.52,-196.32 77.38,-197.86 81.91,-199.14 74.24,-199.4 74.24,-199.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"264.5\" y=\"-173.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>6->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M517.32,-152.79C525.59,-144.5 536.33,-135.65 548,-131 645.01,-92.37 772.82,-114.18 830.04,-127.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"836.99,-128.95 829.46,-130.41 833.59,-128.15 830.18,-127.35 830.18,-127.35 830.18,-127.35 833.59,-128.15 830.9,-124.28 836.99,-128.95 836.99,-128.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"700.5\" y=\"-115.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M518.04,-162.82C551.14,-146.31 625.78,-115.61 682,-141 716.02,-156.37 742.24,-191.88 757.14,-216.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"760.86,-222.7 754.59,-218.28 759.08,-219.69 757.3,-216.68 757.3,-216.68 757.3,-216.68 759.08,-219.69 760.01,-215.07 760.86,-222.7 760.86,-222.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"622\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->7 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>6->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M518.21,-173.72C544.88,-176.39 596.3,-181.53 626.74,-184.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"633.99,-185.3 626.72,-187.74 630.51,-184.95 627.03,-184.6 627.03,-184.6 627.03,-184.6 630.51,-184.95 627.34,-181.47 633.99,-185.3 633.99,-185.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"548\" y=\"-185.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->1 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>6->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M481.74,-170.58C458.93,-169.48 418.11,-170.23 388,-186 381.35,-189.48 375.35,-194.77 370.28,-200.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"365.52,-205.94 367.65,-198.57 367.78,-203.28 370.05,-200.61 370.05,-200.61 370.05,-200.61 367.78,-203.28 372.45,-202.65 365.52,-205.94 365.52,-205.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M486.17,-191.04C484.26,-200.53 488.87,-209 500,-209 508.18,-209 512.83,-204.43 513.97,-198.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"513.83,-191.04 517.12,-197.97 513.9,-194.54 513.97,-198.04 513.97,-198.04 513.97,-198.04 513.9,-194.54 510.82,-198.1 513.83,-191.04 513.83,-191.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"470\" y=\"-212.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.93,-275.67C174.79,-269.46 163.14,-262.18 152,-257 126.64,-245.2 116.67,-251.18 92,-238 87.95,-235.83 83.9,-233.18 80.07,-230.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.27,-225.89 81.74,-227.68 77.04,-228.03 79.81,-230.17 79.81,-230.17 79.81,-230.17 77.04,-228.03 77.89,-232.66 74.27,-225.89 74.27,-225.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-260.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.56,-307.12C230.55,-346.29 280.2,-432 351,-432 351,-432 351,-432 773,-432 829.38,-432 851.79,-232.42 858.03,-160.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"858.65,-153.13 861.2,-160.37 858.36,-156.62 858.06,-160.11 858.06,-160.11 858.06,-160.11 858.36,-156.62 854.93,-159.84 858.65,-153.13 858.65,-153.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"558.5\" y=\"-435.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.24,-291.28C247.77,-296.22 303.41,-305 351,-305 351,-305 351,-305 653,-305 689.61,-305 725.88,-281.11 748.34,-262.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"753.75,-258.22 750.4,-265.13 751.06,-260.47 748.38,-262.72 748.38,-262.72 748.38,-262.72 751.06,-260.47 746.36,-260.31 753.75,-258.22 753.75,-258.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"470\" y=\"-308.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.1,-301.7C229.06,-308.11 240.55,-315.16 252,-319 387.53,-364.41 562.78,-358.16 626.49,-353.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"633.69,-353.44 626.93,-357.07 630.2,-353.69 626.71,-353.93 626.71,-353.93 626.71,-353.93 630.2,-353.69 626.49,-350.79 633.69,-353.44 633.69,-353.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"392\" y=\"-357.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M220.31,-281.02C242.55,-272 282.31,-255.7 316,-241 319.67,-239.4 323.55,-237.67 327.33,-235.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"333.96,-232.93 328.9,-238.7 330.78,-234.38 327.59,-235.83 327.59,-235.83 327.59,-235.83 330.78,-234.38 326.29,-232.97 333.96,-232.93 333.96,-232.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252\" y=\"-269.8\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.44,-307.04C185.43,-316.53 190.28,-325 202,-325 210.61,-325 215.51,-320.43 216.71,-314.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.56,-307.04 219.85,-313.97 216.63,-310.54 216.7,-314.04 216.7,-314.04 216.7,-314.04 216.63,-310.54 213.55,-314.1 216.56,-307.04 216.56,-307.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-328.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</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 0x7f09cc0ea3c0> >"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.decompose_scc(aut, 'st')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Corner cases\n",
|
|
"\n",
|
|
"When the acceptance condition is always satisfiable, all non-trivial SCCs are accepting, and inherently weak.\n",
|
|
"\n",
|
|
"This include acceptances like `Acceptance: 0 t`, but also trickier ones like `Acceptance: 1 Inf(0) | Fin(0)` that you can make as complex as you fancy.\n",
|
|
"\n",
|
|
"### `Acceptance: 0 t`\n",
|
|
"\n",
|
|
"This occur frequently whant translating LTL formulas that are safety properties:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"230pt\" height=\"240pt\"\n",
|
|
" viewBox=\"0.00 0.00 230.00 240.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 236)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-236 226,-236 226,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-201.8\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"162,-101 162,-186 214,-186 214,-101 162,-101\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"162,-8 162,-93 214,-93 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-27 30,-112 82,-112 82,-27 30,-27\"/>\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=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.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,-53C2.79,-53 17.15,-53 30.63,-53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-53 30.94,-56.15 34.44,-53 30.94,-53 30.94,-53 30.94,-53 34.44,-53 30.94,-49.85 37.94,-53 37.94,-53\"/>\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,-70.04C48.32,-79.86 50.45,-89 56,-89 60.17,-89 62.4,-83.86 62.71,-77.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-70.04 65.85,-76.88 62.54,-73.53 62.71,-77.03 62.71,-77.03 62.71,-77.03 62.54,-73.53 59.56,-77.18 62.38,-70.04 62.38,-70.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38.5\" y=\"-92.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-127\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-123.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.91,-61.49C94.91,-74.58 139.12,-99.75 165.55,-114.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.86,-118.38 164.22,-117.66 168.82,-116.65 165.78,-114.92 165.78,-114.92 165.78,-114.92 168.82,-116.65 167.34,-112.18 171.86,-118.38 171.86,-118.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"106.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">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,-50.52C96.67,-47.2 136.96,-41.31 162.8,-37.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"170,-36.48 163.53,-40.61 166.54,-36.99 163.07,-37.5 163.07,-37.5 163.07,-37.5 166.54,-36.99 162.62,-34.38 170,-36.48 170,-36.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">a & b & !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=\"M177.09,-141.42C173.28,-152.17 176.91,-163 188,-163 196.66,-163 200.78,-156.39 200.34,-148.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"198.91,-141.42 203.41,-147.64 199.62,-144.84 200.32,-148.27 200.32,-148.27 200.32,-148.27 199.62,-144.84 197.24,-148.91 198.91,-141.42 198.91,-141.42\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-166.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.09,-48.42C173.28,-59.17 176.91,-70 188,-70 196.66,-70 200.78,-63.39 200.34,-55.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"198.91,-48.42 203.41,-54.64 199.62,-51.84 200.32,-55.27 200.32,-55.27 200.32,-55.27 199.62,-51.84 197.24,-55.91 198.91,-48.42 198.91,-48.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-73.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 0x7f09cc23fbd0> >"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.translate('(Gb|c) R a', 'any'); aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# There is no strong part for this automaton\n",
|
|
"assert spot.decompose_scc(aut, 's') is None"
|
|
]
|
|
},
|
|
{
|
|
"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=\"230pt\" height=\"147pt\"\n",
|
|
" viewBox=\"0.00 0.00 230.00 147.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 143)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-143 226,-143 226,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"90.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"89.5\" y=\"-110.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=\"162,-8 162,-95 214,-95 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-8 30,-95 82,-95 82,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-54C62,-54 50,-54 50,-54 44,-54 38,-48 38,-42 38,-42 38,-28 38,-28 38,-22 44,-16 50,-16 50,-16 62,-16 62,-16 68,-16 74,-22 74,-28 74,-28 74,-42 74,-42 74,-48 68,-54 62,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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,-35C2.79,-35 17.15,-35 30.63,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35 30.94,-38.15 34.44,-35 30.94,-35 30.94,-35 30.94,-35 34.44,-35 30.94,-31.85 37.94,-35 37.94,-35\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.45,-54.04C48.54,-63.53 50.73,-72 56,-72 59.87,-72 62.08,-67.43 62.62,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.55,-54.04 65.77,-61.01 62.58,-57.54 62.62,-61.04 62.62,-61.04 62.62,-61.04 62.58,-57.54 59.47,-61.07 62.55,-54.04 62.55,-54.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38.5\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M194,-54C194,-54 182,-54 182,-54 176,-54 170,-48 170,-42 170,-42 170,-28 170,-28 170,-22 176,-16 182,-16 182,-16 194,-16 194,-16 200,-16 206,-22 206,-28 206,-28 206,-42 206,-42 206,-48 200,-54 194,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"183.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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,-35C96.89,-35 136.73,-35 162.48,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"169.67,-35 162.67,-38.15 166.17,-35 162.67,-35 162.67,-35 162.67,-35 166.17,-35 162.67,-31.85 169.67,-35 169.67,-35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-38.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=\"M175.99,-54.04C174.33,-63.53 178.33,-72 188,-72 195.1,-72 199.14,-67.43 200.13,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"200.01,-54.04 203.28,-60.98 200.07,-57.54 200.13,-61.04 200.13,-61.04 200.13,-61.04 200.07,-57.54 196.98,-61.09 200.01,-54.04 200.01,-54.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-75.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 0x7f09cc0eac90> >"
|
|
]
|
|
},
|
|
"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=\"201pt\" height=\"147pt\"\n",
|
|
" viewBox=\"0.00 0.00 201.00 147.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 143)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-143 197,-143 197,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"76\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"97\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"75\" y=\"-110.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=\"133,-8 133,-95 185,-95 185,-8 133,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-9 30,-94 82,-94 82,-9 30,-9\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-53C62,-53 50,-53 50,-53 44,-53 38,-47 38,-41 38,-41 38,-29 38,-29 38,-23 44,-17 50,-17 50,-17 62,-17 62,-17 68,-17 74,-23 74,-29 74,-29 74,-41 74,-41 74,-47 68,-53 62,-53\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.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,-35C2.79,-35 17.15,-35 30.63,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35 30.94,-38.15 34.44,-35 30.94,-35 30.94,-35 30.94,-35 34.44,-35 30.94,-31.85 37.94,-35 37.94,-35\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.49,-53.15C48.49,-62.54 50.66,-71 56,-71 59.92,-71 62.14,-66.44 62.64,-60.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.51,-53.15 65.79,-60.1 62.57,-56.65 62.64,-60.15 62.64,-60.15 62.64,-60.15 62.57,-56.65 59.49,-60.21 62.51,-53.15 62.51,-53.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38.5\" y=\"-74.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M165,-54C165,-54 153,-54 153,-54 147,-54 141,-48 141,-42 141,-42 141,-28 141,-28 141,-22 147,-16 153,-16 153,-16 165,-16 165,-16 171,-16 177,-22 177,-28 177,-28 177,-42 177,-42 177,-48 171,-54 165,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"151\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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.13,-35C90.38,-35 114.98,-35 133.34,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"140.78,-35 133.78,-38.15 137.28,-35 133.78,-35 133.78,-35 133.78,-35 137.28,-35 133.78,-31.85 140.78,-35 140.78,-35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">a & 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=\"M149.9,-54.04C148.64,-63.53 151.68,-72 159,-72 164.38,-72 167.44,-67.43 168.19,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"168.1,-54.04 171.34,-61 168.14,-57.54 168.19,-61.04 168.19,-61.04 168.19,-61.04 168.14,-57.54 165.04,-61.08 168.1,-54.04 168.1,-54.04\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"159\" y=\"-75.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 0x7f09cc21d7e0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for opt in ('w', 't'):\n",
|
|
" display(spot.decompose_scc(aut, opt))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"If we try to extract multiple strengths and include the (empty) strong part, this request will simply be ignored:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"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=\"201pt\" height=\"147pt\"\n",
|
|
" viewBox=\"0.00 0.00 201.00 147.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 143)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-143 197,-143 197,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"76\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"97\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"75\" y=\"-110.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=\"133,-8 133,-95 185,-95 185,-8 133,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-9 30,-94 82,-94 82,-9 30,-9\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-53C62,-53 50,-53 50,-53 44,-53 38,-47 38,-41 38,-41 38,-29 38,-29 38,-23 44,-17 50,-17 50,-17 62,-17 62,-17 68,-17 74,-23 74,-29 74,-29 74,-41 74,-41 74,-47 68,-53 62,-53\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.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,-35C2.79,-35 17.15,-35 30.63,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35 30.94,-38.15 34.44,-35 30.94,-35 30.94,-35 30.94,-35 34.44,-35 30.94,-31.85 37.94,-35 37.94,-35\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.49,-53.15C48.49,-62.54 50.66,-71 56,-71 59.92,-71 62.14,-66.44 62.64,-60.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.51,-53.15 65.79,-60.1 62.57,-56.65 62.64,-60.15 62.64,-60.15 62.64,-60.15 62.57,-56.65 59.49,-60.21 62.51,-53.15 62.51,-53.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38.5\" y=\"-74.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M165,-54C165,-54 153,-54 153,-54 147,-54 141,-48 141,-42 141,-42 141,-28 141,-28 141,-22 147,-16 153,-16 153,-16 165,-16 165,-16 171,-16 177,-22 177,-28 177,-28 177,-42 177,-42 177,-48 171,-54 165,-54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"151\" y=\"-23.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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.13,-35C90.38,-35 114.98,-35 133.34,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"140.78,-35 133.78,-38.15 137.28,-35 133.78,-35 133.78,-35 133.78,-35 137.28,-35 133.78,-31.85 140.78,-35 140.78,-35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">a & 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=\"M149.9,-54.04C148.64,-63.53 151.68,-72 159,-72 164.38,-72 167.44,-67.43 168.19,-61.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"168.1,-54.04 171.34,-61 168.14,-57.54 168.19,-61.04 168.19,-61.04 168.19,-61.04 168.14,-57.54 165.04,-61.08 168.1,-54.04 168.1,-54.04\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"159\" y=\"-75.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 0x7f09cc0eaab0> >"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.decompose_scc(aut, 'st')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Note that the above is exactly the output of `decompose_strength(aut, 't')`. The `'s'` flag was actively ignored. If `'s'` had not been ignored an the automaton processed as if its strong part had to be preserved, the original acceptance conditions would have been used, and this would have prevented the disabling of the initial SCC."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### `Acceptance: 1 Inf(0) | Fin(0)`\n",
|
|
"\n",
|
|
"This acceptance could be replaced by `Acceptance: 0 t` without altering the language of the automaton. However its use of acceptance sets allows us to define some automata with SCCs that are *inherently weak* but not *weak*."
|
|
]
|
|
},
|
|
{
|
|
"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=\"352pt\" height=\"162pt\"\n",
|
|
" viewBox=\"0.00 0.00 352.00 162.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 158)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-158 348,-158 348,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"124.5\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"145.5\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"161.5\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"199.5\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"215.5\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"128\" y=\"-125.8\" font-family=\"Lato\" font-size=\"14.00\">[Streett-like 1]</text>\n",
|
|
"<g id=\"clust1\" class=\"cluster\">\n",
|
|
"<title>cluster_0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"284,-8 284,-108 336,-108 336,-8 284,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"113,-8 113,-110 253,-110 253,-8 113,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-16 30,-101 82,-101 82,-16 30,-16\"/>\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=\"-42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-38.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,-42C2.79,-42 17.15,-42 30.63,-42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-42 30.94,-45.15 34.44,-42 30.94,-42 30.94,-42 30.94,-42 34.44,-42 30.94,-38.85 37.94,-42 37.94,-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,-59.04C48.32,-68.86 50.45,-78 56,-78 60.17,-78 62.4,-72.86 62.71,-66.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-59.04 65.85,-65.88 62.54,-62.53 62.71,-66.03 62.71,-66.03 62.71,-66.03 62.54,-62.53 59.56,-66.18 62.38,-59.04 62.38,-59.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-38.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,-42C85.67,-42 100.96,-42 113.69,-42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"120.85,-42 113.85,-45.15 117.35,-42 113.85,-42 113.85,-42 113.85,-42 117.35,-42 113.85,-38.85 120.85,-42 120.85,-42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-45.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"310\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"310\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M302.97,-50.66C301.41,-60.62 303.75,-70 310,-70 314.69,-70 317.18,-64.73 317.47,-57.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317.03,-50.66 320.6,-57.46 317.24,-54.16 317.46,-57.65 317.46,-57.65 317.46,-57.65 317.24,-54.16 314.31,-57.84 317.03,-50.66 317.03,-50.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"305.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"302\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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.97,-58.66C130.41,-68.62 132.75,-78 139,-78 143.69,-78 146.18,-72.73 146.47,-65.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.03,-58.66 149.6,-65.46 146.24,-62.16 146.46,-65.65 146.46,-65.65 146.46,-65.65 146.24,-62.16 143.31,-65.84 146.03,-58.66 146.03,-58.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"227\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"227\" y=\"-30.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=\"M156.64,-38.04C162.42,-36.84 168.96,-35.66 175,-35 183.72,-34.05 193.32,-33.69 201.82,-33.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.95,-33.58 201.96,-36.75 205.45,-33.59 201.95,-33.6 201.95,-33.6 201.95,-33.6 205.45,-33.59 201.94,-30.45 208.95,-33.58 208.95,-33.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"177.5\" y=\"-53.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M245.18,-34C256.67,-34 271.96,-34 284.69,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"291.85,-34 284.85,-37.15 288.35,-34 284.85,-34 284.85,-34 284.85,-34 288.35,-34 284.85,-30.85 291.85,-34 291.85,-34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"263\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M214.88,-47.7C208.64,-54.28 200.26,-61.49 191,-65 180.12,-69.12 168.26,-64.36 158.72,-58.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"152.81,-53.88 160.34,-55.4 155.66,-55.92 158.5,-57.96 158.5,-57.96 158.5,-57.96 155.66,-55.92 156.66,-60.52 152.81,-53.88 152.81,-53.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"179.5\" y=\"-69.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 0x7f09cc0ab6f0> >"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.automaton(\"\"\"\n",
|
|
"HOA: v1\n",
|
|
"States: 4\n",
|
|
"Start: 0\n",
|
|
"AP: 1 \"a\"\n",
|
|
"Acceptance: 1 Inf(0) | Fin(0)\n",
|
|
"--BODY--\n",
|
|
"State: 0\n",
|
|
"[0] 0 \n",
|
|
"[!0] 1\n",
|
|
"State: 1\n",
|
|
"[0] 1 \n",
|
|
"[!0] 2 {0}\n",
|
|
"State: 2\n",
|
|
"[0] 1\n",
|
|
"[!0] 3\n",
|
|
"State: 3\n",
|
|
"[t] 3 {0}\n",
|
|
"--END--\n",
|
|
"\"\"\")\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"By our definitions, SCC $\\{0\\}$ and $\\{1,2\\}$ are inherently weak, and SCC $\\{3\\}$ is terminal."
|
|
]
|
|
},
|
|
{
|
|
"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",
|
|
"<!-- Title: terminal Pages: 1 -->\n",
|
|
"<svg width=\"347pt\" height=\"191pt\"\n",
|
|
" viewBox=\"0.00 0.00 347.00 191.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 187)\">\n",
|
|
"<title>terminal</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187 343,-187 343,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"144.5\" y=\"-168.8\" font-family=\"Lato\" font-size=\"14.00\">terminal</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"170\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"186\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-140.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=\"279,-25 279,-125 331,-125 331,-25 279,-25\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"113,-8 113,-95 248,-95 248,-8 113,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-9 30,-94 82,-94 82,-9 30,-9\"/>\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=\"-35\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.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,-35C2.79,-35 17.15,-35 30.63,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35 30.94,-38.15 34.44,-35 30.94,-35 30.94,-35 30.94,-35 34.44,-35 30.94,-31.85 37.94,-35 37.94,-35\"/>\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,-52.04C48.32,-61.86 50.45,-71 56,-71 60.17,-71 62.4,-65.86 62.71,-59.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-52.04 65.85,-58.88 62.54,-55.53 62.71,-59.03 62.71,-59.03 62.71,-59.03 62.54,-55.53 59.56,-59.18 62.38,-52.04 62.38,-52.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-74.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"139\" cy=\"-35\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-31.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,-35C85.67,-35 100.96,-35 113.69,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"120.85,-35 113.85,-38.15 117.35,-35 113.85,-35 113.85,-35 113.85,-35 117.35,-35 113.85,-31.85 120.85,-35 120.85,-35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"305\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"305\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M297.97,-67.66C296.41,-77.62 298.75,-87 305,-87 309.69,-87 312.18,-81.73 312.47,-74.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.03,-67.66 315.6,-74.46 312.24,-71.16 312.46,-74.65 312.46,-74.65 312.46,-74.65 312.24,-71.16 309.31,-74.84 312.03,-67.66 312.03,-67.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"300.5\" y=\"-105.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"297\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</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.97,-51.66C130.41,-61.62 132.75,-71 139,-71 143.69,-71 146.18,-65.73 146.47,-58.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.03,-51.66 149.6,-58.46 146.24,-55.16 146.46,-58.65 146.46,-58.65 146.46,-58.65 146.24,-55.16 143.31,-58.84 146.03,-51.66 146.03,-51.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-74.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"222\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"222\" y=\"-47.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=\"M157.23,-33.27C165.94,-32.83 176.64,-32.96 186,-35 190.46,-35.97 195.02,-37.56 199.33,-39.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.82,-42.34 198.14,-42.29 202.63,-40.88 199.45,-39.43 199.45,-39.43 199.45,-39.43 202.63,-40.88 200.76,-36.56 205.82,-42.34 205.82,-42.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"175\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M240.18,-51C251.67,-51 266.96,-51 279.69,-51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"286.85,-51 279.85,-54.15 283.35,-51 279.85,-51 279.85,-51 279.85,-51 283.35,-51 279.85,-47.85 286.85,-51 286.85,-51\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"258\" y=\"-54.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M203.78,-52.17C195.06,-52.38 184.37,-52.03 175,-50 170.59,-49.04 166.04,-47.53 161.75,-45.83\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"155.26,-43.05 162.93,-42.91 158.47,-44.42 161.69,-45.8 161.69,-45.8 161.69,-45.8 158.47,-44.42 160.45,-48.7 155.26,-43.05 155.26,-43.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"177\" y=\"-54.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 0x7f09cc0abb70> >"
|
|
]
|
|
},
|
|
"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",
|
|
"<!-- Title: strictly weak Pages: 1 -->\n",
|
|
"<svg width=\"274pt\" height=\"191pt\"\n",
|
|
" viewBox=\"0.00 0.00 274.00 191.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 187)\">\n",
|
|
"<title>strictly weak</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187 270,-187 270,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94.5\" y=\"-168.8\" font-family=\"Lato\" font-size=\"14.00\">strictly weak</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111.5\" y=\"-140.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=\"118,-8 118,-125 258,-125 258,-8 118,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-8 30,-108 82,-108 82,-8 30,-8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-34C2.79,-34 17.15,-34 30.63,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-34 30.94,-37.15 34.44,-34 30.94,-34 30.94,-34 30.94,-34 34.44,-34 30.94,-30.85 37.94,-34 37.94,-34\"/>\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,-51.04C48.32,-60.86 50.45,-70 56,-70 60.17,-70 62.4,-64.86 62.71,-58.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-51.04 65.85,-57.88 62.54,-54.53 62.71,-58.03 62.71,-58.03 62.71,-58.03 62.54,-54.53 59.56,-58.18 62.38,-51.04 62.38,-51.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"144\" y=\"-30.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.4,-34C87.19,-34 104.73,-34 118.87,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"125.92,-34 118.92,-37.15 122.42,-34 118.92,-34 118.92,-34 118.92,-34 122.42,-34 118.92,-30.85 125.92,-34 125.92,-34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94.5\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-50.29C134.48,-60.39 137.04,-70 144,-70 149.22,-70 151.96,-64.59 152.23,-57.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-50.29 155.34,-57.03 151.93,-53.78 152.2,-57.27 152.2,-57.27 152.2,-57.27 151.93,-53.78 149.06,-57.51 151.67,-50.29 151.67,-50.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"140.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136\" y=\"-73.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=\"232\" cy=\"-60\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"232\" y=\"-56.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.96,-31.86C172.09,-31.18 185.07,-31.38 196,-35 201.68,-36.88 207.24,-40.04 212.19,-43.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"218.1,-47.93 210.61,-46.24 215.3,-45.82 212.5,-43.72 212.5,-43.72 212.5,-43.72 215.3,-45.82 214.4,-41.2 218.1,-47.93 218.1,-47.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-53.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M214.42,-65.31C204.2,-67.7 190.98,-69.16 180,-65 173.06,-62.37 166.6,-57.66 161.18,-52.69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"156.12,-47.7 163.32,-50.37 158.61,-50.16 161.11,-52.62 161.11,-52.62 161.11,-52.62 158.61,-50.16 158.9,-54.86 156.12,-47.7 156.12,-47.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184.5\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-70.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 0x7f09cc092c00> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"no output for strong\n"
|
|
]
|
|
},
|
|
{
|
|
"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",
|
|
"<!-- Title: all strengths Pages: 1 -->\n",
|
|
"<svg width=\"362pt\" height=\"191pt\"\n",
|
|
" viewBox=\"0.00 0.00 362.00 191.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 187)\">\n",
|
|
"<title>all strengths</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187 358,-187 358,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"140\" y=\"-168.8\" font-family=\"Lato\" font-size=\"14.00\">all strengths</text>\n",
|
|
"<text text-anchor=\"start\" x=\"156.5\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"177.5\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"193.5\" y=\"-154.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"155.5\" y=\"-140.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=\"294,-8 294,-108 346,-108 346,-8 294,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"118,-8 118,-125 258,-125 258,-8 118,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-16 30,-116 82,-116 82,-16 30,-16\"/>\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=\"-42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-38.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,-42C2.79,-42 17.15,-42 30.63,-42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-42 30.94,-45.15 34.44,-42 30.94,-42 30.94,-42 30.94,-42 34.44,-42 30.94,-38.85 37.94,-42 37.94,-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,-59.04C48.32,-68.86 50.45,-78 56,-78 60.17,-78 62.4,-72.86 62.71,-66.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-59.04 65.85,-65.88 62.54,-62.53 62.71,-66.03 62.71,-66.03 62.71,-66.03 62.54,-62.53 59.56,-66.18 62.38,-59.04 62.38,-59.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-96.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"144\" cy=\"-42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"144\" y=\"-38.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.4,-42C87.19,-42 104.73,-42 118.87,-42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"125.92,-42 118.92,-45.15 122.42,-42 118.92,-42 118.92,-42 118.92,-42 122.42,-42 118.92,-38.85 125.92,-42 125.92,-42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94.5\" y=\"-60.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-45.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"320\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"320\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M312.33,-50.29C310.48,-60.39 313.04,-70 320,-70 325.22,-70 327.96,-64.59 328.23,-57.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.67,-50.29 331.34,-57.03 327.93,-53.78 328.2,-57.27 328.2,-57.27 328.2,-57.27 327.93,-53.78 325.06,-57.51 327.67,-50.29 327.67,-50.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"315.5\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M136.33,-58.29C134.48,-68.39 137.04,-78 144,-78 149.22,-78 151.96,-72.59 152.23,-65.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"151.67,-58.29 155.34,-65.03 151.93,-61.78 152.2,-65.27 152.2,-65.27 152.2,-65.27 151.93,-61.78 149.06,-65.51 151.67,-58.29 151.67,-58.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"140.5\" y=\"-96.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"232\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"232\" y=\"-30.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.64,-38.04C167.42,-36.84 173.96,-35.66 180,-35 188.72,-34.05 198.32,-33.69 206.82,-33.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"213.95,-33.58 206.96,-36.75 210.45,-33.59 206.95,-33.6 206.95,-33.6 206.95,-33.6 210.45,-33.59 206.94,-30.45 213.95,-33.58 213.95,-33.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-53.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M250.4,-34C263.19,-34 280.73,-34 294.87,-34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"301.92,-34 294.92,-37.15 298.42,-34 294.92,-34 294.92,-34 294.92,-34 298.42,-34 294.92,-30.85 301.92,-34 301.92,-34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"268\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M219.88,-47.7C213.64,-54.28 205.26,-61.49 196,-65 185.12,-69.12 173.26,-64.36 163.72,-58.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"157.81,-53.88 165.34,-55.4 160.66,-55.92 163.5,-57.96 163.5,-57.96 163.5,-57.96 160.66,-55.92 161.66,-60.52 157.81,-53.88 157.81,-53.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184.5\" y=\"-84.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-69.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 0x7f09cc0abae0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"for (name, opt) in (('terminal', 't'), ('strictly weak', 'w'), ('strong', 's'), ('all strengths', 'swt')):\n",
|
|
" a = spot.decompose_scc(aut, opt)\n",
|
|
" if a:\n",
|
|
" a.set_name(name)\n",
|
|
" display(a)\n",
|
|
" else:\n",
|
|
" print(\"no output for \" + name)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# `decompose_scc()` by SCC number\n",
|
|
"\n",
|
|
"Decompose SCC can also be called by SCC numbers.\n",
|
|
"The example below show the different SCC numbers and the state they contains, before extracting the sub-automaton containing SCC 0 and 2 (i.e., anything leading to states 1 and 4 of the original automaton). This example also shows that when an `scc_info` is available for to automaton to decompose, it can be passed to `decompose_scc()` in lieu of the automaton: doing so is faster because `decompose_scc()` does not need to rebuild this object. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"SCC #0 contains states [1]\n",
|
|
"SCC #1 contains states [2]\n",
|
|
"SCC #2 contains states [4]\n",
|
|
"SCC #3 contains states [0, 3]\n"
|
|
]
|
|
},
|
|
{
|
|
"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=\"416pt\" height=\"302pt\"\n",
|
|
" viewBox=\"0.00 0.00 416.00 302.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 298)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-298 412,-298 412,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"183.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"204.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"220.5\" y=\"-279.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-265.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=\"348,-148 348,-248 400,-248 400,-148 348,-148\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"162,-8 162,-108 214,-108 214,-8 162,-8\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"265,-148 265,-233 317,-233 317,-148 265,-148\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust4\" class=\"cluster\">\n",
|
|
"<title>cluster_3</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"green\" points=\"30,-135 30,-237 214,-237 214,-135 30,-135\"/>\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=\"-161\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-157.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,-161C2.79,-161 17.15,-161 30.63,-161\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-161 30.94,-164.15 34.44,-161 30.94,-161 30.94,-161 30.94,-161 34.44,-161 30.94,-157.85 37.94,-161 37.94,-161\"/>\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,-178.04C48.32,-187.86 50.45,-197 56,-197 60.17,-197 62.4,-191.86 62.71,-185.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-178.04 65.85,-184.88 62.54,-181.53 62.71,-185.03 62.71,-185.03 62.71,-185.03 62.54,-181.53 59.56,-185.18 62.38,-178.04 62.38,-178.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-215.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-200.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=\"374\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"374\" y=\"-170.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=\"M73.44,-156.48C114.99,-145.79 227.28,-121.48 317,-144 329.58,-147.16 342.42,-153.74 352.62,-159.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"358.61,-163.72 351.01,-162.65 355.65,-161.85 352.69,-159.99 352.69,-159.99 352.69,-159.99 355.65,-161.85 354.37,-157.32 358.61,-163.72 358.61,-163.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"236\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"188\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">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=\"M63.71,-144.67C69.74,-131.35 79.55,-112.57 92,-99 113.33,-75.75 144.49,-56.45 165.24,-45.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.59,-41.66 166.91,-47.75 168.5,-43.32 165.42,-44.98 165.42,-44.98 165.42,-44.98 168.5,-43.32 163.93,-42.2 171.59,-41.66 171.59,-41.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-102.8\" 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=\"188\" cy=\"-176\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188\" y=\"-172.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.01,-159.31C93.17,-157.84 125.14,-156.68 152,-162 156.19,-162.83 160.53,-164.15 164.66,-165.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"171.35,-168.3 163.68,-168.66 168.1,-167.02 164.84,-165.73 164.84,-165.73 164.84,-165.73 168.1,-167.02 166,-162.8 171.35,-168.3 171.35,-168.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-165.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M366.97,-190.66C365.41,-200.62 367.75,-210 374,-210 378.69,-210 381.18,-204.73 381.47,-197.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"381.03,-190.66 384.6,-197.46 381.24,-194.16 381.46,-197.65 381.46,-197.65 381.46,-197.65 381.24,-194.16 378.31,-197.84 381.03,-190.66 381.03,-190.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"369.5\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366\" y=\"-213.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=\"M179.37,-49.92C177.11,-60.15 179.99,-70 188,-70 194.13,-70 197.25,-64.23 197.37,-56.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.63,-49.92 200.5,-56.55 197,-53.4 197.37,-56.88 197.37,-56.88 197.37,-56.88 197,-53.4 194.23,-57.21 196.63,-49.92 196.63,-49.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"291\" cy=\"-174\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"291\" y=\"-170.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>4->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M309.18,-174C320.67,-174 335.96,-174 348.69,-174\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"355.85,-174 348.85,-177.15 352.35,-174 348.85,-174 348.85,-174 348.85,-174 352.35,-174 348.85,-170.85 355.85,-174 355.85,-174\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"327\" y=\"-177.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M283.97,-190.66C282.41,-200.62 284.75,-210 291,-210 295.69,-210 298.18,-204.73 298.47,-197.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"298.03,-190.66 301.6,-197.46 298.24,-194.16 298.46,-197.65 298.46,-197.65 298.46,-197.65 298.24,-194.16 295.31,-197.84 298.03,-190.66 298.03,-190.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-213.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M169.95,-178.44C150.76,-180.68 118.75,-182.83 92,-177 87.54,-176.03 82.98,-174.44 78.67,-172.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-169.66 79.86,-169.71 75.37,-171.12 78.55,-172.57 78.55,-172.57 78.55,-172.57 75.37,-171.12 77.24,-175.44 72.18,-169.66 72.18,-169.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"102.5\" y=\"-198.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"114\" y=\"-183.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.26,-189.33C213.84,-204.25 238.19,-227.57 265,-237 286.8,-244.67 295.92,-246.47 317,-237 335.81,-228.55 350.87,-210.33 360.62,-195.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"364.47,-189.6 363.36,-197.2 362.59,-192.55 360.71,-195.5 360.71,-195.5 360.71,-195.5 362.59,-192.55 358.05,-193.81 364.47,-189.6 364.47,-189.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273.5\" y=\"-246.8\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M206.13,-175.66C222.38,-175.34 246.98,-174.85 265.34,-174.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"272.78,-174.34 265.85,-177.63 269.28,-174.41 265.78,-174.48 265.78,-174.48 265.78,-174.48 269.28,-174.41 265.72,-171.33 272.78,-174.34 272.78,-174.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"224\" y=\"-178.8\" font-family=\"Lato\" font-size=\"14.00\">a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.37,-191.92C177.11,-202.15 179.99,-212 188,-212 194.13,-212 197.25,-206.23 197.37,-198.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"196.63,-191.92 200.5,-198.55 197,-195.4 197.37,-198.88 197.37,-198.88 197.37,-198.88 197,-195.4 194.23,-199.21 196.63,-191.92 196.63,-191.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"170.5\" y=\"-215.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc0ea1e0> >"
|
|
]
|
|
},
|
|
"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=\"395pt\" height=\"165pt\"\n",
|
|
" viewBox=\"0.00 0.00 395.00 165.13\" 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 161.13)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-161.13 391,-161.13 391,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"173\" y=\"-142.93\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194\" y=\"-142.93\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"210\" y=\"-142.93\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"172\" y=\"-128.93\" 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=\"327,-11.13 327,-111.13 379,-111.13 379,-11.13 327,-11.13\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust2\" class=\"cluster\">\n",
|
|
"<title>cluster_1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"244,-11.13 244,-96.13 296,-96.13 296,-11.13 244,-11.13\"/>\n",
|
|
"</g>\n",
|
|
"<g id=\"clust3\" class=\"cluster\">\n",
|
|
"<title>cluster_2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"red\" points=\"30,-9.13 30,-96.13 193,-96.13 193,-9.13 30,-9.13\"/>\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=\"-35.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.43\" 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,-35.13C2.79,-35.13 17.15,-35.13 30.63,-35.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35.13 30.94,-38.28 34.44,-35.13 30.94,-35.13 30.94,-35.13 30.94,-35.13 34.44,-35.13 30.94,-31.98 37.94,-35.13 37.94,-35.13\"/>\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,-52.16C48.32,-61.99 50.45,-71.13 56,-71.13 60.17,-71.13 62.4,-65.98 62.71,-59.27\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-52.16 65.85,-59.01 62.54,-55.66 62.71,-59.16 62.71,-59.16 62.71,-59.16 62.54,-55.66 59.56,-59.3 62.38,-52.16 62.38,-52.16\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-74.93\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"353\" cy=\"-37.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"353\" y=\"-33.43\" 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=\"M73.2,-29.27C112.16,-16.04 213.95,13.47 296,-7.13 308.58,-10.28 321.42,-16.87 331.62,-23.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"337.61,-26.85 330.01,-25.78 334.65,-24.98 331.69,-23.11 331.69,-23.11 331.69,-23.11 334.65,-24.98 333.37,-20.45 337.61,-26.85 337.61,-26.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"215\" y=\"-5.93\" font-family=\"Lato\" font-size=\"14.00\">c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"167\" cy=\"-37.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"167\" y=\"-33.43\" 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.05,-35.28C89.05,-35.44 111.47,-35.72 131,-36.13 134.46,-36.2 138.12,-36.29 141.71,-36.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.91,-36.59 141.83,-39.54 145.41,-36.49 141.91,-36.39 141.91,-36.39 141.91,-36.39 145.41,-36.49 142,-33.24 148.91,-36.59 148.91,-36.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.93\" font-family=\"Lato\" font-size=\"14.00\">a & !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=\"M345.97,-53.79C344.41,-63.75 346.75,-73.13 353,-73.13 357.69,-73.13 360.18,-67.85 360.47,-61.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"360.03,-53.79 363.6,-60.59 360.24,-57.28 360.46,-60.78 360.46,-60.78 360.46,-60.78 360.24,-57.28 357.31,-60.97 360.03,-53.79 360.03,-53.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-91.93\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"345\" y=\"-76.93\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"270\" cy=\"-37.13\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"270\" y=\"-33.43\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M288.18,-37.13C299.67,-37.13 314.96,-37.13 327.69,-37.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.85,-37.13 327.85,-40.28 331.35,-37.13 327.85,-37.13 327.85,-37.13 327.85,-37.13 331.35,-37.13 327.85,-33.98 334.85,-37.13 334.85,-37.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"306\" y=\"-40.93\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M262.97,-53.79C261.41,-63.75 263.75,-73.13 270,-73.13 274.69,-73.13 277.18,-67.85 277.47,-61.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"277.03,-53.79 280.6,-60.59 277.24,-57.28 277.46,-60.78 277.46,-60.78 277.46,-60.78 277.24,-57.28 274.31,-60.97 277.03,-53.79 277.03,-53.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"266.5\" y=\"-76.93\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M150.36,-44.86C144.44,-47.39 137.55,-49.86 131,-51.13 113.98,-54.41 108.94,-54.81 92,-51.13 87.54,-50.16 82.98,-48.57 78.67,-46.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.18,-43.79 79.86,-43.84 75.37,-45.24 78.55,-46.7 78.55,-46.7 78.55,-46.7 75.37,-45.24 77.24,-49.56 72.18,-43.79 72.18,-43.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-56.93\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.17,-50.88C192.65,-66.28 216.91,-90.36 244,-100.13 265.74,-107.97 274.92,-109.59 296,-100.13 314.81,-91.68 329.87,-73.45 339.62,-58.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"343.47,-52.73 342.36,-60.32 341.59,-55.68 339.71,-58.63 339.71,-58.63 339.71,-58.63 341.59,-55.68 337.05,-56.94 343.47,-52.73 343.47,-52.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-109.93\" font-family=\"Lato\" font-size=\"14.00\">!a & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M185.13,-37.13C201.38,-37.13 225.98,-37.13 244.34,-37.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"251.78,-37.13 244.78,-40.28 248.28,-37.13 244.78,-37.13 244.78,-37.13 244.78,-37.13 248.28,-37.13 244.78,-33.98 251.78,-37.13 251.78,-37.13\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-40.93\" font-family=\"Lato\" font-size=\"14.00\">a & c</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.37,-53.04C156.11,-63.28 158.99,-73.13 167,-73.13 173.13,-73.13 176.25,-67.35 176.37,-60.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.63,-53.04 179.5,-59.67 176,-56.52 176.37,-60 176.37,-60 176.37,-60 176,-56.52 173.23,-60.33 175.63,-53.04 175.63,-53.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-76.93\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc0ea630> >"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.translate('(Ga -> Gb) W c')\n",
|
|
"si = spot.scc_info(aut)\n",
|
|
"for scc in range(si.scc_count()):\n",
|
|
" print(\"SCC #{} contains states {}\".format(scc, list(si.states_of(scc))))\n",
|
|
"display(aut)\n",
|
|
"spot.decompose_scc(si, '0,2')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"If an SCC number N is prefixed by `a`, it signifies that we want to extract the Nth *accepting* SCC. In the above example SCC 2 is rejecting so SCC `a2` denotes SCC 3."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"209pt\" height=\"162pt\"\n",
|
|
" viewBox=\"0.00 0.00 209.00 162.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 158)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-158 205,-158 205,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"80\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"101\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"117\" y=\"-139.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-125.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=\"30,-8 30,-110 193,-110 193,-8 30,-8\"/>\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=\"-35\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-31.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,-35C2.79,-35 17.15,-35 30.63,-35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-35 30.94,-38.15 34.44,-35 30.94,-35 30.94,-35 30.94,-35 34.44,-35 30.94,-31.85 37.94,-35 37.94,-35\"/>\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,-52.04C48.32,-61.86 50.45,-71 56,-71 60.17,-71 62.4,-65.86 62.71,-59.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-52.04 65.85,-58.88 62.54,-55.53 62.71,-59.03 62.71,-59.03 62.71,-59.03 62.54,-55.53 59.56,-59.18 62.38,-52.04 62.38,-52.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"36.5\" y=\"-89.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-74.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=\"167\" cy=\"-42\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"167\" y=\"-38.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.09,-34.05C89.12,-33.44 111.57,-33.08 131,-35 134.68,-35.36 138.55,-35.94 142.32,-36.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"149.37,-37.98 141.89,-39.73 145.93,-37.31 142.49,-36.64 142.49,-36.64 142.49,-36.64 145.93,-37.31 143.09,-33.55 149.37,-37.98 149.37,-37.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-38.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M149.4,-46.7C134.31,-50.29 111.49,-54 92,-50 87.58,-49.09 83.03,-47.6 78.73,-45.91\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"72.24,-43.12 79.92,-42.99 75.46,-44.5 78.67,-45.88 78.67,-45.88 78.67,-45.88 75.46,-44.5 77.43,-48.78 72.24,-43.12 72.24,-43.12\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-69.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !c</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103.5\" y=\"-54.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M157.77,-57.54C155.17,-67.91 158.25,-78 167,-78 173.7,-78 177.08,-72.08 177.12,-64.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.23,-57.54 180.23,-64.1 176.67,-61.01 177.1,-64.49 177.1,-64.49 177.1,-64.49 176.67,-61.01 173.98,-64.88 176.23,-57.54 176.23,-57.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-81.8\" font-family=\"Lato\" font-size=\"14.00\">a & !c</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 0x7f09cc0eae70> >"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.decompose_scc(si, 'a2')"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.9.1+"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|