spot/tests/python/alternation.ipynb
Alexandre Duret-Lutz 58e64e752c python: upgrade notebook format to v4
Fixes #311.

* tests/python/ipnbdoctest.py: Adjust to process the new format,
with a lot of inspiration from Vcsn's copy of this file.
* tests/python/_altscc.ipynb, tests/python/_aux.ipynb,
tests/python/acc_cond.ipynb, tests/python/accparse.ipynb,
tests/python/alternation.ipynb, tests/python/atva16-fig2a.ipynb,
tests/python/atva16-fig2b.ipynb, tests/python/automata-io.ipynb,
tests/python/automata.ipynb, tests/python/decompose.ipynb,
tests/python/formulas.ipynb, tests/python/gen.ipynb,
tests/python/highlighting.ipynb, tests/python/ltsmin-dve.ipynb,
tests/python/ltsmin-pml.ipynb, tests/python/parity.ipynb,
tests/python/piperead.ipynb, tests/python/product.ipynb,
tests/python/randaut.ipynb, tests/python/randltl.ipynb,
tests/python/stutter-inv.ipynb, tests/python/testingaut.ipynb,
tests/python/word.ipynb: Upgrade to the new format.
* NEWS: Mention the change.
2018-01-07 12:59:59 +01:00

1826 lines
138 KiB
Text

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import spot\n",
"spot.setup(show_default='.ba')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These test cases for the `remove_alternation()` algorithm."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<svg height=\"218pt\" viewBox=\"0.00 0.00 478.08 217.87\" width=\"478pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 213.87)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" points=\"-4,4 -4,-213.87 474.08,-213.87 474.08,4 -4,4\" stroke=\"none\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"212.54\" y=\"-195.67\">Fin(</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"237.54\" y=\"-195.67\">⓿</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"253.54\" y=\"-195.67\">)</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"202.54\" y=\"-181.67\">[co-Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
"<ellipse cx=\"56\" cy=\"-82.8701\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-79.1701\">0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge1\"><title>I-&gt;0</title>\n",
"<path d=\"M1.15491,-82.8701C2.79388,-82.8701 17.1543,-82.8701 30.6317,-82.8701\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"37.9419,-82.8701 30.9419,-86.0202 34.4419,-82.8701 30.9419,-82.8702 30.9419,-82.8702 30.9419,-82.8702 34.4419,-82.8701 30.9418,-79.7202 37.9419,-82.8701 37.9419,-82.8701\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g class=\"node\" id=\"node3\"><title>-1</title>\n",
"<ellipse cx=\"120.8\" cy=\"-82.8701\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;&#45;1 -->\n",
"<g class=\"edge\" id=\"edge2\"><title>0-&gt;-1</title>\n",
"<path d=\"M74.1604,-82.8701C86.2355,-82.8701 101.875,-82.8701 111.357,-82.8701\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"111.602,-85.3202 118.602,-82.8701 111.602,-80.4202 111.602,-85.3202\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-86.6701\">1</text>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g class=\"node\" id=\"node4\"><title>1</title>\n",
"<ellipse cx=\"186.47\" cy=\"-122.87\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"181.97\" y=\"-119.17\">1</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge3\"><title>-1-&gt;1</title>\n",
"<path d=\"M122.905,-83.5643C127.862,-86.6782 148.509,-99.6497 164.747,-109.851\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"170.933,-113.737 163.33,-112.681 167.969,-111.875 165.005,-110.013 165.005,-110.013 165.005,-110.013 167.969,-111.875 166.681,-107.346 170.933,-113.737 170.933,-113.737\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g class=\"node\" id=\"node5\"><title>3</title>\n",
"<ellipse cx=\"186.47\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"181.97\" y=\"-30.6701\">3</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"178.47\" y=\"-15.6701\">⓿</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge4\"><title>-1-&gt;3</title>\n",
"<path d=\"M122.515,-82.2412C126.32,-78.8944 144.614,-62.8039 160.509,-48.8246\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"165.782,-44.1862 162.606,-51.1745 163.154,-46.4977 160.526,-48.8092 160.526,-48.8092 160.526,-48.8092 163.154,-46.4977 158.446,-46.4439 165.782,-44.1862 165.782,-44.1862\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge5\"><title>1-&gt;1</title>\n",
"<path d=\"M178.802,-139.16C176.953,-149.259 179.509,-158.87 186.47,-158.87 191.691,-158.87 194.434,-153.464 194.699,-146.5\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"194.138,-139.16 197.812,-145.9 194.405,-142.65 194.671,-146.14 194.671,-146.14 194.671,-146.14 194.405,-142.65 191.53,-146.38 194.138,-139.16 194.138,-139.16\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"181.97\" y=\"-162.67\">b</text>\n",
"</g>\n",
"<!-- &#45;4 -->\n",
"<g class=\"node\" id=\"node6\"><title>-4</title>\n",
"<ellipse cx=\"280.34\" cy=\"-111.87\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;4 -->\n",
"<g class=\"edge\" id=\"edge6\"><title>1-&gt;-4</title>\n",
"<path d=\"M204.75,-120.801C224.684,-118.414 256.603,-114.592 271.37,-112.824\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"271.836,-115.236 278.495,-111.971 271.253,-110.371 271.836,-115.236\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"231.34\" y=\"-120.67\">!b</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge12\"><title>3-&gt;3</title>\n",
"<path d=\"M178.27,-52.6914C177.807,-63.0476 180.54,-71.7401 186.47,-71.7401 190.917,-71.7401 193.567,-66.8506 194.418,-60.0368\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"194.67,-52.6914 197.578,-59.7953 194.55,-56.1893 194.43,-59.6873 194.43,-59.6873 194.43,-59.6873 194.55,-56.1893 191.282,-59.5793 194.67,-52.6914 194.67,-52.6914\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"181.97\" y=\"-75.5401\">1</text>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g class=\"node\" id=\"node9\"><title>4</title>\n",
"<ellipse cx=\"280.34\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"280.34\" y=\"-23.1701\">4</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;4 -->\n",
"<g class=\"edge\" id=\"edge11\"><title>3-&gt;4</title>\n",
"<path d=\"M213.551,-26.8701C226.588,-26.8701 242.268,-26.8701 255.049,-26.8701\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"262.198,-26.8701 255.198,-30.0202 258.698,-26.8701 255.198,-26.8702 255.198,-26.8702 255.198,-26.8702 258.698,-26.8701 255.198,-23.7202 262.198,-26.8701 262.198,-26.8701\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"234.34\" y=\"-30.6701\">a</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge7\"><title>-4-&gt;1</title>\n",
"<path d=\"M278.146,-111.763C272.722,-111.298 249.866,-109.583 231.34,-111.87 224.587,-112.704 217.379,-114.233 210.798,-115.892\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"203.954,-117.717 209.907,-112.87 207.336,-116.815 210.718,-115.914 210.718,-115.914 210.718,-115.914 207.336,-116.815 211.529,-118.957 203.954,-117.717 203.954,-117.717\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g class=\"node\" id=\"node7\"><title>2</title>\n",
"<ellipse cx=\"362.21\" cy=\"-111.87\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"357.71\" y=\"-115.67\">2</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"354.21\" y=\"-100.67\">⓿</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge8\"><title>-4-&gt;2</title>\n",
"<path d=\"M282.237,-111.87C286.877,-111.87 308.694,-111.87 328.223,-111.87\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"335.279,-111.87 328.279,-115.02 331.779,-111.87 328.279,-111.87 328.279,-111.87 328.279,-111.87 331.779,-111.87 328.279,-108.72 335.279,-111.87 335.279,-111.87\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge10\"><title>2-&gt;2</title>\n",
"<path d=\"M354.011,-137.691C353.547,-148.048 356.28,-156.74 362.21,-156.74 366.657,-156.74 369.307,-151.851 370.158,-145.037\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"370.41,-137.691 373.318,-144.795 370.29,-141.189 370.17,-144.687 370.17,-144.687 370.17,-144.687 370.29,-141.189 367.022,-144.579 370.41,-137.691 370.41,-137.691\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"355.71\" y=\"-160.54\">!b</text>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g class=\"node\" id=\"node8\"><title>5</title>\n",
"<ellipse cx=\"452.08\" cy=\"-111.87\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"452.08\" y=\"-108.17\">5</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;5 -->\n",
"<g class=\"edge\" id=\"edge9\"><title>2-&gt;5</title>\n",
"<path d=\"M389.099,-111.87C400.976,-111.87 414.982,-111.87 426.673,-111.87\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"433.975,-111.87 426.975,-115.02 430.475,-111.87 426.975,-111.87 426.975,-111.87 426.975,-111.87 430.475,-111.87 426.975,-108.72 433.975,-111.87 433.975,-111.87\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"407.08\" y=\"-115.67\">b</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;5 -->\n",
"<g class=\"edge\" id=\"edge14\"><title>5-&gt;5</title>\n",
"<path d=\"M445.049,-128.534C443.486,-138.495 445.83,-147.87 452.08,-147.87 456.768,-147.87 459.258,-142.597 459.551,-135.758\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"459.111,-128.534 462.681,-135.33 459.324,-132.028 459.537,-135.521 459.537,-135.521 459.537,-135.521 459.324,-132.028 456.392,-135.713 459.111,-128.534 459.111,-128.534\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"447.58\" y=\"-151.67\">1</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;4 -->\n",
"<g class=\"edge\" id=\"edge13\"><title>4-&gt;4</title>\n",
"<path d=\"M273.961,-43.9074C272.659,-53.728 274.785,-62.8701 280.34,-62.8701 284.506,-62.8701 286.744,-57.7276 287.053,-51.0134\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"286.719,-43.9074 290.194,-50.7519 286.884,-47.4035 287.048,-50.8997 287.048,-50.8997 287.048,-50.8997 286.884,-47.4035 283.901,-51.0474 286.719,-43.9074 286.719,-43.9074\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"276.84\" y=\"-66.6701\">a</text>\n",
"</g>\n",
"</g>\n",
"</svg>"
],
"text/plain": [
"<IPython.core.display.SVG object>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aut = spot.automaton('''\n",
"HOA: v1\n",
"tool: \"ltl3ba\" \"1.1.3\"\n",
"name: \"VWAA for FGa && GFb\"\n",
"States: 6\n",
"Start: 0\n",
"acc-name: co-Buchi\n",
"Acceptance: 1 Fin(0)\n",
"AP: 2 \"a\" \"b\"\n",
"properties: trans-labels explicit-labels state-acc univ-branch very-weak\n",
"--BODY--\n",
"State: 0 \"(FG(a) && GF(b))\"\n",
" [t] 3&1\n",
"State: 1 \"GF(b)\"\n",
" [(1)] 1\n",
" [(!1)] 2&1\n",
"State: 2 \"F(b)\" {0}\n",
" [(1)] 5\n",
" [(!1)] 2\n",
"State: 3 \"FG(a)\" {0}\n",
" [(0)] 4\n",
" [t] 3\n",
"State: 4 \"G(a)\"\n",
" [(0)] 4\n",
"State: 5 \"t\"\n",
" [t] 5\n",
"--END--\n",
"'''); aut.show('.1ab')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"596pt\" height=\"212pt\"\n",
" viewBox=\"0.00 0.00 596.19 212.09\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 208.086)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-208.086 592.189,-208.086 592.189,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"247.095\" y=\"-189.886\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"269.095\" y=\"-189.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"285.095\" y=\"-189.886\" font-family=\"Lato\" font-size=\"14.00\">)&amp;Inf(</text>\n",
"<text text-anchor=\"start\" x=\"321.095\" y=\"-189.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"<text text-anchor=\"start\" x=\"337.095\" y=\"-189.886\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"250.095\" y=\"-175.886\" font-family=\"Lato\" font-size=\"14.00\">[gen. Büchi 2]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"65\" cy=\"-43.0864\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"65\" y=\"-39.3864\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04566,-43.0864C1.94863,-43.0864 16.101,-43.0864 30.7579,-43.0864\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9378,-43.0864 30.9378,-46.2365 34.4378,-43.0865 30.9378,-43.0865 30.9378,-43.0865 30.9378,-43.0865 34.4378,-43.0865 30.9378,-39.9365 37.9378,-43.0864 37.9378,-43.0864\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"187\" cy=\"-43.0864\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"187\" y=\"-39.3864\" font-family=\"Lato\" font-size=\"14.00\">1,3</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M92.0382,-43.0864C109.764,-43.0864 133.386,-43.0864 152.51,-43.0864\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"159.598,-43.0864 152.598,-46.2365 156.098,-43.0865 152.598,-43.0865 152.598,-43.0865 152.598,-43.0865 156.098,-43.0865 152.598,-39.9365 159.598,-43.0864 159.598,-43.0864\"/>\n",
"<text text-anchor=\"start\" x=\"121.5\" y=\"-60.8864\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<text text-anchor=\"start\" x=\"110\" y=\"-46.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"126\" y=\"-46.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M177.786,-60.1238C175.905,-69.9444 178.977,-79.0864 187,-79.0864 193.018,-79.0864 196.25,-73.944 196.696,-67.2297\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"196.214,-60.1238 199.831,-66.8946 196.451,-63.6157 196.688,-67.1077 196.688,-67.1077 196.688,-67.1077 196.451,-63.6157 193.545,-67.3209 196.214,-60.1238 196.214,-60.1238\"/>\n",
"<text text-anchor=\"start\" x=\"182.5\" y=\"-97.8864\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<text text-anchor=\"start\" x=\"179\" y=\"-82.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"427.095\" cy=\"-104.086\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"427.095\" y=\"-100.386\" font-family=\"Lato\" font-size=\"14.00\">1,4</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M201.103,-58.72C209.137,-67.2645 220.137,-77.2645 232,-83.0864 283.846,-108.531 352.663,-109.407 392.891,-107.148\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"400.059,-106.695 393.271,-110.28 396.566,-106.916 393.073,-107.137 393.073,-107.137 393.073,-107.137 396.566,-106.916 392.874,-103.993 400.059,-106.695 400.059,-106.695\"/>\n",
"<text text-anchor=\"start\" x=\"279.547\" y=\"-123.886\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"<text text-anchor=\"start\" x=\"280.547\" y=\"-109.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"296.547\" y=\"-109.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"296.547\" cy=\"-29.0864\" rx=\"30.5947\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"296.547\" y=\"-25.3864\" font-family=\"Lato\" font-size=\"14.00\">1,2,3</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;3 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M212.976,-48.1914C223.813,-49.6298 236.606,-50.2786 248,-48.0864 253.898,-46.9517 259.994,-45.0925 265.774,-42.9703\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"272.382,-40.3859 267.01,-45.8692 269.122,-41.6607 265.863,-42.9356 265.863,-42.9356 265.863,-42.9356 269.122,-41.6607 264.715,-40.002 272.382,-40.3859 272.382,-40.3859\"/>\n",
"<text text-anchor=\"start\" x=\"233.5\" y=\"-67.8864\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
"<text text-anchor=\"start\" x=\"232\" y=\"-52.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g id=\"node6\" class=\"node\"><title>4</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"557.642\" cy=\"-45.0864\" rx=\"30.5947\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"557.642\" y=\"-41.3864\" font-family=\"Lato\" font-size=\"14.00\">1,2,4</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;4 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M203.146,-28.5878C211.146,-21.6935 221.472,-13.9206 232,-9.08645 246.021,-2.6484 250.662,-3.74704 266,-2.08645 300.952,1.69756 309.939,-1.30867 345.095,-1.08645 361.539,-0.982499 365.775,0.938761 382.095,-1.08645 432.33,-7.32058 488.874,-23.2809 523.631,-34.1635\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"530.708,-36.4033 523.083,-37.294 527.371,-35.3471 524.034,-34.2908 524.034,-34.2908 524.034,-34.2908 527.371,-35.3471 524.985,-31.2877 530.708,-36.4033 530.708,-36.4033\"/>\n",
"<text text-anchor=\"start\" x=\"345.095\" y=\"-18.8864\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"347.595\" y=\"-4.88645\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"363.595\" y=\"-4.88645\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>2&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M416.196,-120.751C413.774,-130.711 417.407,-140.086 427.095,-140.086 434.36,-140.086 438.22,-134.813 438.674,-127.974\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"437.993,-120.751 441.786,-127.424 438.322,-124.235 438.65,-127.72 438.65,-127.72 438.65,-127.72 438.322,-124.235 435.514,-128.015 437.993,-120.751 437.993,-120.751\"/>\n",
"<text text-anchor=\"start\" x=\"410.095\" y=\"-157.886\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"<text text-anchor=\"start\" x=\"411.095\" y=\"-143.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"427.095\" y=\"-143.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;4 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>2&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M454.121,-103.862C470.635,-102.789 492.028,-99.6275 509.095,-91.0864 520.663,-85.2974 531.255,-75.6988 539.491,-66.7631\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"544.302,-61.325 542.023,-68.6549 541.983,-63.9463 539.664,-66.5677 539.664,-66.5677 539.664,-66.5677 541.983,-63.9463 537.304,-64.4804 544.302,-61.325 544.302,-61.325\"/>\n",
"<text text-anchor=\"start\" x=\"472.095\" y=\"-118.886\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"474.595\" y=\"-104.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"490.595\" y=\"-104.886\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;1 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>3&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M272.429,-17.7941C260.3,-13.3342 245.247,-10.1137 232,-14.0864 224.351,-16.3803 216.804,-20.481 210.177,-24.8899\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"204.374,-28.9825 208.279,-22.3739 207.234,-26.9653 210.094,-24.9481 210.094,-24.9481 210.094,-24.9481 207.234,-26.9653 211.91,-27.5224 204.374,-28.9825 204.374,-28.9825\"/>\n",
"<text text-anchor=\"start\" x=\"235.5\" y=\"-32.8864\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"<text text-anchor=\"start\" x=\"232\" y=\"-17.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;2 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>3&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M320.53,-40.4588C337.75,-49.185 361.746,-61.7846 382.095,-74.0864 388.622,-78.0326 395.512,-82.551 401.853,-86.863\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"407.977,-91.0773 400.425,-89.704 405.094,-89.0932 402.21,-87.109 402.21,-87.109 402.21,-87.109 405.094,-89.0932 403.996,-84.5141 407.977,-91.0773 407.977,-91.0773\"/>\n",
"<text text-anchor=\"start\" x=\"346.595\" y=\"-91.8864\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"<text text-anchor=\"start\" x=\"347.595\" y=\"-77.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"363.595\" y=\"-77.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;3 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>3&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M286.624,-46.1238C284.599,-55.9444 287.907,-65.0864 296.547,-65.0864 303.028,-65.0864 306.508,-59.944 306.989,-53.2297\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"306.471,-46.1238 310.122,-52.8757 306.725,-49.6145 306.98,-53.1052 306.98,-53.1052 306.98,-53.1052 306.725,-49.6145 303.839,-53.3346 306.471,-46.1238 306.471,-46.1238\"/>\n",
"<text text-anchor=\"start\" x=\"290.047\" y=\"-68.8864\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;4 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>3&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M327.016,-30.9063C374.646,-33.8476 468.425,-39.6387 520.185,-42.8351\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"527.2,-43.2683 520.019,-45.9808 523.707,-43.0525 520.214,-42.8368 520.214,-42.8368 520.214,-42.8368 523.707,-43.0525 520.408,-39.6928 527.2,-43.2683 527.2,-43.2683\"/>\n",
"<text text-anchor=\"start\" x=\"408.595\" y=\"-57.8864\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"419.095\" y=\"-42.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;2 -->\n",
"<g id=\"edge13\" class=\"edge\"><title>4&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M527.035,-45.4862C510.12,-46.7861 488.983,-50.2861 472.095,-59.0864 461.545,-64.5837 452.01,-73.5444 444.535,-82.0283\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"439.702,-87.7772 441.795,-80.392 441.954,-85.0981 444.207,-82.419 444.207,-82.419 444.207,-82.419 441.954,-85.0981 446.618,-84.4461 439.702,-87.7772 439.702,-87.7772\"/>\n",
"<text text-anchor=\"start\" x=\"473.595\" y=\"-76.8864\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"<text text-anchor=\"start\" x=\"474.595\" y=\"-62.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"490.595\" y=\"-62.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;4 -->\n",
"<g id=\"edge14\" class=\"edge\"><title>4&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M546.04,-61.7505C543.462,-71.7114 547.329,-81.0864 557.642,-81.0864 565.376,-81.0864 569.485,-75.813 569.969,-68.974\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"569.243,-61.7505 573.077,-68.4009 569.593,-65.233 569.943,-68.7155 569.943,-68.7155 569.943,-68.7155 569.593,-65.233 566.808,-69.0302 569.243,-61.7505 569.243,-61.7505\"/>\n",
"<text text-anchor=\"start\" x=\"539.142\" y=\"-99.8864\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"549.642\" y=\"-84.8864\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fc7e0> >"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aut2 = spot.remove_alternation(aut, True); aut2"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"570pt\" height=\"214pt\"\n",
" viewBox=\"0.00 0.00 570.19 214.36\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 210.36)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-210.36 566.189,-210.36 566.189,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"260.095\" y=\"-192.16\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"282.095\" y=\"-192.16\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"298.095\" y=\"-192.16\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"258.095\" y=\"-178.16\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"65\" cy=\"-44.3597\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"65\" y=\"-40.6597\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04566,-44.3597C1.94863,-44.3597 16.101,-44.3597 30.7579,-44.3597\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9378,-44.3597 30.9378,-47.5098 34.4378,-44.3598 30.9378,-44.3598 30.9378,-44.3598 30.9378,-44.3598 34.4378,-44.3598 30.9378,-41.2098 37.9378,-44.3597 37.9378,-44.3597\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-44.3597\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"164\" y=\"-40.6597\" font-family=\"Lato\" font-size=\"14.00\">1,3</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M92.2496,-44.3597C103.788,-44.3597 117.47,-44.3597 129.714,-44.3597\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"136.729,-44.3597 129.729,-47.5098 133.229,-44.3598 129.729,-44.3598 129.729,-44.3598 129.729,-44.3598 133.229,-44.3598 129.729,-41.2098 136.729,-44.3597 136.729,-44.3597\"/>\n",
"<text text-anchor=\"middle\" x=\"114.5\" y=\"-48.1597\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M155.431,-61.7696C153.831,-71.4476 156.687,-80.3597 164,-80.3597 169.37,-80.3597 172.337,-75.5534 172.901,-69.167\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"172.569,-61.7696 176.03,-68.6215 172.726,-65.2661 172.883,-68.7626 172.883,-68.7626 172.883,-68.7626 172.726,-65.2661 169.736,-68.9036 172.569,-61.7696 172.569,-61.7696\"/>\n",
"<text text-anchor=\"start\" x=\"159.5\" y=\"-84.1597\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"401.095\" cy=\"-104.36\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"401.095\" y=\"-100.66\" font-family=\"Lato\" font-size=\"14.00\">1,4</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M181.326,-58.2316C195.742,-69.5987 217.857,-84.9709 240,-92.3597 282.155,-106.426 333.901,-107.626 366.939,-106.529\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"374.102,-106.246 367.232,-109.67 370.605,-106.384 367.108,-106.523 367.108,-106.523 367.108,-106.523 370.605,-106.384 366.983,-103.375 374.102,-106.246 374.102,-106.246\"/>\n",
"<text text-anchor=\"start\" x=\"253.547\" y=\"-108.16\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"270.547\" cy=\"-32.3597\" rx=\"30.5947\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"270.547\" y=\"-28.6597\" font-family=\"Lato\" font-size=\"14.00\">1,2,3</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;3 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M191.17,-43.7207C200.877,-43.2897 211.965,-42.568 222,-41.3597 226.061,-40.8707 230.297,-40.2422 234.495,-39.5449\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"241.486,-38.319 235.135,-42.6309 238.038,-38.9236 234.591,-39.5282 234.591,-39.5282 234.591,-39.5282 238.038,-38.9236 234.047,-36.4256 241.486,-38.319 241.486,-38.319\"/>\n",
"<text text-anchor=\"start\" x=\"209\" y=\"-47.1597\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g id=\"node6\" class=\"node\"><title>4</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"531.642\" cy=\"-48.3597\" rx=\"30.5947\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"531.642\" y=\"-44.6597\" font-family=\"Lato\" font-size=\"14.00\">1,2,4</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;4 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M182.678,-31.3241C197.211,-21.5924 218.793,-9.32107 240,-5.35972 333.333,12.0744 444.601,-18.579 498.376,-36.6067\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"505.265,-38.9531 497.623,-39.6779 501.952,-37.8246 498.639,-36.6961 498.639,-36.6961 498.639,-36.6961 501.952,-37.8246 499.655,-33.7143 505.265,-38.9531 505.265,-38.9531\"/>\n",
"<text text-anchor=\"start\" x=\"319.095\" y=\"-7.15972\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>2&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M390.196,-121.024C387.774,-130.985 391.407,-140.36 401.095,-140.36 408.36,-140.36 412.22,-135.086 412.674,-128.247\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"411.993,-121.024 415.786,-127.697 412.322,-124.508 412.65,-127.993 412.65,-127.993 412.65,-127.993 412.322,-124.508 409.514,-128.289 411.993,-121.024 411.993,-121.024\"/>\n",
"<text text-anchor=\"start\" x=\"384.095\" y=\"-159.16\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"<text text-anchor=\"start\" x=\"393.095\" y=\"-144.16\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;4 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>2&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M428.1,-106.186C444.606,-106.309 465.997,-104.499 483.095,-96.3597 495.312,-90.5437 506.174,-80.2225 514.42,-70.6373\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"518.964,-65.1183 516.947,-72.5246 516.74,-67.8204 514.515,-70.5224 514.515,-70.5224 514.515,-70.5224 516.74,-67.8204 512.083,-68.5202 518.964,-65.1183 518.964,-65.1183\"/>\n",
"<text text-anchor=\"start\" x=\"446.095\" y=\"-124.16\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"456.595\" y=\"-109.16\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;1 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>3&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M243.763,-23.6154C232.957,-21.1085 220.302,-19.6916 209,-22.3597 202.906,-23.7983 196.694,-26.2171 190.931,-28.9369\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"184.407,-32.2271 189.239,-26.2626 187.532,-30.6512 190.657,-29.0752 190.657,-29.0752 190.657,-29.0752 187.532,-30.6512 192.075,-31.8878 184.407,-32.2271 184.407,-32.2271\"/>\n",
"<text text-anchor=\"start\" x=\"211\" y=\"-26.1597\" font-family=\"Lato\" font-size=\"14.00\">b</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;2 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>3&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M293.354,-44.5735C315.484,-56.969 349.773,-76.1744 373.489,-89.4577\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"379.879,-93.0367 372.232,-92.3642 376.825,-91.3263 373.771,-89.6159 373.771,-89.6159 373.771,-89.6159 376.825,-91.3263 375.311,-86.8677 379.879,-93.0367 379.879,-93.0367\"/>\n",
"<text text-anchor=\"start\" x=\"320.595\" y=\"-82.1597\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;3 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>3&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M260.907,-49.7696C259.107,-59.4476 262.321,-68.3597 270.547,-68.3597 276.589,-68.3597 279.926,-63.5534 280.561,-57.167\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"280.188,-49.7696 283.686,-56.6021 280.364,-53.2652 280.54,-56.7607 280.54,-56.7607 280.54,-56.7607 280.364,-53.2652 277.394,-56.9194 280.188,-49.7696 280.188,-49.7696\"/>\n",
"<text text-anchor=\"start\" x=\"264.047\" y=\"-72.1597\" font-family=\"Lato\" font-size=\"14.00\">!b</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;4 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>3&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M301.016,-34.1795C348.646,-37.1209 442.425,-42.912 494.185,-46.1084\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"501.2,-46.5416 494.019,-49.2541 497.707,-46.3258 494.214,-46.11 494.214,-46.11 494.214,-46.11 497.707,-46.3258 494.408,-42.966 501.2,-46.5416 501.2,-46.5416\"/>\n",
"<text text-anchor=\"start\" x=\"382.595\" y=\"-46.1597\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;2 -->\n",
"<g id=\"edge13\" class=\"edge\"><title>4&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M500.75,-49.0114C483.939,-50.4069 463,-53.9183 446.095,-62.3597 436.115,-67.3429 426.88,-75.3639 419.474,-83.0676\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"414.653,-88.3091 417.074,-81.0247 417.022,-85.7332 419.392,-83.1573 419.392,-83.1573 419.392,-83.1573 417.022,-85.7332 421.71,-85.2899 414.653,-88.3091 414.653,-88.3091\"/>\n",
"<text text-anchor=\"start\" x=\"447.595\" y=\"-81.1597\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b</text>\n",
"<text text-anchor=\"start\" x=\"456.595\" y=\"-66.1597\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;4 -->\n",
"<g id=\"edge14\" class=\"edge\"><title>4&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M520.04,-65.0238C517.462,-74.9847 521.329,-84.3597 531.642,-84.3597 539.376,-84.3597 543.485,-79.0863 543.969,-72.2473\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"543.243,-65.0238 547.077,-71.6741 543.593,-68.5063 543.943,-71.9888 543.943,-71.9888 543.943,-71.9888 543.593,-68.5063 540.808,-72.3034 543.243,-65.0238 543.243,-65.0238\"/>\n",
"<text text-anchor=\"start\" x=\"513.142\" y=\"-88.1597\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fc1e0> >"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spot.scc_filter(aut2, True)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<svg height=\"180pt\" viewBox=\"0.00 0.00 385.48 180.23\" width=\"385pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 176.23)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" points=\"-4,4 -4,-176.23 381.48,-176.23 381.48,4 -4,4\" stroke=\"none\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"166.24\" y=\"-158.03\">Fin(</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"191.24\" y=\"-158.03\">⓿</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"207.24\" y=\"-158.03\">)</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"156.24\" y=\"-144.03\">[co-Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
"<ellipse cx=\"64.8701\" cy=\"-68\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"60.3701\" y=\"-71.8\">0</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"56.8701\" y=\"-56.8\">⓿</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge1\"><title>I-&gt;0</title>\n",
"<path d=\"M1.04557,-68C1.94668,-68 16.0699,-68 30.6965,-68\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"37.8616,-68 30.8617,-71.1501 34.3616,-68 30.8616,-68.0001 30.8616,-68.0001 30.8616,-68.0001 34.3616,-68 30.8616,-64.8501 37.8616,-68 37.8616,-68\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
"<ellipse cx=\"218.61\" cy=\"-63\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"214.11\" y=\"-66.8\">1</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"210.61\" y=\"-51.8\">⓿</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge2\"><title>0-&gt;1</title>\n",
"<path d=\"M89.4817,-56.3538C95.8999,-53.7356 102.955,-51.3378 109.74,-50 137.647,-44.4974 145.59,-45.9169 173.74,-50 177.769,-50.5844 181.943,-51.4558 186.043,-52.4759\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"192.833,-54.3086 185.254,-55.5257 189.454,-53.3966 186.075,-52.4845 186.075,-52.4845 186.075,-52.4845 189.454,-53.3966 186.896,-49.4433 192.833,-54.3086 192.833,-54.3086\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"138.24\" y=\"-53.8\">a</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g class=\"node\" id=\"node4\"><title>2</title>\n",
"<ellipse cx=\"359.48\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"359.48\" y=\"-14.3\">2</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge3\"><title>0-&gt;2</title>\n",
"<path d=\"M88.0042,-54.2326C112.349,-40.0498 153.154,-19.0502 191.74,-12 241.809,-2.85175 301.698,-9.08831 334.339,-13.9001\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"341.262,-14.9601 333.866,-17.0142 337.802,-14.4303 334.342,-13.9005 334.342,-13.9005 334.342,-13.9005 337.802,-14.4303 334.819,-10.7868 341.262,-14.9601 341.262,-14.9601\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"213.11\" y=\"-15.8\">!a</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge9\"><title>1-&gt;0</title>\n",
"<path d=\"M191.632,-64.2607C185.75,-64.5249 179.531,-64.7875 173.74,-65 148.786,-65.9157 120.576,-66.6911 99.2648,-67.2241\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"92.031,-67.4023 98.9513,-64.0808 95.53,-67.3161 99.0289,-67.2298 99.0289,-67.2298 99.0289,-67.2298 95.53,-67.3161 99.1065,-70.3789 92.031,-67.4023 92.031,-67.4023\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"109.74\" y=\"-70.8\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge7\"><title>1-&gt;1</title>\n",
"<path d=\"M205.074,-86.5464C203.403,-97.8722 207.915,-107.87 218.61,-107.87 226.966,-107.87 231.548,-101.768 232.355,-93.6976\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"232.146,-86.5464 235.5,-93.4513 232.249,-90.0449 232.351,-93.5434 232.351,-93.5434 232.351,-93.5434 232.249,-90.0449 229.202,-93.6355 232.146,-86.5464 232.146,-86.5464\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"199.11\" y=\"-111.67\">!b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge8\"><title>1-&gt;2</title>\n",
"<path d=\"M243.502,-51.9247C249.918,-49.1516 256.903,-46.3114 263.48,-44 287.37,-35.6052 315.408,-28.2227 334.803,-23.4902\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"341.786,-21.8097 335.718,-26.5102 338.383,-22.6286 334.981,-23.4476 334.981,-23.4476 334.981,-23.4476 338.383,-22.6286 334.243,-20.385 341.786,-21.8097 341.786,-21.8097\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"272.98\" y=\"-47.8\">!a &amp; !b</text>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g class=\"node\" id=\"node5\"><title>-1</title>\n",
"<ellipse cx=\"359.48\" cy=\"-104\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;1 -->\n",
"<g class=\"edge\" id=\"edge4\"><title>1-&gt;-1</title>\n",
"<path d=\"M245.842,-61.9712C267.498,-62.0578 298.604,-64.3807 323.48,-75 335.419,-80.0965 346.466,-90.6175 352.838,-97.4873\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"351.282,-99.4292 357.738,-103.079 354.968,-96.1998 351.282,-99.4292\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"263.48\" y=\"-78.8\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge10\"><title>2-&gt;2</title>\n",
"<path d=\"M348.568,-32.4167C344.757,-43.166 348.394,-54 359.48,-54 368.141,-54 372.256,-47.3875 371.825,-39.3688\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"370.393,-32.4167 374.89,-38.6375 371.099,-35.8447 371.805,-39.2728 371.805,-39.2728 371.805,-39.2728 371.099,-35.8447 368.72,-39.9082 370.393,-32.4167 370.393,-32.4167\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"359.48\" y=\"-57.8\">1</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge5\"><title>-1-&gt;0</title>\n",
"<path d=\"M357.41,-104.507C346.853,-109.443 260.248,-148.417 191.74,-132 155.477,-123.31 117.869,-102.352 93.3175,-86.7725\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"87.3656,-82.9382 94.9562,-84.0811 90.3079,-84.8337 93.2502,-86.7292 93.2502,-86.7292 93.2502,-86.7292 90.3079,-84.8337 91.5443,-89.3773 87.3656,-82.9382 87.3656,-82.9382\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge6\"><title>-1-&gt;1</title>\n",
"<path d=\"M357.508,-104.003C349.993,-104 300.452,-103.454 263.48,-90 257.923,-87.9777 252.31,-85.1987 247.04,-82.1889\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"241.036,-78.581 248.658,-79.4863 244.036,-80.3837 247.036,-82.1864 247.036,-82.1864 247.036,-82.1864 244.036,-80.3837 245.413,-84.8864 241.036,-78.581 241.036,-78.581\" stroke=\"black\"/>\n",
"</g>\n",
"</g>\n",
"</svg>"
],
"text/plain": [
"<IPython.core.display.SVG object>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Example from ADL's PSL2TGBA talk.\n",
"aut = spot.automaton('''\n",
"HOA: v1\n",
"States: 3\n",
"Start: 0\n",
"acc-name: co-Buchi\n",
"Acceptance: 1 Fin(0)\n",
"AP: 3 \"a\" \"b\" \"p\"\n",
"--BODY--\n",
"State: 0 \"(a;a*;b)*\" {0}\n",
" [0] 1\n",
" [!0] 2\n",
"State: 1 \"a*;b;(a;a*;b)*\" {0}\n",
" [0&1&2] 0&1\n",
" [!1&2] 1\n",
" [!0&!1] 2\n",
" [!0&1&2] 0\n",
"State: 2\n",
" [t] 2\n",
"--END--\n",
"'''); aut.show('.1ab')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"564pt\" height=\"195pt\"\n",
" viewBox=\"0.00 0.00 563.89 195.03\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 191.032)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-191.032 559.894,-191.032 559.894,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"256.947\" y=\"-172.832\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"278.947\" y=\"-172.832\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"294.947\" y=\"-172.832\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"254.947\" y=\"-158.832\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"65\" cy=\"-51.0315\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"65\" y=\"-47.3315\" font-family=\"Lato\" font-size=\"14.00\">~0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04566,-51.0315C1.94863,-51.0315 16.101,-51.0315 30.7579,-51.0315\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9378,-51.0315 30.9378,-54.1816 34.4378,-51.0316 30.9378,-51.0316 30.9378,-51.0316 30.9378,-51.0316 34.4378,-51.0316 30.9378,-47.8816 37.9378,-51.0315 37.9378,-51.0315\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"224\" cy=\"-46.0315\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"224\" y=\"-42.3315\" font-family=\"Lato\" font-size=\"14.00\">~1</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M86.9675,-40.5183C94.0945,-37.4737 102.226,-34.5603 110,-33.0315 137.91,-27.5434 145.794,-29.3536 174,-33.0315 180.022,-33.8168 186.357,-35.1231 192.4,-36.6127\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"199.322,-38.4251 191.753,-39.6993 195.936,-37.5386 192.55,-36.652 192.55,-36.652 192.55,-36.652 195.936,-37.5386 193.348,-33.6048 199.322,-38.4251 199.322,-38.4251\"/>\n",
"<text text-anchor=\"start\" x=\"138.5\" y=\"-36.8315\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"528.894\" cy=\"-32.0315\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"528.894\" y=\"-28.3315\" font-family=\"Lato\" font-size=\"14.00\">{}</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;2 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>0&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M84.0074,-38.0732C91.6673,-33.1919 100.917,-28.0871 110,-25.0315 206.377,7.39134 236.551,0.881353 338,-6.03155 393.555,-9.81716 457.622,-19.7635 495.333,-26.1986\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"502.514,-27.436 495.08,-29.3514 499.065,-26.8416 495.615,-26.2472 495.615,-26.2472 495.615,-26.2472 499.065,-26.8416 496.15,-23.1429 502.514,-27.436 502.514,-27.436\"/>\n",
"<text text-anchor=\"start\" x=\"300.5\" y=\"-24.8315\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"298\" y=\"-9.83155\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;0 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M196.81,-47.1636C189.433,-47.4654 181.403,-47.7777 174,-48.0315 149.014,-48.8885 120.77,-49.6663 99.4335,-50.2151\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"92.1913,-50.3994 99.1088,-47.0722 95.6901,-50.3103 99.189,-50.2212 99.189,-50.2212 99.189,-50.2212 95.6901,-50.3103 99.2692,-53.3702 92.1913,-50.3994 92.1913,-50.3994\"/>\n",
"<text text-anchor=\"start\" x=\"110\" y=\"-52.8315\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M209.98,-61.573C206.034,-71.9402 210.707,-82.0315 224,-82.0315 234.177,-82.0315 239.302,-76.1162 239.374,-68.6906\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"238.02,-61.573 242.423,-67.8608 238.674,-65.0113 239.328,-68.4496 239.328,-68.4496 239.328,-68.4496 238.674,-65.0113 236.234,-69.0385 238.02,-61.573 238.02,-61.573\"/>\n",
"<text text-anchor=\"start\" x=\"204.5\" y=\"-85.8315\" font-family=\"Lato\" font-size=\"14.00\">!b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M251.087,-44.8258C306.106,-42.2828 433.951,-36.3736 494.697,-33.566\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"501.763,-33.2394 494.915,-36.7093 498.266,-33.401 494.77,-33.5627 494.77,-33.5627 494.77,-33.5627 498.266,-33.401 494.624,-30.416 501.763,-33.2394 501.763,-33.2394\"/>\n",
"<text text-anchor=\"start\" x=\"369.947\" y=\"-57.8315\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"382.447\" y=\"-42.8315\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"390.447\" cy=\"-100.032\" rx=\"34.394\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"390.447\" y=\"-96.3315\" font-family=\"Lato\" font-size=\"14.00\">~1,~0</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;3 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>1&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M250.95,-47.6123C274.399,-49.7348 309.503,-54.6632 338,-66.0315 347.35,-69.7617 356.773,-75.3387 364.953,-80.9027\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"370.944,-85.1241 363.408,-83.6673 368.083,-83.1082 365.222,-81.0922 365.222,-81.0922 365.222,-81.0922 368.083,-83.1082 367.036,-78.5172 370.944,-85.1241 370.944,-85.1241\"/>\n",
"<text text-anchor=\"start\" x=\"276\" y=\"-69.8315\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>2&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M517.644,-48.6956C515.144,-58.6565 518.894,-68.0315 528.894,-68.0315 536.394,-68.0315 540.378,-62.7581 540.847,-55.9191\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"540.144,-48.6956 543.957,-55.3575 540.483,-52.1791 540.822,-55.6627 540.822,-55.6627 540.822,-55.6627 540.483,-52.1791 537.687,-55.9679 540.144,-48.6956 540.144,-48.6956\"/>\n",
"<text text-anchor=\"start\" x=\"524.394\" y=\"-86.8315\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<text text-anchor=\"start\" x=\"520.894\" y=\"-71.8315\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;0 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>3&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M361.19,-109.828C353.74,-111.979 345.644,-113.94 338,-115.032 273.641,-124.223 254.82,-122.773 192,-106.032 156.22,-96.4962 117.534,-78.3196 92.603,-65.4767\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"86.2609,-62.1715 93.9243,-62.6133 89.3647,-63.7891 92.4685,-65.4067 92.4685,-65.4067 92.4685,-65.4067 89.3647,-63.7891 91.0127,-68.2001 86.2609,-62.1715 86.2609,-62.1715\"/>\n",
"<text text-anchor=\"start\" x=\"192\" y=\"-122.832\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;1 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>3&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M356.007,-98.5504C332.347,-96.552 300.284,-91.8874 274,-81.0315 264.452,-77.0881 254.975,-70.9744 246.936,-64.9533\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"241.092,-60.4045 248.55,-62.2182 243.854,-62.5543 246.616,-64.704 246.616,-64.704 246.616,-64.704 243.854,-62.5543 244.681,-67.1898 241.092,-60.4045 241.092,-60.4045\"/>\n",
"<text text-anchor=\"start\" x=\"274\" y=\"-99.8315\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;2 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>3&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M416.156,-87.7173C439.844,-75.9125 475.542,-58.1218 500.184,-45.8413\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"506.508,-42.6892 501.648,-48.6309 503.376,-44.2504 500.243,-45.8116 500.243,-45.8116 500.243,-45.8116 503.376,-44.2504 498.838,-42.9923 506.508,-42.6892 506.508,-42.6892\"/>\n",
"<text text-anchor=\"start\" x=\"442.894\" y=\"-92.8315\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"455.394\" y=\"-77.8315\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;3 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>3&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M377.689,-117.069C375.085,-126.889 379.338,-136.032 390.447,-136.032 398.779,-136.032 403.254,-130.889 403.873,-124.175\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"403.205,-117.069 406.996,-123.744 403.533,-120.554 403.86,-124.038 403.86,-124.038 403.86,-124.038 403.533,-120.554 400.724,-124.333 403.205,-117.069 403.205,-117.069\"/>\n",
"<text text-anchor=\"start\" x=\"360.447\" y=\"-139.832\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fc630> >"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spot.remove_alternation(aut, True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<svg height=\"193pt\" viewBox=\"0.00 0.00 510.48 193.23\" width=\"510pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 189.23)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" points=\"-4,4 -4,-189.23 506.48,-189.23 506.48,4 -4,4\" stroke=\"none\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"228.74\" y=\"-171.03\">Fin(</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"253.74\" y=\"-171.03\">⓿</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"269.74\" y=\"-171.03\">)</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"218.74\" y=\"-157.03\">[co-Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 3 -->\n",
"<g class=\"node\" id=\"node2\"><title>3</title>\n",
"<ellipse cx=\"56\" cy=\"-35\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-31.3\">3</text>\n",
"</g>\n",
"<!-- I&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge1\"><title>I-&gt;3</title>\n",
"<path d=\"M1.15491,-35C2.79388,-35 17.1543,-35 30.6317,-35\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"37.9419,-35 30.9419,-38.1501 34.4419,-35 30.9419,-35.0001 30.9419,-35.0001 30.9419,-35.0001 34.4419,-35 30.9418,-31.8501 37.9419,-35 37.9419,-35\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;4 -->\n",
"<g class=\"node\" id=\"node7\"><title>-4</title>\n",
"<ellipse cx=\"121.5\" cy=\"-53\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 3&#45;&gt;&#45;4 -->\n",
"<g class=\"edge\" id=\"edge11\"><title>3-&gt;-4</title>\n",
"<path d=\"M73.6839,-39.7293C86.1591,-43.2656 102.674,-47.9471 112.387,-50.7001\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"111.857,-53.0965 119.26,-52.6485 113.194,-48.3823 111.857,-53.0965\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-50.8\">a</text>\n",
"</g>\n",
"<!-- 0 -->\n",
"<g class=\"node\" id=\"node3\"><title>0</title>\n",
"<ellipse cx=\"189.87\" cy=\"-81\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"185.37\" y=\"-84.8\">0</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"181.87\" y=\"-69.8\">⓿</text>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g class=\"node\" id=\"node4\"><title>1</title>\n",
"<ellipse cx=\"343.61\" cy=\"-76\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"339.11\" y=\"-79.8\">1</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"335.61\" y=\"-64.8\">⓿</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge2\"><title>0-&gt;1</title>\n",
"<path d=\"M214.482,-69.3538C220.9,-66.7356 227.955,-64.3378 234.74,-63 262.647,-57.4974 270.59,-58.9169 298.74,-63 302.769,-63.5844 306.943,-64.4558 311.043,-65.4759\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"317.833,-67.3086 310.254,-68.5257 314.454,-66.3966 311.075,-65.4845 311.075,-65.4845 311.075,-65.4845 314.454,-66.3966 311.896,-62.4433 317.833,-67.3086 317.833,-67.3086\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"263.24\" y=\"-66.8\">a</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g class=\"node\" id=\"node5\"><title>2</title>\n",
"<ellipse cx=\"484.48\" cy=\"-31\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"484.48\" y=\"-27.3\">2</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge3\"><title>0-&gt;2</title>\n",
"<path d=\"M213.004,-67.2326C237.349,-53.0498 278.154,-32.0502 316.74,-25 366.809,-15.8517 426.698,-22.0883 459.339,-26.9001\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"466.262,-27.9601 458.866,-30.0142 462.802,-27.4303 459.342,-26.9005 459.342,-26.9005 459.342,-26.9005 462.802,-27.4303 459.819,-23.7868 466.262,-27.9601 466.262,-27.9601\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"338.11\" y=\"-28.8\">!a</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge9\"><title>1-&gt;0</title>\n",
"<path d=\"M316.632,-77.2607C310.75,-77.5249 304.531,-77.7875 298.74,-78 273.786,-78.9157 245.576,-79.6911 224.265,-80.2241\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"217.031,-80.4023 223.951,-77.0808 220.53,-80.3161 224.029,-80.2298 224.029,-80.2298 224.029,-80.2298 220.53,-80.3161 224.107,-83.3789 217.031,-80.4023 217.031,-80.4023\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"234.74\" y=\"-83.8\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge7\"><title>1-&gt;1</title>\n",
"<path d=\"M330.074,-99.5464C328.403,-110.872 332.915,-120.87 343.61,-120.87 351.966,-120.87 356.548,-114.768 357.355,-106.698\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"357.146,-99.5464 360.5,-106.451 357.249,-103.045 357.351,-106.543 357.351,-106.543 357.351,-106.543 357.249,-103.045 354.202,-106.636 357.146,-99.5464 357.146,-99.5464\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"324.11\" y=\"-124.67\">!b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge8\"><title>1-&gt;2</title>\n",
"<path d=\"M368.502,-64.9247C374.918,-62.1516 381.903,-59.3114 388.48,-57 412.37,-48.6052 440.408,-41.2227 459.803,-36.4902\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"466.786,-34.8097 460.718,-39.5102 463.383,-35.6286 459.981,-36.4476 459.981,-36.4476 459.981,-36.4476 463.383,-35.6286 459.243,-33.385 466.786,-34.8097 466.786,-34.8097\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"397.98\" y=\"-60.8\">!a &amp; !b</text>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g class=\"node\" id=\"node6\"><title>-1</title>\n",
"<ellipse cx=\"484.48\" cy=\"-117\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;1 -->\n",
"<g class=\"edge\" id=\"edge4\"><title>1-&gt;-1</title>\n",
"<path d=\"M370.842,-74.9712C392.498,-75.0578 423.604,-77.3807 448.48,-88 460.419,-93.0965 471.466,-103.617 477.838,-110.487\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"476.282,-112.429 482.738,-116.079 479.968,-109.2 476.282,-112.429\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"388.48\" y=\"-91.8\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge10\"><title>2-&gt;2</title>\n",
"<path d=\"M473.568,-45.4167C469.757,-56.166 473.394,-67 484.48,-67 493.141,-67 497.256,-60.3875 496.825,-52.3688\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"495.393,-45.4167 499.89,-51.6375 496.099,-48.8447 496.805,-52.2728 496.805,-52.2728 496.805,-52.2728 496.099,-48.8447 493.72,-52.9082 495.393,-45.4167 495.393,-45.4167\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"484.48\" y=\"-70.8\">1</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge5\"><title>-1-&gt;0</title>\n",
"<path d=\"M482.41,-117.507C471.853,-122.443 385.248,-161.417 316.74,-145 280.477,-136.31 242.869,-115.352 218.318,-99.7725\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"212.366,-95.9382 219.956,-97.0811 215.308,-97.8337 218.25,-99.7292 218.25,-99.7292 218.25,-99.7292 215.308,-97.8337 216.544,-102.377 212.366,-95.9382 212.366,-95.9382\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge6\"><title>-1-&gt;1</title>\n",
"<path d=\"M482.508,-117.003C474.993,-117 425.452,-116.454 388.48,-103 382.923,-100.978 377.31,-98.1987 372.04,-95.1889\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"366.036,-91.581 373.658,-92.4863 369.036,-93.3837 372.036,-95.1864 372.036,-95.1864 372.036,-95.1864 369.036,-93.3837 370.413,-97.8864 366.036,-91.581 366.036,-91.581\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge12\"><title>-4-&gt;0</title>\n",
"<path d=\"M123.652,-53.486C127.921,-55.2871 143.358,-61.7994 158.141,-68.036\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"164.844,-70.8641 157.17,-71.0455 161.62,-69.5037 158.395,-68.1432 158.395,-68.1432 158.395,-68.1432 161.62,-69.5037 159.619,-65.2409 164.844,-70.8641 164.844,-70.8641\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g class=\"node\" id=\"node8\"><title>4</title>\n",
"<ellipse cx=\"189.87\" cy=\"-18\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"189.87\" y=\"-14.3\">4</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;4 -->\n",
"<g class=\"edge\" id=\"edge13\"><title>-4-&gt;4</title>\n",
"<path d=\"M123.652,-52.3925C128.819,-49.6679 150.342,-38.3178 167.268,-29.3919\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"173.716,-25.9913 168.994,-32.0429 170.62,-27.624 167.524,-29.2566 167.524,-29.2566 167.524,-29.2566 170.62,-27.624 166.055,-26.4703 173.716,-25.9913 173.716,-25.9913\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 4&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge14\"><title>4-&gt;3</title>\n",
"<path d=\"M171.73,-20.1074C157.166,-21.9074 135.707,-24.5816 117,-27 105.23,-28.5217 92.167,-30.2577 81.2432,-31.7228\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"74.0645,-32.6879 80.5823,-28.6333 77.5333,-32.2216 81.0021,-31.7552 81.0021,-31.7552 81.0021,-31.7552 77.5333,-32.2216 81.4218,-34.8771 74.0645,-32.6879 74.0645,-32.6879\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"121.5\" y=\"-30.8\">1</text>\n",
"</g>\n",
"</g>\n",
"</svg>"
],
"text/plain": [
"<IPython.core.display.SVG object>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aut = spot.automaton('''\n",
"HOA: v1\n",
"States: 5\n",
"Start: 3\n",
"acc-name: co-Buchi\n",
"Acceptance: 1 Fin(0)\n",
"AP: 3 \"a\" \"b\" \"p\"\n",
"--BODY--\n",
"State: 0 \"(a;a*;b)*\" {0}\n",
" [0] 1\n",
" [!0] 2\n",
"State: 1 \"a*;b;(a;a*;b)*\" {0}\n",
" [0&1&2] 0&1\n",
" [!1&2] 1\n",
" [!0&!1] 2\n",
" [!0&1&2] 0\n",
"State: 2\n",
" [t] 2\n",
"State: 3\n",
" [0] 4&0\n",
"State: 4\n",
" [t] 3\n",
"--END--\n",
"'''); aut.show('.1ab')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"734pt\" height=\"176pt\"\n",
" viewBox=\"0.00 0.00 734.00 175.89\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.70593 0.70593) rotate(0) translate(4 245.164)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-245.164 1035.76,-245.164 1035.76,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"494.882\" y=\"-226.964\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"516.882\" y=\"-226.964\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"532.882\" y=\"-226.964\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"492.882\" y=\"-212.964\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"65\" cy=\"-79.1644\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"65\" y=\"-75.4644\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04566,-79.1644C1.94863,-79.1644 16.101,-79.1644 30.7579,-79.1644\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9378,-79.1644 30.9378,-82.3145 34.4378,-79.1645 30.9378,-79.1645 30.9378,-79.1645 30.9378,-79.1645 34.4378,-79.1645 30.9378,-76.0145 37.9378,-79.1644 37.9378,-79.1644\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"172.597\" cy=\"-76.1644\" rx=\"28.6953\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"172.597\" y=\"-72.4644\" font-family=\"Lato\" font-size=\"14.00\">~0,4</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M83.9159,-66.1893C91.5618,-61.4169 100.826,-56.5886 110,-54.1644 122.206,-50.9389 135.428,-54.6646 146.482,-59.912\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"152.715,-63.1364 145.05,-62.718 149.606,-61.5283 146.497,-59.9202 146.497,-59.9202 146.497,-59.9202 149.606,-61.5283 147.945,-57.1223 152.715,-63.1364 152.715,-63.1364\"/>\n",
"<text text-anchor=\"start\" x=\"114.5\" y=\"-72.9644\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"110\" y=\"-57.9644\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;0 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M145.178,-81.6004C138.918,-82.6657 132.245,-83.6207 126,-84.1644 118.916,-84.7812 117.1,-84.5665 110,-84.1644 106.352,-83.9578 102.541,-83.6556 98.7547,-83.3003\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"91.5514,-82.563 98.8358,-80.1422 95.0332,-82.9194 98.5151,-83.2758 98.5151,-83.2758 98.5151,-83.2758 95.0332,-82.9194 98.1943,-86.4095 91.5514,-82.563 91.5514,-82.563\"/>\n",
"<text text-anchor=\"start\" x=\"112.5\" y=\"-102.964\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"110\" y=\"-87.9644\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"306.792\" cy=\"-76.1644\" rx=\"28.6953\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"306.792\" y=\"-72.4644\" font-family=\"Lato\" font-size=\"14.00\">3,~1</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M201.31,-76.1644C221.58,-76.1644 249.221,-76.1644 270.981,-76.1644\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"278.116,-76.1644 271.117,-79.3145 274.616,-76.1645 271.116,-76.1645 271.116,-76.1645 271.116,-76.1645 274.616,-76.1645 271.116,-73.0145 278.116,-76.1644 278.116,-76.1644\"/>\n",
"<text text-anchor=\"start\" x=\"236.195\" y=\"-79.9644\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g id=\"node5\" class=\"node\"><title>3</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"476.986\" cy=\"-27.1644\" rx=\"41.6928\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"476.986\" y=\"-23.4644\" font-family=\"Lato\" font-size=\"14.00\">4,~1,~0</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;3 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>2&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M319.755,-59.6599C327.979,-49.7451 339.836,-37.9614 353.39,-32.1644 377.263,-21.9537 406.195,-20.3328 429.957,-21.4368\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"437.154,-21.8604 429.981,-24.5935 433.661,-21.6547 430.167,-21.449 430.167,-21.449 430.167,-21.449 433.661,-21.6547 430.352,-18.3044 437.154,-21.8604 437.154,-21.8604\"/>\n",
"<text text-anchor=\"start\" x=\"355.39\" y=\"-35.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g id=\"node6\" class=\"node\"><title>4</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"838.172\" cy=\"-84.1644\" rx=\"36.2938\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"838.172\" y=\"-80.4644\" font-family=\"Lato\" font-size=\"14.00\">0,4,~1</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;4 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>2&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M321.778,-91.7251C330.073,-99.7732 341.307,-108.805 353.39,-113.164 443.353,-145.627 691.208,-137.218 783.775,-113.164 792.629,-110.864 801.612,-106.794 809.62,-102.418\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"816.094,-98.7018 811.591,-104.919 813.058,-100.444 810.023,-102.187 810.023,-102.187 810.023,-102.187 813.058,-100.444 808.455,-99.4548 816.094,-98.7018 816.094,-98.7018\"/>\n",
"<text text-anchor=\"start\" x=\"536.582\" y=\"-137.964\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;0 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>3&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M438.91,-19.8648C431.795,-18.7401 424.382,-17.7568 417.39,-17.1644 389.047,-14.7633 381.777,-15.3639 353.39,-17.1644 244.561,-24.0672 211.659,-8.70815 110,-48.1644 102.263,-51.1673 94.599,-55.8176 87.8881,-60.611\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"82.0182,-65.0101 85.7306,-58.2913 84.819,-62.911 87.6198,-60.812 87.6198,-60.812 87.6198,-60.812 84.819,-62.911 89.5089,-63.3327 82.0182,-65.0101 82.0182,-65.0101\"/>\n",
"<text text-anchor=\"start\" x=\"219.195\" y=\"-39.9644\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"231.695\" y=\"-24.9644\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;2 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>3&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M444.186,-38.4722C435.533,-41.4248 426.135,-44.5185 417.39,-47.1644 391.721,-54.9306 362.33,-62.645 340.449,-68.1627\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"333.624,-69.8742 339.647,-65.1162 337.018,-69.0229 340.413,-68.1716 340.413,-68.1716 340.413,-68.1716 337.018,-69.0229 341.18,-71.227 333.624,-69.8742 333.624,-69.8742\"/>\n",
"<text text-anchor=\"start\" x=\"353.39\" y=\"-67.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g id=\"node7\" class=\"node\"><title>5</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1003.17\" cy=\"-46.1644\" rx=\"28.6953\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1003.17\" y=\"-42.4644\" font-family=\"Lato\" font-size=\"14.00\">3,~0</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;5 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>3&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M512.471,-17.7043C520.339,-15.8877 528.704,-14.2236 536.582,-13.1644 721.856,11.7427 773.031,-0.659675 956.569,-36.1644 960.545,-36.9336 964.706,-37.7835 968.828,-38.6532\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"975.69,-40.1251 968.185,-41.7368 972.268,-39.391 968.845,-38.6569 968.845,-38.6569 968.845,-38.6569 972.268,-39.391 969.506,-35.577 975.69,-40.1251 975.69,-40.1251\"/>\n",
"<text text-anchor=\"start\" x=\"719.775\" y=\"-9.96445\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 6 -->\n",
"<g id=\"node8\" class=\"node\"><title>6</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"660.179\" cy=\"-45.1644\" rx=\"41.6928\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"660.179\" y=\"-41.4644\" font-family=\"Lato\" font-size=\"14.00\">3,~1,~0</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;6 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>3&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M514.101,-35.4621C521.503,-36.9081 529.268,-38.242 536.582,-39.1644 561.097,-42.256 588.555,-43.7779 611.261,-44.5179\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"618.457,-44.7316 611.366,-47.6723 614.958,-44.6276 611.46,-44.5237 611.46,-44.5237 611.46,-44.5237 614.958,-44.6276 611.553,-41.3751 618.457,-44.7316 618.457,-44.7316\"/>\n",
"<text text-anchor=\"start\" x=\"538.582\" y=\"-46.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;0 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>4&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M822.141,-100.678C812.103,-110.899 798.146,-123.651 783.775,-132.164 734.095,-161.593 718.92,-175.164 661.179,-175.164 171.597,-175.164 171.597,-175.164 171.597,-175.164 128.523,-175.164 95.2529,-130.89 78.3359,-102.476\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"74.7811,-96.3273 81.0117,-100.811 76.5329,-99.3574 78.2847,-102.387 78.2847,-102.387 78.2847,-102.387 76.5329,-99.3574 75.5576,-103.964 74.7811,-96.3273 74.7811,-96.3273\"/>\n",
"<text text-anchor=\"start\" x=\"364.89\" y=\"-193.964\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"377.39\" y=\"-178.964\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;2 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>4&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M801.557,-84.9242C795.619,-85.0242 789.523,-85.1106 783.775,-85.1644 755.332,-85.4308 748.219,-85.2421 719.775,-85.1644 556.935,-84.72 515.724,-95.9981 353.39,-83.1644 349.597,-82.8646 345.643,-82.4351 341.716,-81.9343\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"334.72,-80.9684 342.085,-78.8054 338.187,-81.4471 341.654,-81.9258 341.654,-81.9258 341.654,-81.9258 338.187,-81.4471 341.224,-85.0462 334.72,-80.9684 334.72,-80.9684\"/>\n",
"<text text-anchor=\"start\" x=\"536.582\" y=\"-91.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;5 -->\n",
"<g id=\"edge13\" class=\"edge\"><title>4&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M856.49,-68.1743C866.295,-60.2112 879.24,-51.398 892.569,-47.1644 916.846,-39.4535 945.702,-39.5335 967.709,-41.3649\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"974.894,-42.0444 967.628,-44.5212 971.409,-41.7148 967.925,-41.3852 967.925,-41.3852 967.925,-41.3852 971.409,-41.7148 968.222,-38.2492 974.894,-42.0444 974.894,-42.0444\"/>\n",
"<text text-anchor=\"start\" x=\"892.569\" y=\"-50.9644\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;6 -->\n",
"<g id=\"edge14\" class=\"edge\"><title>4&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M825.365,-67.043C815.774,-54.757 801.037,-39.1809 783.775,-32.1644 756.952,-21.2614 724.242,-25.5119 699.358,-31.9451\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"692.559,-33.8066 698.478,-28.92 695.934,-32.8824 699.31,-31.9582 699.31,-31.9582 699.31,-31.9582 695.934,-32.8824 700.142,-34.9964 692.559,-33.8066 692.559,-33.8066\"/>\n",
"<text text-anchor=\"start\" x=\"721.775\" y=\"-35.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;4 -->\n",
"<g id=\"edge15\" class=\"edge\"><title>5&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M978.243,-55.3277C971.317,-57.77 963.701,-60.2568 956.569,-62.1644 931.624,-68.8366 903.17,-74.2231 880.523,-77.996\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"873.385,-79.1639 879.785,-74.9248 876.84,-78.5987 880.294,-78.0334 880.294,-78.0334 880.294,-78.0334 876.84,-78.5987 880.802,-81.1421 873.385,-79.1639 873.385,-79.1639\"/>\n",
"<text text-anchor=\"start\" x=\"921.069\" y=\"-78.9644\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;3 -->\n",
"<g id=\"edge16\" class=\"edge\"><title>6&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M633.076,-31.361C623.183,-26.8515 611.635,-22.4238 600.582,-20.1644 575.029,-14.941 545.899,-16.3089 522.448,-19.1611\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"515.363,-20.0883 521.895,-16.0566 518.833,-19.6341 522.304,-19.18 522.304,-19.18 522.304,-19.18 518.833,-19.6341 522.712,-22.3033 515.363,-20.0883 515.363,-20.0883\"/>\n",
"<text text-anchor=\"start\" x=\"538.582\" y=\"-23.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;4 -->\n",
"<g id=\"edge17\" class=\"edge\"><title>6&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M698.583,-52.2354C722.924,-56.9738 755.32,-63.5382 783.775,-70.1644 788.716,-71.3151 793.897,-72.5885 799.007,-73.8847\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"805.903,-75.657 798.339,-76.9652 802.513,-74.7857 799.123,-73.9144 799.123,-73.9144 799.123,-73.9144 802.513,-74.7857 799.907,-70.8636 805.903,-75.657 805.903,-75.657\"/>\n",
"<text text-anchor=\"start\" x=\"719.775\" y=\"-73.9644\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fc6f0> >"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spot.remove_alternation(aut, True)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<svg height=\"317pt\" viewBox=\"0.00 0.00 522.82 316.87\" width=\"523pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 312.87)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" points=\"-4,4 -4,-312.87 518.82,-312.87 518.82,4 -4,4\" stroke=\"none\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"234.91\" y=\"-294.67\">Fin(</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"259.91\" y=\"-294.67\">⓿</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"275.91\" y=\"-294.67\">)</text>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"224.91\" y=\"-280.67\">[co-Büchi]</text>\n",
"<!-- I -->\n",
"<!-- &#45;7 -->\n",
"<g class=\"node\" id=\"node2\"><title>-7</title>\n",
"<ellipse cx=\"39.8\" cy=\"-99.8701\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- I&#45;&gt;&#45;7 -->\n",
"<g class=\"edge\" id=\"edge1\"><title>I-&gt;-7</title>\n",
"<path d=\"M1.10844,-99.8701C2.6468,-99.8701 20.196,-99.8701 30.7973,-99.8701\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"30.9213,-102.32 37.9213,-99.8701 30.9212,-97.4202 30.9213,-102.32\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 0 -->\n",
"<g class=\"node\" id=\"node3\"><title>0</title>\n",
"<ellipse cx=\"105.47\" cy=\"-139.87\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"100.97\" y=\"-143.67\">0</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"97.4701\" y=\"-128.67\">⓿</text>\n",
"</g>\n",
"<!-- &#45;7&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge2\"><title>-7-&gt;0</title>\n",
"<path d=\"M41.9051,-100.564C46.1242,-103.215 61.7127,-113.008 76.2726,-122.155\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"82.4135,-126.013 74.8104,-124.957 79.4498,-124.151 76.4862,-122.289 76.4862,-122.289 76.4862,-122.289 79.4498,-124.151 78.1619,-119.622 82.4135,-126.013 82.4135,-126.013\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g class=\"node\" id=\"node4\"><title>3</title>\n",
"<ellipse cx=\"105.47\" cy=\"-43.8701\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"105.47\" y=\"-40.1701\">3</text>\n",
"</g>\n",
"<!-- &#45;7&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge3\"><title>-7-&gt;3</title>\n",
"<path d=\"M41.515,-99.2412C45.8357,-95.441 68.8376,-75.21 85.7945,-60.2959\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"91.2776,-55.4733 88.1017,-62.4616 88.6495,-57.7848 86.0213,-60.0963 86.0213,-60.0963 86.0213,-60.0963 88.6495,-57.7848 83.941,-57.731 91.2776,-55.4733 91.2776,-55.4733\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g class=\"node\" id=\"node5\"><title>1</title>\n",
"<ellipse cx=\"259.21\" cy=\"-147.87\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"254.71\" y=\"-151.67\">1</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"251.21\" y=\"-136.67\">⓿</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge4\"><title>0-&gt;1</title>\n",
"<path d=\"M131.247,-148.561C137.408,-150.346 144.051,-151.958 150.34,-152.87 175.344,-156.497 203.916,-154.919 225.37,-152.612\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"232.358,-151.808 225.764,-155.738 228.881,-152.208 225.403,-152.608 225.403,-152.608 225.403,-152.608 228.881,-152.208 225.043,-149.479 232.358,-151.808 232.358,-151.808\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"178.84\" y=\"-159.67\">a</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g class=\"node\" id=\"node6\"><title>2</title>\n",
"<ellipse cx=\"408.95\" cy=\"-221.87\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"408.95\" y=\"-218.17\">2</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge5\"><title>0-&gt;2</title>\n",
"<path d=\"M126.086,-157.123C149.471,-176.363 190.651,-206.185 232.34,-216.87 284.941,-230.352 349.313,-227.5 383.644,-224.513\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"390.899,-223.84 384.22,-227.623 387.414,-224.163 383.929,-224.486 383.929,-224.486 383.929,-224.486 387.414,-224.163 383.638,-221.35 390.899,-223.84 390.899,-223.84\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"253.71\" y=\"-228.67\">!a</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge13\"><title>3-&gt;3</title>\n",
"<path d=\"M97.8021,-60.1603C95.9532,-70.2592 98.5091,-79.8701 105.47,-79.8701 110.691,-79.8701 113.434,-74.464 113.699,-67.5004\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"113.138,-60.1603 116.812,-66.9 113.405,-63.6502 113.671,-67.14 113.671,-67.14 113.671,-67.14 113.405,-63.6502 110.53,-67.38 113.138,-60.1603 113.138,-60.1603\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"101.97\" y=\"-83.6701\">a</text>\n",
"</g>\n",
"<!-- &#45;4 -->\n",
"<g class=\"node\" id=\"node8\"><title>-4</title>\n",
"<ellipse cx=\"259.21\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 3&#45;&gt;&#45;4 -->\n",
"<g class=\"edge\" id=\"edge14\"><title>3-&gt;-4</title>\n",
"<path d=\"M123.582,-41.953C156.135,-38.3059 225.874,-30.4928 249.885,-27.8028\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"250.451,-30.2048 257.134,-26.9906 249.905,-25.3353 250.451,-30.2048\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"176.84\" y=\"-42.6701\">!a</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge11\"><title>1-&gt;0</title>\n",
"<path d=\"M233.937,-138.657C227.647,-136.677 220.818,-134.879 214.34,-133.87 189.364,-129.981 160.79,-131.85 139.329,-134.491\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"132.338,-135.41 138.868,-131.375 135.809,-134.954 139.279,-134.498 139.279,-134.498 139.279,-134.498 135.809,-134.954 139.689,-137.621 132.338,-135.41 132.338,-135.41\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"150.34\" y=\"-137.67\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge9\"><title>1-&gt;1</title>\n",
"<path d=\"M245.674,-171.416C244.003,-182.742 248.515,-192.74 259.21,-192.74 267.566,-192.74 272.148,-186.638 272.955,-178.568\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"272.746,-171.416 276.1,-178.321 272.849,-174.915 272.951,-178.413 272.951,-178.413 272.951,-178.413 272.849,-174.915 269.802,-178.506 272.746,-171.416 272.746,-171.416\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"239.71\" y=\"-196.54\">!b &amp; p</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge10\"><title>1-&gt;2</title>\n",
"<path d=\"M283.62,-159.596C311.673,-173.647 358.324,-197.013 385.804,-210.778\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"392.355,-214.058 384.685,-213.74 389.225,-212.491 386.096,-210.924 386.096,-210.924 386.096,-210.924 389.225,-212.491 387.506,-208.107 392.355,-214.058 392.355,-214.058\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"313.58\" y=\"-203.67\">!a &amp; !b</text>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g class=\"node\" id=\"node7\"><title>-1</title>\n",
"<ellipse cx=\"408.95\" cy=\"-117.87\" fill=\"#ffffaa\" rx=\"1.8\" ry=\"1.8\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;&#45;1 -->\n",
"<g class=\"edge\" id=\"edge6\"><title>1-&gt;-1</title>\n",
"<path d=\"M285.914,-143.645C306.99,-140.066 337.563,-134.613 364.08,-128.87 376.704,-126.136 391.219,-122.374 399.981,-120.033\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"none\" points=\"400.755,-122.362 406.871,-118.168 399.474,-117.633 400.755,-122.362\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"304.08\" y=\"-144.67\">a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g class=\"edge\" id=\"edge12\"><title>2-&gt;2</title>\n",
"<path d=\"M400.585,-238.16C398.568,-248.259 401.357,-257.87 408.95,-257.87 414.646,-257.87 417.638,-252.464 417.927,-245.5\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"417.315,-238.16 421.036,-244.874 417.606,-241.648 417.897,-245.136 417.897,-245.136 417.897,-245.136 417.606,-241.648 414.758,-245.398 417.315,-238.16 417.315,-238.16\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"408.95\" y=\"-261.67\">1</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g class=\"edge\" id=\"edge7\"><title>-1-&gt;0</title>\n",
"<path d=\"M406.975,-117.804C398.503,-117.23 336.482,-113.11 286.08,-111.87 262.203,-111.283 256.114,-109.572 232.34,-111.87 195.381,-115.442 186.495,-119.41 150.34,-127.87 146.4,-128.792 142.279,-129.826 138.208,-130.89\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"131.444,-132.694 137.395,-127.846 134.825,-131.792 138.207,-130.89 138.207,-130.89 138.207,-130.89 134.825,-131.792 139.019,-133.933 131.444,-132.694 131.444,-132.694\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g class=\"edge\" id=\"edge8\"><title>-1-&gt;1</title>\n",
"<path d=\"M406.911,-117.925C398.869,-118.365 345.773,-121.585 304.08,-131.87 299.845,-132.915 295.451,-134.227 291.154,-135.649\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"284.515,-137.95 290.098,-132.681 287.822,-136.804 291.129,-135.657 291.129,-135.657 291.129,-135.657 287.822,-136.804 292.161,-138.634 284.515,-137.95 284.515,-137.95\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;3 -->\n",
"<g class=\"edge\" id=\"edge15\"><title>-4-&gt;3</title>\n",
"<path d=\"M257.136,-26.7865C248.825,-26.1629 193.929,-22.4615 150.34,-29.8701 143.394,-31.0506 136.032,-33.0774 129.363,-35.2279\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"122.451,-37.5757 128.066,-32.3416 125.765,-36.45 129.079,-35.3242 129.079,-35.3242 129.079,-35.3242 125.765,-36.45 130.092,-38.3069 122.451,-37.5757 122.451,-37.5757\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g class=\"node\" id=\"node9\"><title>4</title>\n",
"<ellipse cx=\"408.95\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"26.7407\" ry=\"26.7407\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"404.45\" y=\"-30.6701\">4</text>\n",
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"400.95\" y=\"-15.6701\">⓿</text>\n",
"</g>\n",
"<!-- &#45;4&#45;&gt;4 -->\n",
"<g class=\"edge\" id=\"edge16\"><title>-4-&gt;4</title>\n",
"<path d=\"M261.154,-26.8701C269.685,-26.8701 334.135,-26.8701 374.752,-26.8701\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"381.793,-26.8701 374.793,-30.0202 378.293,-26.8701 374.793,-26.8702 374.793,-26.8702 374.793,-26.8702 378.293,-26.8701 374.792,-23.7202 381.793,-26.8701 381.793,-26.8701\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 4&#45;&gt;4 -->\n",
"<g class=\"edge\" id=\"edge17\"><title>4-&gt;4</title>\n",
"<path d=\"M400.029,-52.2401C399.414,-62.7939 402.388,-71.7401 408.95,-71.7401 413.975,-71.7401 416.895,-66.496 417.712,-59.3013\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"417.871,-52.2401 420.863,-59.3092 417.792,-55.7392 417.714,-59.2383 417.714,-59.2383 417.714,-59.2383 417.792,-55.7392 414.564,-59.1674 417.871,-52.2401 417.871,-52.2401\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"403.45\" y=\"-75.5401\">!a</text>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g class=\"node\" id=\"node10\"><title>5</title>\n",
"<ellipse cx=\"496.82\" cy=\"-26.8701\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"496.82\" y=\"-23.1701\">5</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;5 -->\n",
"<g class=\"edge\" id=\"edge18\"><title>4-&gt;5</title>\n",
"<path d=\"M436.181,-26.8701C447.401,-26.8701 460.426,-26.8701 471.435,-26.8701\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"478.688,-26.8701 471.688,-30.0202 475.188,-26.8701 471.688,-26.8702 471.688,-26.8702 471.688,-26.8702 475.188,-26.8701 471.688,-23.7202 478.688,-26.8701 478.688,-26.8701\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"453.82\" y=\"-30.6701\">a</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;5 -->\n",
"<g class=\"edge\" id=\"edge19\"><title>5-&gt;5</title>\n",
"<path d=\"M490.087,-43.9074C488.713,-53.728 490.957,-62.8701 496.82,-62.8701 501.218,-62.8701 503.58,-57.7276 503.906,-51.0134\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"503.554,-43.9074 507.047,-50.7428 503.727,-47.4031 503.901,-50.8988 503.901,-50.8988 503.901,-50.8988 503.727,-47.4031 500.754,-51.0547 503.554,-43.9074 503.554,-43.9074\" stroke=\"black\"/>\n",
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"496.82\" y=\"-66.6701\">1</text>\n",
"</g>\n",
"</g>\n",
"</svg>"
],
"text/plain": [
"<IPython.core.display.SVG object>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Example from ADL's PSL2TGBA talk.\n",
"aut = spot.automaton('''\n",
"HOA: v1\n",
"States: 6\n",
"Start: 0&3\n",
"Acceptance: 1 Fin(0)\n",
"AP: 3 \"a\" \"b\" \"p\"\n",
"--BODY--\n",
"State: 0 \"(a;a*;b)*\" {0}\n",
" [0] 1\n",
" [!0] 2\n",
"State: 1 \"a*;b;(a;a*;b)*\" {0}\n",
" [0&1&2] 0&1\n",
" [!1&2] 1\n",
" [!0&!1] 2\n",
" [!0&1&2] 0\n",
"State: 2\n",
" [t] 2\n",
"State: 3\n",
" [0] 3\n",
" [!0] 3&4\n",
"State: 4 {0}\n",
" [!0] 4\n",
" [0] 5\n",
"State: 5\n",
" [t] 5\n",
"--END--\n",
"'''); aut.show('.1ab')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"734pt\" height=\"336pt\"\n",
" viewBox=\"0.00 0.00 734.00 336.27\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.755012 0.755012) rotate(0) translate(4 441.39)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-441.39 968.17,-441.39 968.17,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"435.085\" y=\"-423.19\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"457.085\" y=\"-423.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"473.085\" y=\"-423.19\" font-family=\"Lato\" font-size=\"14.00\">)&amp;Inf(</text>\n",
"<text text-anchor=\"start\" x=\"509.085\" y=\"-423.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"<text text-anchor=\"start\" x=\"525.085\" y=\"-423.19\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"438.085\" y=\"-409.19\" font-family=\"Lato\" font-size=\"14.00\">[gen. Büchi 2]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"66.5975\" cy=\"-307.39\" rx=\"28.6953\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"66.5975\" y=\"-303.69\" font-family=\"Lato\" font-size=\"14.00\">~0,3</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04682,-307.39C1.95299,-307.39 15.8726,-307.39 30.554,-307.39\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.7688,-307.39 30.7688,-310.54 34.2688,-307.39 30.7688,-307.39 30.7688,-307.39 30.7688,-307.39 34.2688,-307.39 30.7688,-304.24 37.7688,-307.39 37.7688,-307.39\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"175.792\" cy=\"-188.39\" rx=\"28.6953\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"175.792\" y=\"-184.69\" font-family=\"Lato\" font-size=\"14.00\">3,~1</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M81.6113,-291.832C100.63,-270.719 134.674,-232.926 155.925,-209.335\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"160.775,-203.951 158.43,-211.26 158.433,-206.551 156.09,-209.152 156.09,-209.152 156.09,-209.152 158.433,-206.551 153.75,-207.043 160.775,-203.951 160.775,-203.951\"/>\n",
"<text text-anchor=\"start\" x=\"117.695\" y=\"-273.19\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"113.195\" y=\"-258.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node4\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"815.17\" cy=\"-197.39\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"815.17\" y=\"-193.69\" font-family=\"Lato\" font-size=\"14.00\">3,4</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;2 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>0&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M81.5144,-323.031C100.498,-342.548 136.546,-373.39 174.792,-373.39 174.792,-373.39 174.792,-373.39 700.773,-373.39 771.822,-373.39 800.483,-270.783 810.065,-222.258\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"811.393,-215.234 813.187,-222.697 810.742,-218.673 810.092,-222.112 810.092,-222.112 810.092,-222.112 810.742,-218.673 806.997,-221.527 811.393,-215.234 811.393,-215.234\"/>\n",
"<text text-anchor=\"start\" x=\"424.683\" y=\"-391.19\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"414.183\" y=\"-377.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"430.183\" y=\"-377.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M166.224,-205.427C164.271,-215.248 167.46,-224.39 175.792,-224.39 182.041,-224.39 185.398,-219.247 185.862,-212.533\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"185.361,-205.427 188.995,-212.188 185.607,-208.918 185.853,-212.41 185.853,-212.41 185.853,-212.41 185.607,-208.918 182.711,-212.631 185.361,-205.427 185.361,-205.427\"/>\n",
"<text text-anchor=\"start\" x=\"143.792\" y=\"-243.19\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"167.792\" y=\"-228.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M187.189,-204.99C210.441,-239.831 270.339,-317.39 342.787,-317.39 342.787,-317.39 342.787,-317.39 700.773,-317.39 753.039,-317.39 788.38,-256.508 804.39,-221.475\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"807.333,-214.839 807.375,-222.515 805.914,-218.038 804.495,-221.237 804.495,-221.237 804.495,-221.237 805.914,-218.038 801.616,-219.96 807.333,-214.839 807.333,-214.839\"/>\n",
"<text text-anchor=\"start\" x=\"501.28\" y=\"-335.19\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"505.78\" y=\"-321.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"521.78\" y=\"-321.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g id=\"node5\" class=\"node\"><title>4</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"343.787\" cy=\"-23.3896\" rx=\"36.2938\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"343.787\" y=\"-19.6896\" font-family=\"Lato\" font-size=\"14.00\">3,4,~1</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;4 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M178.728,-170.197C183.501,-129.231 197.303,-31.8051 222.39,-12.3896 246.922,6.59652 283.256,-0.00558893 309.589,-8.97888\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"316.393,-11.4247 308.74,-12.0211 313.099,-10.2408 309.805,-9.05679 309.805,-9.05679 309.805,-9.05679 313.099,-10.2408 310.871,-6.09248 316.393,-11.4247 316.393,-11.4247\"/>\n",
"<text text-anchor=\"start\" x=\"222.39\" y=\"-31.1896\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"247.89\" y=\"-16.1896\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g id=\"node6\" class=\"node\"><title>5</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"699.773\" cy=\"-143.39\" rx=\"36.2938\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"699.773\" y=\"-139.69\" font-family=\"Lato\" font-size=\"14.00\">3,4,~0</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;5 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>1&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M192.525,-173.513C200.825,-166.428 211.524,-158.423 222.39,-153.39 294.922,-119.793 318.701,-123.882 398.183,-115.39 491.641,-105.404 601.666,-123.148 659.186,-134.672\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"666.273,-136.114 658.785,-137.805 662.843,-135.417 659.413,-134.719 659.413,-134.719 659.413,-134.719 662.843,-135.417 660.041,-131.632 666.273,-136.114 666.273,-136.114\"/>\n",
"<text text-anchor=\"start\" x=\"398.183\" y=\"-134.19\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"422.183\" y=\"-119.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 6 -->\n",
"<g id=\"node7\" class=\"node\"><title>6</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"521.78\" cy=\"-155.39\" rx=\"41.6928\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"521.78\" y=\"-151.69\" font-family=\"Lato\" font-size=\"14.00\">3,~1,~0</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;6 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>1&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M204.219,-190.66C243.404,-193.42 317.596,-196.85 380.183,-189.39 414.665,-185.279 452.918,-175.689 480.807,-167.739\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"487.665,-165.757 481.815,-170.726 484.303,-166.728 480.941,-167.7 480.941,-167.7 480.941,-167.7 484.303,-166.728 480.066,-164.674 487.665,-165.757 487.665,-165.757\"/>\n",
"<text text-anchor=\"start\" x=\"313.787\" y=\"-212.19\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"335.787\" y=\"-197.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>2&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M805.955,-214.427C804.075,-224.248 807.146,-233.39 815.17,-233.39 821.187,-233.39 824.419,-228.247 824.866,-221.533\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"824.384,-214.427 828,-221.198 824.621,-217.919 824.858,-221.411 824.858,-221.411 824.858,-221.411 824.621,-217.919 821.715,-221.624 824.384,-214.427 824.384,-214.427\"/>\n",
"<text text-anchor=\"start\" x=\"809.67\" y=\"-252.19\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"807.17\" y=\"-237.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g id=\"node8\" class=\"node\"><title>3</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"937.17\" cy=\"-197.39\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"937.17\" y=\"-193.69\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;3 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>2&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M842.201,-200.15C848.102,-200.666 854.346,-201.125 860.17,-201.39 874.377,-202.034 877.962,-202.034 892.17,-201.39 895.718,-201.229 899.423,-200.995 903.111,-200.72\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"910.138,-200.15 903.416,-203.856 906.649,-200.433 903.161,-200.716 903.161,-200.716 903.161,-200.716 906.649,-200.433 902.906,-197.577 910.138,-200.15 910.138,-200.15\"/>\n",
"<text text-anchor=\"start\" x=\"872.67\" y=\"-219.19\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"860.17\" y=\"-205.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"876.17\" y=\"-205.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;1 -->\n",
"<g id=\"edge13\" class=\"edge\"><title>4&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M313.709,-33.8026C305.824,-36.6081 297.285,-39.6299 289.39,-42.3896 259.67,-52.7781 244.921,-43.3998 222.39,-65.3896 195.309,-91.8191 184.174,-135.754 179.693,-163.338\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"178.644,-170.317 176.569,-162.927 179.164,-166.856 179.684,-163.395 179.684,-163.395 179.684,-163.395 179.164,-166.856 182.799,-163.863 178.644,-170.317 178.644,-170.317\"/>\n",
"<text text-anchor=\"start\" x=\"223.89\" y=\"-84.1896\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"247.89\" y=\"-69.1896\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;2 -->\n",
"<g id=\"edge14\" class=\"edge\"><title>4&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M377.933,-16.8801C435.048,-7.24021 554.611,5.94674 645.376,-31.3896 716.701,-60.7296 774.153,-136.245 799.749,-174.48\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"803.868,-180.725 797.384,-176.616 801.941,-177.803 800.014,-174.882 800.014,-174.882 800.014,-174.882 801.941,-177.803 802.643,-173.147 803.868,-180.725 803.868,-180.725\"/>\n",
"<text text-anchor=\"start\" x=\"592.876\" y=\"-50.1896\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"605.376\" y=\"-35.1896\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;4 -->\n",
"<g id=\"edge15\" class=\"edge\"><title>4&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M328.669,-40.0537C325.31,-50.0146 330.349,-59.3896 343.787,-59.3896 353.865,-59.3896 359.219,-54.1162 359.849,-47.2772\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"358.904,-40.0537 362.935,-46.586 359.358,-43.5241 359.812,-46.9945 359.812,-46.9945 359.812,-46.9945 359.358,-43.5241 356.688,-47.4031 358.904,-40.0537 358.904,-40.0537\"/>\n",
"<text text-anchor=\"start\" x=\"310.287\" y=\"-63.1896\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b &amp; p</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;5 -->\n",
"<g id=\"edge16\" class=\"edge\"><title>4&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M380.011,-25.444C438.67,-30.2035 558.497,-45.7123 645.376,-95.3896 657.611,-102.385 669.454,-112.564 678.865,-121.75\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"683.83,-126.725 676.655,-123.996 681.357,-124.248 678.885,-121.77 678.885,-121.77 678.885,-121.77 681.357,-124.248 681.114,-119.545 683.83,-126.725 683.83,-126.725\"/>\n",
"<text text-anchor=\"start\" x=\"489.78\" y=\"-63.1896\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;6 -->\n",
"<g id=\"edge17\" class=\"edge\"><title>4&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M377.675,-30.0847C407.564,-36.6677 448.951,-47.1854 462.183,-57.3896 486.652,-76.259 503.048,-108.483 512.13,-130.802\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"514.714,-137.385 509.224,-132.021 513.435,-134.127 512.156,-130.87 512.156,-130.87 512.156,-130.87 513.435,-134.127 515.088,-129.718 514.714,-137.385 514.714,-137.385\"/>\n",
"<text text-anchor=\"start\" x=\"400.183\" y=\"-76.1896\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"422.183\" y=\"-61.1896\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;1 -->\n",
"<g id=\"edge18\" class=\"edge\"><title>5&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M682.125,-159.196C658.157,-180.666 611.495,-217.815 563.376,-230.39 453.294,-259.158 420.212,-242.115 307.39,-227.39 268.803,-222.353 259.459,-218.227 222.39,-206.39 217.373,-204.788 212.118,-202.909 207.033,-200.98\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"200.241,-198.341 207.907,-197.94 203.504,-199.608 206.766,-200.876 206.766,-200.876 206.766,-200.876 203.504,-199.608 205.625,-203.812 200.241,-198.341 200.241,-198.341\"/>\n",
"<text text-anchor=\"start\" x=\"426.683\" y=\"-264.19\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"422.183\" y=\"-249.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;2 -->\n",
"<g id=\"edge19\" class=\"edge\"><title>5&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M736.323,-144.137C747.607,-145.5 759.83,-148.212 770.17,-153.39 780.686,-158.656 790.216,-167.401 797.696,-175.714\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"802.534,-181.352 795.585,-178.091 800.255,-178.696 797.976,-176.039 797.976,-176.039 797.976,-176.039 800.255,-178.696 800.366,-173.988 802.534,-181.352 802.534,-181.352\"/>\n",
"<text text-anchor=\"start\" x=\"756.67\" y=\"-172.19\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"754.17\" y=\"-157.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;1 -->\n",
"<g id=\"edge20\" class=\"edge\"><title>6&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M480.481,-152.438C437.439,-149.974 367.314,-147.936 307.39,-155.39 272.879,-159.682 234.393,-170.124 208.196,-178.121\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"201.479,-180.201 207.234,-175.121 204.822,-179.166 208.166,-178.131 208.166,-178.131 208.166,-178.131 204.822,-179.166 209.098,-181.14 201.479,-180.201 201.479,-180.201\"/>\n",
"<text text-anchor=\"start\" x=\"311.787\" y=\"-174.19\" font-family=\"Lato\" font-size=\"14.00\">a &amp; !b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"335.787\" y=\"-159.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;2 -->\n",
"<g id=\"edge21\" class=\"edge\"><title>6&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M547.353,-169.736C557.543,-174.984 569.696,-180.371 581.376,-183.39 650.63,-201.288 735.164,-201.151 780.908,-199.346\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"788.178,-199.032 781.32,-202.481 784.681,-199.183 781.184,-199.334 781.184,-199.334 781.184,-199.334 784.681,-199.183 781.048,-196.187 788.178,-199.032 788.178,-199.032\"/>\n",
"<text text-anchor=\"start\" x=\"679.273\" y=\"-217.19\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; !b</text>\n",
"<text text-anchor=\"start\" x=\"683.773\" y=\"-203.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"699.773\" y=\"-203.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;5 -->\n",
"<g id=\"edge22\" class=\"edge\"><title>6&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M563.156,-152.637C591.129,-150.729 628.289,-148.196 656.637,-146.263\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"663.643,-145.785 656.873,-149.404 660.151,-146.023 656.659,-146.261 656.659,-146.261 656.659,-146.261 660.151,-146.023 656.445,-143.118 663.643,-145.785 663.643,-145.785\"/>\n",
"<text text-anchor=\"start\" x=\"581.376\" y=\"-169.19\" font-family=\"Lato\" font-size=\"14.00\">!a &amp; b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"605.376\" y=\"-154.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;6 -->\n",
"<g id=\"edge23\" class=\"edge\"><title>6&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M505.959,-172.054C502.444,-182.015 507.717,-191.39 521.78,-191.39 532.327,-191.39 537.93,-186.116 538.589,-179.277\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"537.6,-172.054 541.67,-178.562 538.075,-175.521 538.549,-178.989 538.549,-178.989 538.549,-178.989 538.075,-175.521 535.429,-179.416 537.6,-172.054 537.6,-172.054\"/>\n",
"<text text-anchor=\"start\" x=\"491.78\" y=\"-210.19\" font-family=\"Lato\" font-size=\"14.00\">a &amp; b &amp; p</text>\n",
"<text text-anchor=\"start\" x=\"513.78\" y=\"-195.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;2 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>3&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M919.308,-183.47C911.545,-177.939 901.906,-172.225 892.17,-169.39 878.515,-165.413 873.825,-165.413 860.17,-169.39 852.867,-171.516 845.62,-175.262 839.177,-179.335\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"833.031,-183.47 837.081,-176.949 835.935,-181.516 838.839,-179.562 838.839,-179.562 838.839,-179.562 835.935,-181.516 840.597,-182.176 833.031,-183.47 833.031,-183.47\"/>\n",
"<text text-anchor=\"start\" x=\"870.67\" y=\"-187.19\" font-family=\"Lato\" font-size=\"14.00\">!a</text>\n",
"<text text-anchor=\"start\" x=\"860.17\" y=\"-173.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"876.17\" y=\"-173.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;3 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>3&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M926.623,-214.054C924.279,-224.015 927.795,-233.39 937.17,-233.39 944.201,-233.39 947.936,-228.116 948.376,-221.277\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"947.716,-214.054 951.49,-220.738 948.035,-217.539 948.353,-221.025 948.353,-221.025 948.353,-221.025 948.035,-217.539 945.216,-221.311 947.716,-214.054 947.716,-214.054\"/>\n",
"<text text-anchor=\"start\" x=\"933.67\" y=\"-251.19\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"921.17\" y=\"-237.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"937.17\" y=\"-237.19\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fc7b0> >"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spot.remove_alternation(aut, True)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"349pt\" height=\"131pt\"\n",
" viewBox=\"0.00 0.00 348.75 130.74\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 126.74)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-126.74 344.749,-126.74 344.749,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"147.874\" y=\"-108.54\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
"<text text-anchor=\"start\" x=\"172.874\" y=\"-108.54\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"188.874\" y=\"-108.54\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"137.874\" y=\"-94.5401\" font-family=\"Lato\" font-size=\"14.00\">[co&#45;Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"70.4971\" cy=\"-26.8701\" rx=\"32.4942\" ry=\"18\"/>\n",
"<text text-anchor=\"start\" x=\"53.4971\" y=\"-23.1701\" font-family=\"Lato\" font-size=\"14.00\">GF(a)</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04965,-26.8701C1.96874,-26.8701 15.513,-26.8701 30.3132,-26.8701\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.6299,-26.8701 30.6299,-30.0202 34.1299,-26.8701 30.6299,-26.8702 30.6299,-26.8702 30.6299,-26.8702 34.1299,-26.8701 30.6298,-23.7202 37.6299,-26.8701 37.6299,-26.8701\"/>\n",
"</g>\n",
"<!-- &#45;1 -->\n",
"<g id=\"node3\" class=\"node\"><title>&#45;1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"149.794\" cy=\"-26.8701\" rx=\"1.8\" ry=\"1.8\"/>\n",
"</g>\n",
"<!-- 0&#45;&gt;&#45;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;&#45;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M103.383,-26.8701C116.92,-26.8701 131.598,-26.8701 140.496,-26.8701\"/>\n",
"<polygon fill=\"none\" stroke=\"black\" points=\"140.716,-29.3202 147.716,-26.8701 140.716,-24.4202 140.716,-29.3202\"/>\n",
"<text text-anchor=\"start\" x=\"120.994\" y=\"-30.6701\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;0 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>&#45;1&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M147.778,-26.7236C144.962,-26.326 136.812,-25.2317 129.994,-24.8701 123.586,-24.5301 116.779,-24.4796 110.16,-24.5965\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"103.08,-24.7832 109.994,-21.4497 106.579,-24.6909 110.077,-24.5986 110.077,-24.5986 110.077,-24.5986 106.579,-24.6909 110.16,-27.7475 103.08,-24.7832 103.08,-24.7832\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node4\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"216.171\" cy=\"-26.8701\" rx=\"27.6545\" ry=\"26.7407\"/>\n",
"<text text-anchor=\"start\" x=\"204.671\" y=\"-30.6701\" font-family=\"Lato\" font-size=\"14.00\">F(a)</text>\n",
"<text text-anchor=\"start\" x=\"208.171\" y=\"-15.6701\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- &#45;1&#45;&gt;1 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>&#45;1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M151.912,-26.8701C155.659,-26.8701 168.277,-26.8701 181.268,-26.8701\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"188.47,-26.8701 181.47,-30.0202 184.97,-26.8701 181.47,-26.8702 181.47,-26.8702 181.47,-26.8702 184.97,-26.8701 181.47,-23.7202 188.47,-26.8701 188.47,-26.8701\"/>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M207.599,-52.6914C207.115,-63.0476 209.972,-71.7401 216.171,-71.7401 220.821,-71.7401 223.59,-66.8506 224.48,-60.0368\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"224.744,-52.6914 227.641,-59.7998 224.618,-56.1891 224.493,-59.6869 224.493,-59.6869 224.493,-59.6869 224.618,-56.1891 221.345,-59.574 224.744,-52.6914 224.744,-52.6914\"/>\n",
"<text text-anchor=\"start\" x=\"211.671\" y=\"-75.5401\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node5\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"313.749\" cy=\"-26.8701\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"313.749\" y=\"-23.1701\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M243.795,-26.8701C254.864,-26.8701 267.833,-26.8701 279.517,-26.8701\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"286.598,-26.8701 279.598,-30.0202 283.098,-26.8701 279.598,-26.8702 279.598,-26.8702 279.598,-26.8702 283.098,-26.8701 279.598,-23.7202 286.598,-26.8701 286.598,-26.8701\"/>\n",
"<text text-anchor=\"start\" x=\"261.749\" y=\"-30.6701\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;2 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>2&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M305.179,-44.28C303.58,-53.9579 306.436,-62.8701 313.749,-62.8701 319.119,-62.8701 322.086,-58.0637 322.649,-51.6773\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"322.318,-44.28 325.778,-51.1319 322.475,-47.7764 322.631,-51.2729 322.631,-51.2729 322.631,-51.2729 322.475,-47.7764 319.485,-51.414 322.318,-44.28 322.318,-44.28\"/>\n",
"<text text-anchor=\"start\" x=\"309.249\" y=\"-66.6701\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fcae0> >"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = spot.automaton('''\n",
"HOA: v1\n",
"tool: \"ltl3dra\" \"0.2.2\"\n",
"name: \"VWAA for GFa\"\n",
"States: 3\n",
"Start: 0\n",
"acc-name: co-Buchi\n",
"Acceptance: 1 Fin(0)\n",
"AP: 1 \"a\"\n",
"properties: trans-labels explicit-labels state-acc univ-branch very-weak\n",
"--BODY--\n",
"State: 0 \"GF(a)\"\n",
" [t] 1&0\n",
"State: 1 \"F(a)\" {0}\n",
" [(0)] 2\n",
" [t] 1\n",
"State: 2 \"t\"\n",
" [t] 2\n",
"--END--\n",
"'''); a"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: G Pages: 1 -->\n",
"<svg width=\"206pt\" height=\"161pt\"\n",
" viewBox=\"0.00 0.00 206.00 161.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 157)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-157 202,-157 202,4 -4,4\"/>\n",
"<text text-anchor=\"start\" x=\"78\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
"<text text-anchor=\"start\" x=\"100\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"<text text-anchor=\"start\" x=\"116\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
"<text text-anchor=\"start\" x=\"76\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
"<!-- I -->\n",
"<!-- 0 -->\n",
"<g id=\"node2\" class=\"node\"><title>0</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"65\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"65\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
"</g>\n",
"<!-- I&#45;&gt;0 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>I&#45;&gt;0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1.04566,-18C1.94863,-18 16.101,-18 30.7579,-18\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"37.9378,-18 30.9378,-21.1501 34.4378,-18 30.9378,-18.0001 30.9378,-18.0001 30.9378,-18.0001 34.4378,-18 30.9378,-14.8501 37.9378,-18 37.9378,-18\"/>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node3\" class=\"node\"><title>1</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"171\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"171\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0,1</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M92.2436,-18C105.669,-18 122.159,-18 136.493,-18\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"143.765,-18 136.765,-21.1501 140.265,-18 136.765,-18.0001 136.765,-18.0001 136.765,-18.0001 140.265,-18 136.765,-14.8501 143.765,-18 143.765,-18\"/>\n",
"<text text-anchor=\"start\" x=\"113.5\" y=\"-36.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"<text text-anchor=\"start\" x=\"110\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M166.326,-35.7817C165.532,-45.3149 167.09,-54 171,-54 173.872,-54 175.474,-49.3161 175.809,-43.0521\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"175.674,-35.7817 178.953,-42.722 175.739,-39.2811 175.804,-42.7805 175.804,-42.7805 175.804,-42.7805 175.739,-39.2811 172.654,-42.8391 175.674,-35.7817 175.674,-35.7817\"/>\n",
"<text text-anchor=\"middle\" x=\"171\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;1 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M163.322,-35.4203C158.944,-52.791 161.504,-72 171,-72 179.235,-72 182.253,-57.5545 180.055,-42.3894\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"178.678,-35.4203 183.126,-41.6769 179.357,-38.8539 180.035,-42.2875 180.035,-42.2875 180.035,-42.2875 179.357,-38.8539 176.945,-42.8981 178.678,-35.4203 178.678,-35.4203\"/>\n",
"<text text-anchor=\"start\" x=\"167.5\" y=\"-90.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
"<text text-anchor=\"start\" x=\"163\" y=\"-75.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f79685fc840> >"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spot.remove_alternation(a, True)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}