1582 lines
120 KiB
Text
1582 lines
120 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4d225dd2-8b41-4bb4-9cae-136c314bbcc9",
|
|
"metadata": {},
|
|
"source": [
|
|
"This notebook reproduces the examples shown in our CAV'22 paper, as well as a few more. It was part of the CAV'22 artifact, but has been updated to keep up with recent version of Spot."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "a1948c94-e737-4b8b-88b8-00d896c5c928",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import spot\n",
|
|
"from spot.jupyter import display_inline\n",
|
|
"from buddy import bdd_ithvar\n",
|
|
"spot.setup()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c03f8776-c657-4f87-99b5-a56ed1fdcbe3",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Figure 1\n",
|
|
"\n",
|
|
"Fig. 1 of the paper shows (1) how to convert an LTL formula to an automaton with arbitrary acceptance condition, and (2) how to display the internal representation of the automaton."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "d7b6e2d6-7472-4136-8114-ecb03dde1edd",
|
|
"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=\"196pt\" height=\"222pt\"\n",
|
|
" viewBox=\"0.00 0.00 196.00 221.51\" 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 217.51)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-217.51 192,-217.51 192,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"43.5\" y=\"-199.31\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"66.5\" y=\"-199.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"82.5\" y=\"-199.31\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"124.5\" y=\"-199.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"140.5\" y=\"-199.31\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"66.5\" y=\"-185.31\" font-family=\"Lato\" font-size=\"14.00\">[Rabin 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-63.51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-59.81\" 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,-63.51C2.79,-63.51 17.15,-63.51 30.63,-63.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-63.51 30.94,-66.66 34.44,-63.51 30.94,-63.51 30.94,-63.51 30.94,-63.51 34.44,-63.51 30.94,-60.36 37.94,-63.51 37.94,-63.51\"/>\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,-81.29C52.21,-90.82 53.29,-99.51 56,-99.51 57.99,-99.51 59.1,-94.83 59.33,-88.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.24,-81.29 62.48,-88.25 59.28,-84.79 59.33,-88.29 59.33,-88.29 59.33,-88.29 59.28,-84.79 56.18,-88.33 59.24,-81.29 59.24,-81.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-118.31\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-103.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M50.99,-81.09C47.55,-102.23 49.21,-129.51 56,-129.51 62.04,-129.51 64.03,-107.87 61.96,-88.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"61.01,-81.09 65.06,-87.61 61.47,-84.56 61.93,-88.03 61.93,-88.03 61.93,-88.03 61.47,-84.56 58.81,-88.44 61.01,-81.09 61.01,-81.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"40\" y=\"-148.31\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-133.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"168\" cy=\"-63.51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"168\" y=\"-59.81\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M63.7,-80.29C69.35,-91.94 78.65,-106.56 92,-113.51 107.77,-121.72 116.23,-121.72 132,-113.51 143.05,-107.76 151.34,-96.74 157.06,-86.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"160.3,-80.29 159.86,-87.95 158.68,-83.39 157.07,-86.5 157.07,-86.5 157.07,-86.5 158.68,-83.39 154.27,-85.04 160.3,-80.29 160.3,-80.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-123.31\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.19,-63.51C92.59,-63.51 121.95,-63.51 142.71,-63.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"149.93,-63.51 142.93,-66.66 146.43,-63.51 142.93,-63.51 142.93,-63.51 142.93,-63.51 146.43,-63.51 142.93,-60.36 149.93,-63.51 149.93,-63.51\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-82.31\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"104\" y=\"-67.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M152.69,-53.64C146.6,-50.02 139.24,-46.35 132,-44.51 114.77,-40.13 109.23,-40.13 92,-44.51 87.14,-45.74 82.22,-47.81 77.67,-50.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"71.31,-53.64 75.91,-47.5 74.37,-51.95 77.44,-50.25 77.44,-50.25 77.44,-50.25 74.37,-51.95 78.96,-53.01 71.31,-53.64 71.31,-53.64\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-48.31\" 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=\"M161.68,-46.39C156.48,-32.88 147.1,-14.96 132,-6.51 116.49,2.17 107.51,2.17 92,-6.51 79.26,-13.64 70.59,-27.51 65.07,-39.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.32,-46.39 62.1,-38.71 63.66,-43.16 65.01,-39.93 65.01,-39.93 65.01,-39.93 63.66,-43.16 67.92,-41.14 62.32,-46.39 62.32,-46.39\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-25.31\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"104\" y=\"-10.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M163,-80.92C162.07,-90.6 163.73,-99.51 168,-99.51 171.13,-99.51 172.86,-94.7 173.19,-88.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173,-80.92 176.33,-87.83 173.09,-84.42 173.18,-87.92 173.18,-87.92 173.18,-87.92 173.09,-84.42 170.03,-88 173,-80.92 173,-80.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-118.31\" font-family=\"Lato\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-103.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M160.46,-80.11C154.77,-101.37 157.28,-129.51 168,-129.51 177.59,-129.51 180.61,-107 177.06,-87.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"175.54,-80.11 180.12,-86.26 176.29,-83.52 177.05,-86.94 177.05,-86.94 177.05,-86.94 176.29,-83.52 173.97,-87.62 175.54,-80.11 175.54,-80.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"150\" y=\"-148.31\" font-family=\"Lato\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-133.31\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fb6a430f5a0> >"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.translate('GF(a <-> Xa) & FGb', 'det', 'gen')\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "18248bd4-8d80-4ae7-a466-c347e1ea5ad4",
|
|
"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: g Pages: 1 -->\n",
|
|
"<svg width=\"699pt\" height=\"376pt\"\n",
|
|
" viewBox=\"0.00 0.00 698.50 376.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 372)\">\n",
|
|
"<title>g</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-372 694.5,-372 694.5,4 -4,4\"/>\n",
|
|
"<!-- states -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>states</title>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"56.5,-311 56.5,-332 124.5,-332 124.5,-311 56.5,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"56.5,-311 124.5,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"68.5\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">states</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"124.5,-311 124.5,-332 140.5,-332 140.5,-311 124.5,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"124.5,-311 140.5,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"140.5,-311 140.5,-332 156.5,-332 156.5,-311 140.5,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"140.5,-311 156.5,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143.5\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"56.5,-290 56.5,-311 124.5,-311 124.5,-290 56.5,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"74.5\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">succ</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"124.5,-290 124.5,-311 140.5,-311 140.5,-290 124.5,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"124.5,-290 124.5,-311 140.5,-311 140.5,-290 124.5,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"140.5,-290 140.5,-311 156.5,-311 156.5,-290 140.5,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"140.5,-290 140.5,-311 156.5,-311 156.5,-290 140.5,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143.5\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">5</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"56.5,-269 56.5,-290 124.5,-290 124.5,-269 56.5,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"59.5\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">succ_tail</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"124.5,-269 124.5,-290 140.5,-290 140.5,-269 124.5,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"124.5,-269 124.5,-290 140.5,-290 140.5,-269 124.5,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"127.5\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"140.5,-269 140.5,-290 156.5,-290 156.5,-269 140.5,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"140.5,-269 140.5,-290 156.5,-290 156.5,-269 140.5,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143.5\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- edges -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>edges</title>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"190.5,-343 190.5,-364 266.5,-364 266.5,-343 190.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"190.5,-343 266.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"207\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">edges</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"266.5,-343 266.5,-364 318.5,-364 318.5,-343 266.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"266.5,-343 318.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"318.5,-343 318.5,-364 364.5,-364 364.5,-343 318.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"318.5,-343 364.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"336.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"364.5,-343 364.5,-364 416.5,-364 416.5,-343 364.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"364.5,-343 416.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"385.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"416.5,-343 416.5,-364 474.5,-364 474.5,-343 416.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"416.5,-343 474.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"474.5,-343 474.5,-364 520.5,-364 520.5,-343 474.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"474.5,-343 520.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"492.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">5</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"520.5,-343 520.5,-364 572.5,-364 572.5,-343 520.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"520.5,-343 572.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"572.5,-343 572.5,-364 630.5,-364 630.5,-343 572.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"572.5,-343 630.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"596.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">7</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"630.5,-343 630.5,-364 682.5,-364 682.5,-343 630.5,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"630.5,-343 682.5,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"651.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">8</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190.5,-322 190.5,-343 266.5,-343 266.5,-322 190.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">cond</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266.5,-322 266.5,-343 318.5,-343 318.5,-322 266.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"318.5,-322 318.5,-343 364.5,-343 364.5,-322 318.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"321.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a & b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"364.5,-322 364.5,-343 416.5,-343 416.5,-322 364.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"416.5,-322 416.5,-343 474.5,-343 474.5,-322 416.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"419.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"474.5,-322 474.5,-343 520.5,-343 520.5,-322 474.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"477.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a & b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"520.5,-322 520.5,-343 572.5,-343 572.5,-322 520.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"523.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a & !b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"572.5,-322 572.5,-343 630.5,-343 630.5,-322 572.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"575.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">!a & !b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"630.5,-322 630.5,-343 682.5,-343 682.5,-322 630.5,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"633.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">!a & b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190.5,-301 190.5,-322 266.5,-322 266.5,-301 190.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"216.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">acc</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266.5,-301 266.5,-322 318.5,-322 318.5,-301 266.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"318.5,-301 318.5,-322 364.5,-322 364.5,-301 318.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{1}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"364.5,-301 364.5,-322 416.5,-322 416.5,-301 364.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"381\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"416.5,-301 416.5,-322 474.5,-322 474.5,-301 416.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"431.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"474.5,-301 474.5,-322 520.5,-322 520.5,-301 474.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"488\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"520.5,-301 520.5,-322 572.5,-322 572.5,-301 520.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"532.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"572.5,-301 572.5,-322 630.5,-322 630.5,-301 572.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"587.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"630.5,-301 630.5,-322 682.5,-322 682.5,-301 630.5,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"642.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{1}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190.5,-280 190.5,-301 266.5,-301 266.5,-280 190.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"217\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">dst</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"266.5,-280 266.5,-301 318.5,-301 318.5,-280 266.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266.5,-280 266.5,-301 318.5,-301 318.5,-280 266.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"318.5,-280 318.5,-301 364.5,-301 364.5,-280 318.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"318.5,-280 318.5,-301 364.5,-301 364.5,-280 318.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"336.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"364.5,-280 364.5,-301 416.5,-301 416.5,-280 364.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"364.5,-280 364.5,-301 416.5,-301 416.5,-280 364.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"385.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"416.5,-280 416.5,-301 474.5,-301 474.5,-280 416.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"416.5,-280 416.5,-301 474.5,-301 474.5,-280 416.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"474.5,-280 474.5,-301 520.5,-301 520.5,-280 474.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"474.5,-280 474.5,-301 520.5,-301 520.5,-280 474.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"492.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"520.5,-280 520.5,-301 572.5,-301 572.5,-280 520.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"520.5,-280 520.5,-301 572.5,-301 572.5,-280 520.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"572.5,-280 572.5,-301 630.5,-301 630.5,-280 572.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"572.5,-280 572.5,-301 630.5,-301 630.5,-280 572.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"596.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"630.5,-280 630.5,-301 682.5,-301 682.5,-280 630.5,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"630.5,-280 630.5,-301 682.5,-301 682.5,-280 630.5,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"651.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190.5,-259 190.5,-280 266.5,-280 266.5,-259 190.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"193.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">next_succ</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"266.5,-259 266.5,-280 318.5,-280 318.5,-259 266.5,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266.5,-259 266.5,-280 318.5,-280 318.5,-259 266.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"318.5,-259 318.5,-280 364.5,-280 364.5,-259 318.5,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"318.5,-259 318.5,-280 364.5,-280 364.5,-259 318.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"336.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"364.5,-259 364.5,-280 416.5,-280 416.5,-259 364.5,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"364.5,-259 364.5,-280 416.5,-280 416.5,-259 364.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"385.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"416.5,-259 416.5,-280 474.5,-280 474.5,-259 416.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"474.5,-259 474.5,-280 520.5,-280 520.5,-259 474.5,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"474.5,-259 474.5,-280 520.5,-280 520.5,-259 474.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"492.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"520.5,-259 520.5,-280 572.5,-280 572.5,-259 520.5,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"520.5,-259 520.5,-280 572.5,-280 572.5,-259 520.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">7</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"572.5,-259 572.5,-280 630.5,-280 630.5,-259 572.5,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"572.5,-259 572.5,-280 630.5,-280 630.5,-259 572.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"596.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">8</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"630.5,-259 630.5,-280 682.5,-280 682.5,-259 630.5,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"651.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190.5,-238 190.5,-259 266.5,-259 266.5,-238 190.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"217.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">src</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"266.5,-238 266.5,-259 318.5,-259 318.5,-238 266.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266.5,-238 266.5,-259 318.5,-259 318.5,-238 266.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"318.5,-238 318.5,-259 364.5,-259 364.5,-238 318.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"318.5,-238 318.5,-259 364.5,-259 364.5,-238 318.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"336.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"364.5,-238 364.5,-259 416.5,-259 416.5,-238 364.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"364.5,-238 364.5,-259 416.5,-259 416.5,-238 364.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"385.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"416.5,-238 416.5,-259 474.5,-259 474.5,-238 416.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"416.5,-238 416.5,-259 474.5,-259 474.5,-238 416.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"474.5,-238 474.5,-259 520.5,-259 520.5,-238 474.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"474.5,-238 474.5,-259 520.5,-259 520.5,-238 474.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"492.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"520.5,-238 520.5,-259 572.5,-259 572.5,-238 520.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"520.5,-238 520.5,-259 572.5,-259 572.5,-238 520.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"572.5,-238 572.5,-259 630.5,-259 630.5,-238 572.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"572.5,-238 572.5,-259 630.5,-259 630.5,-238 572.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"596.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"630.5,-238 630.5,-259 682.5,-259 682.5,-238 630.5,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"630.5,-238 630.5,-259 682.5,-259 682.5,-238 630.5,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"651.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- meta -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>meta</title>\n",
|
|
"<text text-anchor=\"start\" x=\"10.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">init_state:</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"97.5,-118 97.5,-137 205.5,-137 205.5,-118 97.5,-118\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"99.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"10.5\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">num_sets:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"99.5\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"10.5\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">acceptance:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"99.5\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">Fin(0) & Inf(1)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"10.5\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">ap_vars:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"99.5\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">b a</text>\n",
|
|
"</g>\n",
|
|
"<!-- meta->states -->\n",
|
|
"<!-- props -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>props</title>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-180.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_state_acc:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-180.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-161.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_inherently_weak:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-161.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-142.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_terminal:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-142.8\" font-family=\"Times,serif\" font-size=\"14.00\">no</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_weak:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_very_weak:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_complete:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_universal:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-47.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_unambiguous:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-47.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-28.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_semi_deterministic:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-28.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"320.5\" y=\"-9.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_stutter_invariant:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"505.5\" y=\"-9.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"</g>\n",
|
|
"<!-- props->edges -->\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut.show_storage()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "ef2e2a61-046c-42f0-b0a1-8dc7f1f2b37a",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Figure 2\n",
|
|
"\n",
|
|
"Fig.2 shows an example of alternating automaton, represented in two different ways, along with its internal representation."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "5d2dd179-470c-47c1-b9f2-c5df9f76b2b8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# We enter the automaton using the HOA format.\n",
|
|
"aut2 = spot.automaton(\"\"\"\n",
|
|
"HOA: v1\n",
|
|
"States: 5\n",
|
|
"Start: 3\n",
|
|
"acc-name: co-Buchi\n",
|
|
"Acceptance: 1 Fin(0)\n",
|
|
"AP: 2 \"a\" \"b\"\n",
|
|
"--BODY--\n",
|
|
"State: 0 {0} \n",
|
|
"[0] 1\n",
|
|
"[!0] 2\n",
|
|
"State: 1 {0} \n",
|
|
"[0&1] 0&1\n",
|
|
"State: 2 \n",
|
|
"[t] 2 \n",
|
|
"State: 3 \n",
|
|
"[0] 4&0\n",
|
|
"State: 4 \n",
|
|
"[t] 3 \n",
|
|
"--END--\n",
|
|
"\"\"\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "e1517479-6947-43fd-8369-c4fcdca72e1d",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"378pt\" height=\"220pt\"\n",
|
|
" viewBox=\"0.00 0.00 377.60 220.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 216)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-216 373.6,-216 373.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153.3\" y=\"-196.8\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>3</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\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->3 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->3</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",
|
|
"<!-- -4 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>-4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"121.5\" cy=\"-53\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 3->-4 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->-4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.35,-38.89C85.83,-42.63 102.49,-47.61 112.3,-50.55\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"111.84,-52.97 119.25,-52.62 113.24,-48.27 111.84,-52.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"185\" cy=\"-76\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"185\" cy=\"-76\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185\" y=\"-72.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"276\" cy=\"-167\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"276\" cy=\"-167\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"276\" y=\"-163.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=\"M201.1,-91.44C215.8,-106.47 238.26,-129.43 254.56,-146.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"259.83,-151.49 252.68,-148.69 257.38,-148.99 254.93,-146.48 254.93,-146.48 254.93,-146.48 257.38,-148.99 257.19,-144.28 259.83,-151.49 259.83,-151.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"227\" y=\"-129.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=\"276\" cy=\"-76\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"276\" y=\"-72.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=\"M207.09,-76C220.19,-76 237.07,-76 250.72,-76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"257.93,-76 250.93,-79.15 254.43,-76 250.93,-76 250.93,-76 250.93,-76 254.43,-76 250.93,-72.85 257.93,-76 257.93,-76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"225\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"367.8\" cy=\"-134\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M297.65,-161.95C312.06,-158.1 331.58,-152.23 348,-145 352.05,-143.22 356.32,-140.77 359.77,-138.63\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"361.3,-140.56 365.82,-134.68 358.62,-136.45 361.3,-140.56\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"316\" y=\"-159.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.33,-92.29C266.48,-102.39 269.04,-112 276,-112 281.22,-112 283.96,-106.59 284.23,-99.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"283.67,-92.29 287.34,-99.03 283.93,-95.78 284.2,-99.27 284.2,-99.27 284.2,-99.27 283.93,-95.78 281.06,-99.51 283.67,-92.29 283.67,-92.29\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"276\" y=\"-115.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M366.35,-132.88C362.79,-124.25 338.44,-68.29 298,-49 269.45,-35.38 233.44,-48.89 210.07,-61.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"203.84,-64.63 208.46,-58.5 206.91,-62.94 209.98,-61.26 209.98,-61.26 209.98,-61.26 206.91,-62.94 211.49,-64.02 203.84,-64.63 203.84,-64.63\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M365.52,-134.26C359.69,-135.47 335.17,-140.76 316,-148 311.46,-149.72 306.73,-151.77 302.19,-153.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"295.73,-157.01 300.67,-151.13 298.89,-155.49 302.04,-153.97 302.04,-153.97 302.04,-153.97 298.89,-155.49 303.41,-156.8 295.73,-157.01 295.73,-157.01\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -4->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>-4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M123.57,-53.4C127.71,-54.95 143.18,-60.73 157.43,-66.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"164.27,-68.62 156.61,-69.12 160.99,-67.4 157.71,-66.17 157.71,-66.17 157.71,-66.17 160.99,-67.4 158.82,-63.22 164.27,-68.62 164.27,-68.62\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"185\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- -4->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>-4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M123.57,-52.39C128.23,-49.74 147.26,-38.91 162.73,-30.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"169.1,-26.48 164.57,-32.68 166.06,-28.21 163.01,-29.94 163.01,-29.94 163.01,-29.94 166.06,-28.21 161.46,-27.21 169.1,-26.48 169.1,-26.48\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M166.74,-20.17C144.61,-22.96 106.12,-27.81 81.11,-30.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.13,-31.84 80.68,-27.84 77.6,-31.4 81.07,-30.97 81.07,-30.97 81.07,-30.97 77.6,-31.4 81.47,-34.09 74.13,-31.84 74.13,-31.84\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"121.5\" y=\"-30.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"378pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 377.60 169.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 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 373.6,-165 373.6,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"153.3\" y=\"-145.8\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>3</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\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->3 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->3</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",
|
|
"<!-- -4 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>-4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"121.5\" cy=\"-53\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 3->-4 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->-4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.35,-38.89C85.83,-42.63 102.49,-47.61 112.3,-50.55\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"111.84,-52.97 119.25,-52.62 113.24,-48.27 111.84,-52.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"185\" cy=\"-76\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"185\" cy=\"-76\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185\" y=\"-72.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"276\" cy=\"-116\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"276\" cy=\"-116\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"276\" y=\"-112.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=\"M205.31,-84.68C218.14,-90.45 235.13,-98.08 249.13,-104.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"255.73,-107.34 248.05,-107.34 252.53,-105.9 249.34,-104.47 249.34,-104.47 249.34,-104.47 252.53,-105.9 250.63,-101.59 255.73,-107.34 255.73,-107.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"227\" y=\"-102.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- T2T0 -->\n",
|
|
"<!-- 0->T2T0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->T2T0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.09,-75.76C226.61,-75.54 254.53,-75.23 267.66,-75.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"274.88,-75 267.92,-78.23 271.38,-75.04 267.88,-75.08 267.88,-75.08 267.88,-75.08 271.38,-75.04 267.84,-71.93 274.88,-75 274.88,-75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"225\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>-1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"367.8\" cy=\"-83\" rx=\"1.8\" ry=\"1.8\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->-1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->-1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M297.65,-110.95C312.06,-107.1 331.58,-101.23 348,-94 352.05,-92.22 356.32,-89.77 359.77,-87.63\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"361.3,-89.56 365.82,-83.68 358.62,-85.45 361.3,-89.56\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"316\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- -1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>-1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M365.85,-82.65C359.83,-80.47 326.41,-68.65 298,-65 269.32,-61.31 236.37,-65.56 213.68,-69.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.68,-71.18 212.95,-66.74 210.12,-70.5 213.55,-69.83 213.55,-69.83 213.55,-69.83 210.12,-70.5 214.16,-72.92 206.68,-71.18 206.68,-71.18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -1->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>-1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M365.52,-83.26C359.69,-84.47 335.17,-89.76 316,-97 311.46,-98.72 306.73,-100.77 302.19,-102.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"295.73,-106.01 300.67,-100.13 298.89,-104.49 302.04,-102.97 302.04,-102.97 302.04,-102.97 298.89,-104.49 303.41,-105.8 295.73,-106.01 295.73,-106.01\"/>\n",
|
|
"</g>\n",
|
|
"<!-- -4->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>-4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M123.57,-53.4C127.71,-54.95 143.18,-60.73 157.43,-66.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"164.27,-68.62 156.61,-69.12 160.99,-67.4 157.71,-66.17 157.71,-66.17 157.71,-66.17 160.99,-67.4 158.82,-63.22 164.27,-68.62 164.27,-68.62\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"185\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"185\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- -4->4 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>-4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M123.57,-52.39C128.23,-49.74 147.26,-38.91 162.73,-30.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"169.1,-26.48 164.57,-32.68 166.06,-28.21 163.01,-29.94 163.01,-29.94 163.01,-29.94 166.06,-28.21 161.46,-27.21 169.1,-26.48 169.1,-26.48\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M166.74,-20.17C144.61,-22.96 106.12,-27.81 81.11,-30.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.13,-31.84 80.68,-27.84 77.6,-31.4 81.07,-30.97 81.07,-30.97 81.07,-30.97 77.6,-31.4 81.47,-34.09 74.13,-31.84 74.13,-31.84\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"121.5\" y=\"-30.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display_inline(aut2, aut2.show('.u'), per_row=2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "ef26e6e8-3206-4e51-9858-33f8d27f915c",
|
|
"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: g Pages: 1 -->\n",
|
|
"<svg width=\"696pt\" height=\"376pt\"\n",
|
|
" viewBox=\"0.00 0.00 696.00 376.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 372)\">\n",
|
|
"<title>g</title>\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-372 692,-372 692,4 -4,4\"/>\n",
|
|
"<!-- states -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>states</title>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"8,-311 8,-332 76,-332 76,-311 8,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"8,-311 76,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"20\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">states</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"76,-311 76,-332 92,-332 92,-311 76,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"76,-311 92,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"92,-311 92,-332 108,-332 108,-311 92,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"92,-311 108,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"108,-311 108,-332 124,-332 124,-311 108,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"108,-311 124,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"124,-311 124,-332 140,-332 140,-311 124,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"124,-311 140,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"127\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"140,-311 140,-332 156,-332 156,-311 140,-311\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"140,-311 156,-311 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-317.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"8,-290 8,-311 76,-311 76,-290 8,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"26\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">succ</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"76,-290 76,-311 92,-311 92,-290 76,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"76,-290 76,-311 92,-311 92,-290 76,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"92,-290 92,-311 108,-311 108,-290 92,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"92,-290 92,-311 108,-311 108,-290 92,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"108,-290 108,-311 124,-311 124,-290 108,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"108,-290 108,-311 124,-311 124,-290 108,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"124,-290 124,-311 140,-311 140,-290 124,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"124,-290 124,-311 140,-311 140,-290 124,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"127\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">5</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"140,-290 140,-311 156,-311 156,-290 140,-290\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"140,-290 140,-311 156,-311 156,-290 140,-290\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-296.8\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"8,-269 8,-290 76,-290 76,-269 8,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"11\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">succ_tail</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"76,-269 76,-290 92,-290 92,-269 76,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"76,-269 76,-290 92,-290 92,-269 76,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"79\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"92,-269 92,-290 108,-290 108,-269 92,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"92,-269 92,-290 108,-290 108,-269 92,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"108,-269 108,-290 124,-290 124,-269 108,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"108,-269 108,-290 124,-290 124,-269 108,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"124,-269 124,-290 140,-290 140,-269 124,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"124,-269 124,-290 140,-290 140,-269 124,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"127\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">5</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"140,-269 140,-290 156,-290 156,-269 140,-269\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"140,-269 140,-290 156,-290 156,-269 140,-269\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"143\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- edges -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>edges</title>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"190,-343 190,-364 266,-364 266,-343 190,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"190,-343 266,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"206.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">edges</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"266,-343 266,-364 300,-364 300,-343 266,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"266,-343 300,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"300,-343 300,-364 334,-364 334,-343 300,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"300,-343 334,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"334,-343 334,-364 380,-364 380,-343 334,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"334,-343 380,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"352\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"380,-343 380,-364 405,-364 405,-343 380,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"380,-343 405,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"405,-343 405,-364 433,-364 433,-343 405,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"405,-343 433,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"414\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">5</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"433,-343 433,-364 458,-364 458,-343 433,-343\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"433,-343 458,-343 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190,-322 190,-343 266,-343 266,-322 190,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"211\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">cond</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266,-322 266,-343 300,-343 300,-322 266,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"300,-322 300,-343 334,-343 334,-322 300,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"309.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">!a</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"334,-322 334,-343 380,-343 380,-322 334,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"337\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a & b</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"380,-322 380,-343 405,-343 405,-322 380,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"405,-322 405,-343 433,-343 433,-322 405,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"414.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">a</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"433,-322 433,-343 458,-343 458,-322 433,-322\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-328.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190,-301 190,-322 266,-322 266,-301 190,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"216\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">acc</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266,-301 266,-322 300,-322 300,-301 266,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"269\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"300,-301 300,-322 334,-322 334,-301 300,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"303\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"334,-301 334,-322 380,-322 380,-301 334,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"343\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{0}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"380,-301 380,-322 405,-322 405,-301 380,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"383\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"405,-301 405,-322 433,-322 433,-301 405,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"409.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"433,-301 433,-322 458,-322 458,-301 433,-301\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"436\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">{}</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190,-280 190,-301 266,-301 266,-280 190,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"216.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">dst</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"266,-280 266,-301 300,-301 300,-280 266,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266,-280 266,-301 300,-301 300,-280 266,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"300,-280 300,-301 334,-301 334,-280 300,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"300,-280 300,-301 334,-301 334,-280 300,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"pink\" stroke=\"transparent\" points=\"334,-280 334,-301 380,-301 380,-280 334,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"334,-280 334,-301 380,-301 380,-280 334,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"346\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">~0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"380,-280 380,-301 405,-301 405,-280 380,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"380,-280 380,-301 405,-301 405,-280 380,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"pink\" stroke=\"transparent\" points=\"405,-280 405,-301 433,-301 433,-280 405,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"405,-280 405,-301 433,-301 433,-280 405,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"408\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">~3</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"433,-280 433,-301 458,-301 458,-280 433,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"433,-280 433,-301 458,-301 458,-280 433,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190,-259 190,-280 266,-280 266,-259 190,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"193\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">next_succ</text>\n",
|
|
"<polygon fill=\"cyan\" stroke=\"transparent\" points=\"266,-259 266,-280 300,-280 300,-259 266,-259\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266,-259 266,-280 300,-280 300,-259 266,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"300,-259 300,-280 334,-280 334,-259 300,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"334,-259 334,-280 380,-280 380,-259 334,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"352\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"380,-259 380,-280 405,-280 405,-259 380,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"405,-259 405,-280 433,-280 433,-259 405,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"414\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"433,-259 433,-280 458,-280 458,-259 433,-259\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-265.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"190,-238 190,-259 266,-259 266,-238 190,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"217\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">src</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"266,-238 266,-259 300,-259 300,-238 266,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"266,-238 266,-259 300,-259 300,-238 266,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"300,-238 300,-259 334,-259 334,-238 300,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"300,-238 300,-259 334,-259 334,-238 300,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"312\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"334,-238 334,-259 380,-259 380,-238 334,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"334,-238 334,-259 380,-259 380,-238 334,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"352\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"380,-238 380,-259 405,-259 405,-238 380,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"380,-238 380,-259 405,-259 405,-238 380,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"387.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"405,-238 405,-259 433,-259 433,-238 405,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"405,-238 405,-259 433,-259 433,-238 405,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"414\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"433,-238 433,-259 458,-259 458,-238 433,-238\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"433,-238 433,-259 458,-259 458,-238 433,-238\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440.5\" y=\"-244.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- dests -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>dests</title>\n",
|
|
"<polygon fill=\"pink\" stroke=\"transparent\" points=\"492,-301 492,-322 560,-322 560,-301 492,-301\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"492,-301 560,-301 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"506.5\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">dests</text>\n",
|
|
"<polygon fill=\"pink\" stroke=\"transparent\" points=\"560,-301 560,-322 588,-322 588,-301 560,-301\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"560,-301 588,-301 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"563\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">~0</text>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"588,-301 604,-301 \"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"604,-301 620,-301 \"/>\n",
|
|
"<polygon fill=\"pink\" stroke=\"transparent\" points=\"620,-301 620,-322 648,-322 648,-301 620,-301\"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"620,-301 648,-301 \"/>\n",
|
|
"<text text-anchor=\"start\" x=\"623\" y=\"-307.8\" font-family=\"Times,serif\" font-size=\"14.00\">~3</text>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"648,-301 664,-301 \"/>\n",
|
|
"<polyline fill=\"none\" stroke=\"black\" points=\"664,-301 680,-301 \"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"492,-280 492,-301 560,-301 560,-280 492,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"495\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">#cnt/dst</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"560,-280 560,-301 588,-301 588,-280 560,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"563\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">#2</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"588,-280 588,-301 604,-301 604,-280 588,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"588,-280 588,-301 604,-301 604,-280 588,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"591\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"604,-280 604,-301 620,-301 620,-280 604,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"604,-280 604,-301 620,-301 620,-280 604,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"607\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"620,-280 620,-301 648,-301 648,-280 620,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"623\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">#2</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"648,-280 648,-301 664,-301 664,-280 648,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"648,-280 648,-301 664,-301 664,-280 648,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"651\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">0</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"664,-280 664,-301 680,-301 680,-280 664,-280\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"664,-280 664,-301 680,-301 680,-280 664,-280\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"667\" y=\"-286.8\" font-family=\"Times,serif\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- meta -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>meta</title>\n",
|
|
"<text text-anchor=\"start\" x=\"16\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">init_state:</text>\n",
|
|
"<polygon fill=\"yellow\" stroke=\"transparent\" points=\"103,-118 103,-137 150,-137 150,-118 103,-118\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"105\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"16\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">num_sets:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"105\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"16\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">acceptance:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"105\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">Fin(0)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"16\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">ap_vars:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"105\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">b a</text>\n",
|
|
"</g>\n",
|
|
"<!-- meta->states -->\n",
|
|
"<!-- props -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>props</title>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-180.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_state_acc:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-180.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-161.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_inherently_weak:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-161.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-142.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_terminal:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-142.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_weak:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_very_weak:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-104.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_complete:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-85.8\" font-family=\"Times,serif\" font-size=\"14.00\">no</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_universal:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-47.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_unambiguous:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-47.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-28.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_semi_deterministic:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-28.8\" font-family=\"Times,serif\" font-size=\"14.00\">yes</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208\" y=\"-9.8\" font-family=\"Times,serif\" font-size=\"14.00\">prop_stutter_invariant:</text>\n",
|
|
"<text text-anchor=\"start\" x=\"393\" y=\"-9.8\" font-family=\"Times,serif\" font-size=\"14.00\">maybe</text>\n",
|
|
"</g>\n",
|
|
"<!-- props->edges -->\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut2.show_storage()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f4f651b6-974e-4783-a54a-17a280d30782",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Figure 3\n",
|
|
"\n",
|
|
"Fig. 3 shows an example of game generated by `ltlsynt` from the LTL specification of a reactive controler, and then how this game can be encoded into an And-Inverter-Graph.\n",
|
|
"First we retrieve the game generated by `ltlsynt` (any argument passed to `spot.automaton` is interpreted as a command if it ends with a pipe), then we solve it to compute a possible winning strategy. \n",
|
|
"\n",
|
|
"Player 0 plays from round states and tries to violate the acceptance condition; Player 1 plays from diamond states and tries to satisfy the acceptance condition. Once a game has been solved, the `highlight_strategy` function will decorate the automaton with winning region and computed strategies for player 0 and 1 in red and green respectively. Therefore this game is winning for player 1 from the initial state.\n",
|
|
"\n",
|
|
"Compared to the paper, the production of parity automata in `ltlsynt` has been improved, and it generates a Büchi game instead (but Büchi can be seen one case of parity)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "ac90284d-2493-428b-9db7-cc7aa63384cb",
|
|
"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=\"729pt\" height=\"185pt\"\n",
|
|
" viewBox=\"0.00 0.00 729.00 185.20\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.7462686567164178 0.7462686567164178) rotate(0) translate(4 244.08)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-244.08 972.53,-244.08 972.53,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"462.77\" y=\"-224.88\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"60\" cy=\"-175.08\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"60\" cy=\"-175.08\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"60\" y=\"-171.38\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->4 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.17,-175.08C2.84,-175.08 16.88,-175.08 30.71,-175.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.86,-175.08 30.86,-178.23 34.36,-175.08 30.86,-175.08 30.86,-175.08 30.86,-175.08 34.36,-175.08 30.86,-171.93 37.86,-175.08 37.86,-175.08\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"369.81,-193.14 346.85,-175.08 369.81,-157.02 392.76,-175.08 369.81,-193.14\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"369.81,-198.24 340.37,-175.08 369.81,-151.92 399.24,-175.08 369.81,-198.24\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"369.81\" y=\"-171.38\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->7 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>4->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M82.16,-175.08C134.08,-175.08 268.26,-175.08 332.92,-175.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"340.08,-175.08 333.08,-178.23 336.58,-175.08 333.08,-175.08 333.08,-175.08 333.08,-175.08 336.58,-175.08 333.08,-171.93 340.08,-175.08 340.08,-175.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"219.84\" y=\"-178.88\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12 -->\n",
|
|
"<g id=\"node13\" class=\"node\">\n",
|
|
"<title>12</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"163.17,-142.2 132.7,-124.08 163.17,-105.96 193.64,-124.08 163.17,-142.2\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"163.17,-146.88 124.83,-124.08 163.17,-101.28 201.51,-124.08 163.17,-146.88\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"163.17\" y=\"-120.38\" font-family=\"Lato\" font-size=\"14.00\">12</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->12 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>4->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M77.35,-161.21C84.06,-155.98 92.11,-150.29 100,-146.08 109.36,-141.09 120.08,-136.83 129.96,-133.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"136.64,-131.21 130.99,-136.41 133.32,-132.32 129.99,-133.42 129.99,-133.42 129.99,-133.42 133.32,-132.32 129,-130.43 136.64,-131.21 136.64,-131.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"100\" y=\"-149.88\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"842.6\" cy=\"-43.08\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"842.6\" cy=\"-43.08\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"842.6\" y=\"-39.38\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"939.07,-61.14 916.11,-43.08 939.07,-25.02 962.02,-43.08 939.07,-61.14\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"939.07,-66.24 909.63,-43.08 939.07,-19.92 968.5,-43.08 939.07,-66.24\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"939.07\" y=\"-39.38\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->6 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M865.04,-43.08C876.05,-43.08 889.76,-43.08 902.32,-43.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"909.55,-43.08 902.55,-46.23 906.05,-43.08 902.55,-43.08 902.55,-43.08 902.55,-43.08 906.05,-43.08 902.55,-39.93 909.55,-43.08 909.55,-43.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"882.6\" y=\"-46.88\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>6->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M922.3,-32.68C911.34,-26.69 896.29,-20.92 882.6,-24.08 877.87,-25.17 873.04,-26.92 868.47,-28.92\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"862,-32 866.98,-26.15 864.95,-30.04 868.11,-28.54 868.33,-28.99 868.54,-29.45 865.38,-30.95 869.68,-31.84 862,-32 862,-32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"882.6\" y=\"-27.88\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"271.34\" cy=\"-124.08\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"271.34\" cy=\"-124.08\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"266.84\" y=\"-120.38\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->7 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M292.12,-132.01C301.44,-135.94 312.61,-140.94 322.34,-146.08 330.62,-150.46 339.4,-155.75 347.07,-160.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"353.22,-164.57 345.63,-163.44 350.28,-162.68 347.34,-160.79 347.34,-160.79 347.34,-160.79 350.28,-162.68 349.04,-158.14 353.22,-164.57 353.22,-164.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"311.34\" y=\"-149.88\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"552.6,-41.14 529.65,-23.08 552.6,-5.02 575.56,-23.08 552.6,-41.14\"/>\n",
|
|
"<polygon fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"552.6,-46.24 523.17,-23.08 552.6,0.08 582.03,-23.08 552.6,-46.24\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"552.6\" y=\"-19.38\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->8 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M293.38,-121.24C323.34,-116.78 379.72,-106.87 425.27,-90.08 463.76,-75.89 505.19,-52.11 529.74,-37.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"535.9,-33.2 531.61,-39.57 532.92,-35.05 529.95,-36.89 529.95,-36.89 529.95,-36.89 532.92,-35.05 528.29,-34.22 535.9,-33.2 535.9,-33.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"417.77\" y=\"-96.88\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->4 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>7->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M349.18,-182.28C341,-184.94 331.33,-187.66 322.34,-189.08 224.74,-204.56 197.21,-206.84 100,-189.08 95.83,-188.32 91.51,-187.17 87.34,-185.84\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"80.49,-183.49 88.14,-182.79 83.97,-184.16 87.28,-185.29 87.11,-185.77 86.95,-186.24 83.64,-185.1 86.09,-188.75 80.49,-183.49 80.49,-183.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"219.34\" y=\"-205.88\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" cx=\"461.27\" cy=\"-175.08\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"461.27\" y=\"-171.38\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>7->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M399.61,-175.08C411.42,-175.08 424.95,-175.08 436.22,-175.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"443.26,-175.08 436.26,-178.23 439.76,-175.08 436.26,-175.08 436.26,-175.08 436.26,-175.08 439.76,-175.08 436.26,-171.93 443.26,-175.08 443.26,-175.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"417.27\" y=\"-178.88\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->0 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>8->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M576.39,-18.41C617.07,-10.95 704.6,1.18 775.6,-16.08 789.4,-19.44 804.09,-25.21 816.1,-30.56\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"822.47,-33.47 814.8,-33.43 819.08,-32.47 815.9,-31.01 816.11,-30.56 816.31,-30.11 819.5,-31.56 817.41,-27.69 822.47,-33.47 822.47,-33.47\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"686.94\" y=\"-11.88\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node14\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"648.94\" cy=\"-39.08\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"648.94\" y=\"-35.38\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->5 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>8->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M577.41,-27.12C591.63,-29.53 609.64,-32.59 623.91,-35.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"630.98,-36.21 623.55,-38.14 627.53,-35.62 624.08,-35.03 624.08,-35.03 624.08,-35.03 627.53,-35.62 624.61,-31.93 630.98,-36.21 630.98,-36.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"600.94\" y=\"-36.88\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>9</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"745.27,-193.08 722.31,-175.08 745.27,-157.08 768.23,-175.08 745.27,-193.08\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"745.27\" y=\"-171.38\" font-family=\"Lato\" font-size=\"14.00\">9</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->9 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>2->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M477.93,-182.75C483.84,-185.26 490.73,-187.76 497.27,-189.08 584.24,-206.7 609.27,-202.84 696.94,-189.08 705.36,-187.76 714.39,-185.35 722.28,-182.9\"/>\n",
|
|
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"729.15,-180.66 723.47,-185.82 725.98,-182.22 722.65,-183.3 722.5,-182.83 722.34,-182.35 725.67,-181.27 721.52,-179.83 729.15,-180.66 729.15,-180.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"601.44\" y=\"-204.88\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>10</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"552.6,-146.08 522.44,-128.08 552.6,-110.08 582.77,-128.08 552.6,-146.08\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"552.6\" y=\"-124.38\" font-family=\"Lato\" font-size=\"14.00\">10</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->10 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M474.72,-162.82C481.05,-157.11 489.13,-150.59 497.27,-146.08 505.5,-141.52 515.08,-137.87 523.88,-135.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"530.73,-133.03 524.92,-138.06 527.37,-134.04 524.02,-135.04 524.02,-135.04 524.02,-135.04 527.37,-134.04 523.12,-132.02 530.73,-133.03 530.73,-133.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"497.27\" y=\"-149.88\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->2 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>9->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M721.97,-175.08C669.9,-175.08 540.61,-175.08 486.59,-175.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"479.49,-175.08 486.49,-171.93 482.99,-175.08 486.49,-175.08 486.49,-175.08 486.49,-175.08 482.99,-175.08 486.49,-178.23 479.49,-175.08 479.49,-175.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"602.44\" y=\"-178.88\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node11\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" cx=\"648.94\" cy=\"-125.08\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"648.94\" y=\"-121.38\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->3 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>10->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M581.4,-127.2C594.75,-126.77 610.62,-126.27 623.51,-125.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"630.71,-125.63 623.81,-129 627.21,-125.74 623.71,-125.85 623.71,-125.85 623.71,-125.85 627.21,-125.74 623.61,-122.7 630.71,-125.63 630.71,-125.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"602.44\" y=\"-130.88\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->9 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M665.85,-131.58C675.07,-135.5 686.82,-140.75 696.94,-146.08 706.82,-151.29 717.45,-157.72 726.13,-163.21\"/>\n",
|
|
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"732.07,-167 724.47,-165.88 728.85,-165.54 725.9,-163.65 726.17,-163.23 726.44,-162.81 729.39,-164.69 727.86,-160.58 732.07,-167 732.07,-167\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"685.44\" y=\"-149.88\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11 -->\n",
|
|
"<g id=\"node12\" class=\"node\">\n",
|
|
"<title>11</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"745.27,-118.08 715.1,-100.08 745.27,-82.08 775.43,-100.08 745.27,-118.08\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"745.27\" y=\"-96.38\" font-family=\"Lato\" font-size=\"14.00\">11</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->11 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M664.84,-116.54C670.9,-113.42 678.08,-110.15 684.94,-108.08 693.18,-105.59 702.29,-103.88 710.86,-102.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"717.89,-101.82 711.33,-105.81 714.42,-102.25 710.95,-102.69 710.95,-102.69 710.95,-102.69 714.42,-102.25 710.56,-99.56 717.89,-101.82 717.89,-101.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"687.44\" y=\"-111.88\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->0 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>11->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M761.16,-91.17C776.09,-82.25 799.32,-68.36 816.99,-57.8\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"823.22,-54.07 818.83,-60.37 820.47,-56.3 817.47,-58.09 817.21,-57.66 816.95,-57.23 819.96,-55.44 815.59,-54.96 823.22,-54.07 823.22,-54.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"793.6\" y=\"-75.88\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->1 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>12->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M201.6,-124.08C214.98,-124.08 229.81,-124.08 242.26,-124.08\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"249.29,-124.08 242.29,-127.23 245.79,-124.58 242.29,-124.58 242.29,-124.08 242.29,-123.58 245.79,-123.58 242.29,-120.93 249.29,-124.08 249.29,-124.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"219.34\" y=\"-127.88\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->3 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>12->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M179.99,-111.2C199.83,-96.39 235.5,-74.08 270.34,-74.08 270.34,-74.08 270.34,-74.08 553.6,-74.08 582.88,-74.08 611.77,-93.32 629.72,-108.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"635.37,-112.99 628,-110.84 632.71,-110.72 630.05,-108.45 630.05,-108.45 630.05,-108.45 632.71,-110.72 632.09,-106.05 635.37,-112.99 635.37,-112.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"417.27\" y=\"-77.88\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13 -->\n",
|
|
"<g id=\"node15\" class=\"node\">\n",
|
|
"<title>13</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"745.27,-61.08 715.1,-43.08 745.27,-25.08 775.43,-43.08 745.27,-61.08\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"745.27\" y=\"-39.38\" font-family=\"Lato\" font-size=\"14.00\">13</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->13 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>5->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M666.54,-43.68C672.31,-45.06 678.87,-46.4 684.94,-47.08 694.25,-48.13 704.41,-47.93 713.65,-47.24\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"720.83,-46.6 714.15,-50.36 717.35,-46.91 713.86,-47.22 713.86,-47.22 713.86,-47.22 717.35,-46.91 713.58,-44.09 720.83,-46.6 720.83,-46.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"686.44\" y=\"-51.88\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13->0 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>13->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M775.65,-43.08C787.61,-43.08 801.38,-43.08 813.24,-43.08\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"820.34,-43.08 813.34,-46.23 816.84,-43.58 813.34,-43.58 813.34,-43.08 813.34,-42.58 816.84,-42.58 813.34,-39.93 820.34,-43.08 820.34,-43.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"794.1\" y=\"-46.88\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13->5 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>13->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M727.82,-35.24C716,-30.52 699.64,-25.83 684.94,-28.08 681,-28.68 676.9,-29.65 672.95,-30.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"666.07,-32.88 671.84,-27.81 669.42,-31.85 672.76,-30.82 672.76,-30.82 672.76,-30.82 669.42,-31.85 673.69,-33.83 666.07,-32.88 666.07,-32.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"684.94\" y=\"-31.88\" 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 0x7fb6a430f300> >"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"game = spot.automaton(\"ltlsynt --outs=b -f 'F(a & Xa) <-> Fb' --print-game-hoa |\")\n",
|
|
"spot.solve_game(game)\n",
|
|
"spot.highlight_strategy(game)\n",
|
|
"game"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d8b3ad5a-fef2-498b-8fd3-2d3940dacbf5",
|
|
"metadata": {},
|
|
"source": [
|
|
"The `solved_game_to_mealy()` shown in the paper does not always produce the same type of output, so it is\n",
|
|
"better to explicitely call `solved_game_to_split_mealy()` or `solved_game_to_separated_mealy()` depending on the type of output one need. We also show how to use the `reduce_mealy()` method to simplify one."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "39156f1a-945c-46db-bac2-01565d17b82e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"323pt\" height=\"98pt\"\n",
|
|
" viewBox=\"0.00 0.00 322.50 98.23\" 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 94.23)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-94.23 318.5,-94.23 318.5,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-31.23\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.53\" 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,-31.23C2.79,-31.23 17.15,-31.23 30.63,-31.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-31.23 30.94,-34.38 34.44,-31.23 30.94,-31.23 30.94,-31.23 30.94,-31.23 34.44,-31.23 30.94,-28.08 37.94,-31.23 37.94,-31.23\"/>\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,-48.27C48.32,-58.09 50.45,-67.23 56,-67.23 60.17,-67.23 62.4,-62.09 62.71,-55.38\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-48.27 65.85,-55.12 62.54,-51.77 62.71,-55.26 62.71,-55.26 62.71,-55.26 62.54,-51.77 59.56,-55.41 62.38,-48.27 62.38,-48.27\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"33,-68.73 33,-87.73 48,-87.73 48,-68.73 33,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"35\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"52\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"63,-68.73 63,-87.73 79,-87.73 79,-68.73 63,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"65\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"178\" cy=\"-31.23\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"178\" y=\"-27.53\" 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,-31.82C79.78,-31.99 86.16,-32.15 92,-32.23 114.22,-32.55 119.78,-32.55 142,-32.23 145.46,-32.18 149.12,-32.11 152.71,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"159.91,-31.82 153,-35.16 156.41,-31.92 152.91,-32.01 152.91,-32.01 152.91,-32.01 156.41,-31.92 152.83,-28.86 159.91,-31.82 159.91,-31.82\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"96,-33.73 96,-52.73 107,-52.73 107,-33.73 96,-33.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"98\" y=\"-39.53\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-39.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"122,-33.73 122,-52.73 138,-52.73 138,-33.73 122,-33.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"124\" y=\"-39.53\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M164.53,-18.89C158.3,-13.59 150.34,-7.99 142,-5.23 120.9,1.74 113.1,1.74 92,-5.23 86.01,-7.22 80.21,-10.66 75.11,-14.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"69.47,-18.89 73,-12.07 72.22,-16.71 74.96,-14.53 74.96,-14.53 74.96,-14.53 72.22,-16.71 76.92,-17 69.47,-18.89 69.47,-18.89\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"94,-6.73 94,-25.73 109,-25.73 109,-6.73 94,-6.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-12.53\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-12.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"124,-6.73 124,-25.73 140,-25.73 140,-6.73 124,-6.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126\" y=\"-12.53\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"292\" cy=\"-31.23\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"292\" y=\"-27.53\" 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=\"M196.01,-31.23C214.84,-31.23 245.35,-31.23 266.7,-31.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"273.83,-31.23 266.83,-34.38 270.33,-31.23 266.83,-31.23 266.83,-31.23 266.83,-31.23 270.33,-31.23 266.83,-28.08 273.83,-31.23 273.83,-31.23\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"216,-32.73 216,-51.73 227,-51.73 227,-32.73 216,-32.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"218\" y=\"-38.53\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"231\" y=\"-38.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"242,-32.73 242,-51.73 254,-51.73 254,-32.73 242,-32.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-38.53\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M282.43,-46.78C279.73,-57.14 282.92,-67.23 292,-67.23 298.95,-67.23 302.45,-61.32 302.5,-53.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"301.57,-46.78 305.6,-53.31 302.03,-50.25 302.48,-53.72 302.48,-53.72 302.48,-53.72 302.03,-50.25 299.35,-54.12 301.57,-46.78 301.57,-46.78\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"272,-68.73 272,-87.73 285,-87.73 285,-68.73 272,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"274\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"289\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"300,-68.73 300,-87.73 313,-87.73 313,-68.73 300,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"302\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"207pt\" height=\"98pt\"\n",
|
|
" viewBox=\"0.00 0.00 207.00 98.23\" 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 94.23)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-94.23 203,-94.23 203,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-31.23\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.53\" 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,-31.23C2.79,-31.23 17.15,-31.23 30.63,-31.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-31.23 30.94,-34.38 34.44,-31.23 30.94,-31.23 30.94,-31.23 30.94,-31.23 34.44,-31.23 30.94,-28.08 37.94,-31.23 37.94,-31.23\"/>\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,-48.27C48.32,-58.09 50.45,-67.23 56,-67.23 60.17,-67.23 62.4,-62.09 62.71,-55.38\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-48.27 65.85,-55.12 62.54,-51.77 62.71,-55.26 62.71,-55.26 62.71,-55.26 62.54,-51.77 59.56,-55.41 62.38,-48.27 62.38,-48.27\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"33,-68.73 33,-87.73 48,-87.73 48,-68.73 33,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"35\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"52\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"63,-68.73 63,-87.73 79,-87.73 79,-68.73 63,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"65\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"178\" cy=\"-31.23\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"178\" y=\"-27.53\" 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,-31.82C79.78,-31.99 86.16,-32.15 92,-32.23 114.22,-32.55 119.78,-32.55 142,-32.23 145.46,-32.18 149.12,-32.11 152.71,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"159.91,-31.82 153,-35.16 156.41,-31.92 152.91,-32.01 152.91,-32.01 152.91,-32.01 156.41,-31.92 152.83,-28.86 159.91,-31.82 159.91,-31.82\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"96,-33.73 96,-52.73 107,-52.73 107,-33.73 96,-33.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"98\" y=\"-39.53\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"111\" y=\"-39.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"122,-33.73 122,-52.73 138,-52.73 138,-33.73 122,-33.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"124\" y=\"-39.53\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M164.53,-18.89C158.3,-13.59 150.34,-7.99 142,-5.23 120.9,1.74 113.1,1.74 92,-5.23 86.01,-7.22 80.21,-10.66 75.11,-14.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"69.47,-18.89 73,-12.07 72.22,-16.71 74.96,-14.53 74.96,-14.53 74.96,-14.53 72.22,-16.71 76.92,-17 69.47,-18.89 69.47,-18.89\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"94,-6.73 94,-25.73 109,-25.73 109,-6.73 94,-6.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-12.53\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113\" y=\"-12.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"124,-6.73 124,-25.73 140,-25.73 140,-6.73 124,-6.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126\" y=\"-12.53\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M167.85,-46.4C164.77,-56.9 168.16,-67.23 178,-67.23 185.54,-67.23 189.29,-61.18 189.25,-53.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"188.15,-46.4 192.32,-52.85 188.68,-49.86 189.2,-53.32 189.2,-53.32 189.2,-53.32 188.68,-49.86 186.09,-53.79 188.15,-46.4 188.15,-46.4\"/>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"transparent\" points=\"159,-68.73 159,-87.73 170,-87.73 170,-68.73 159,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"161\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"<text text-anchor=\"start\" x=\"174\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">/</text>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"transparent\" points=\"185,-68.73 185,-87.73 197,-87.73 197,-68.73 185,-68.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-74.53\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"185pt\" height=\"280pt\"\n",
|
|
" viewBox=\"0.00 0.00 185.00 280.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 276)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-276 181,-276 181,4 -4,4\"/>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"#ffe6cc\" stroke=\"black\" points=\"65,-118 0,-118 0,-82 65,-82 65,-118\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"32.5\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0_out</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"62.5\" cy=\"-172\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"62.5\" y=\"-168.3\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->6 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>4->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M39.92,-118.3C43.43,-126.51 47.7,-136.48 51.58,-145.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"48.42,-147.04 55.58,-154.86 54.86,-144.29 48.42,-147.04\"/>\n",
|
|
"</g>\n",
|
|
"<!-- o0 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>o0</title>\n",
|
|
"<polygon fill=\"#ffe5f1\" stroke=\"black\" points=\"62.5,-226 96.1,-260.5 28.9,-260.5 62.5,-226\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"62.5\" y=\"-245.3\" font-family=\"Times,serif\" font-size=\"14.00\">b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->o0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>6->o0:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M62.5,-190.19C62.5,-197.72 62.5,-206.9 62.5,-215.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59,-216 62.5,-226 66,-216 59,-216\"/>\n",
|
|
"</g>\n",
|
|
"<!-- L0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>L0</title>\n",
|
|
"<polygon fill=\"#ffe6cc\" stroke=\"black\" points=\"177,-118 122,-118 122,-82 177,-82 177,-118\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"149.5\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0_in</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<polygon fill=\"#e9f4fb\" stroke=\"black\" points=\"121.5,-46 89.01,-11.5 153.99,-11.5 121.5,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"121.5\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M115.3,-39.45C105.2,-64.62 85.09,-114.71 72.81,-145.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"69.45,-144.28 68.98,-154.86 75.95,-146.89 69.45,-144.28\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2->L0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>2->L0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M127.44,-39.91C130.95,-49.32 135.5,-61.49 139.55,-72.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"136.31,-73.67 143.08,-81.81 142.86,-71.22 136.31,-73.67\"/>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"mealy = spot.solved_game_to_separated_mealy(game)\n",
|
|
"mealy_min = spot.reduce_mealy(mealy, True)\n",
|
|
"aig = spot.mealy_machine_to_aig(mealy_min, \"isop\")\n",
|
|
"display_inline(mealy, mealy_min, aig)"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.10.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|