This generalizes (and replaces) the two-argument split that was
introduced in c2832cabfc.
* spot/twaalgos/split.cc, spot/twaalgos/split.hh (edge_separator): New
class.
(separate_edges): New function.
(split_edges): Remove the two argument version.
* spot/twaalgos/forq_contains.cc: Adjust to use the edge_separator
class.
* tests/python/splitedge.py: Adjust test case.
* tests/python/split.ipynb: New file.
* tests/Makefile.am, doc/org/tut.org: Add it.
* NEWS: Mention it.
2139 lines
146 KiB
Text
2139 lines
146 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "edc9ac7a",
|
|
"metadata": {},
|
|
"source": [
|
|
"In Spot, automata edges are labeled by Boolean functions over atomic propositions.\n",
|
|
"As a consequence, it is sometimes difficult to adapt algorithms that expect automata labeled by letters. This notebook presents methods that can be used to split those edge labels to make it easier to consider them as letters."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "f9791763",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import spot\n",
|
|
"from spot.jupyter import display_inline\n",
|
|
"spot.setup(show_default=\".A\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "81867c56",
|
|
"metadata": {},
|
|
"source": [
|
|
"Consider the labels appearing in the following automaton:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "28ab6c77",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"399pt\" height=\"77pt\"\n",
|
|
" viewBox=\"0.00 0.00 399.00 77.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 73)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-73 395,-73 395,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"135\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.09,-18C84.56,-18 98.12,-18 109.69,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.96,-18 109.96,-21.15 113.46,-18 109.96,-18 109.96,-18 109.96,-18 113.46,-18 109.96,-14.85 116.96,-18 116.96,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"373\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M361.76,-32.42C357.83,-43.17 361.58,-54 373,-54 381.92,-54 386.16,-47.39 385.72,-39.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"384.24,-32.42 388.78,-38.61 384.97,-35.84 385.7,-39.26 385.7,-39.26 385.7,-39.26 384.97,-35.84 382.61,-39.92 384.24,-32.42 384.24,-32.42\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"237\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"237\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.42,-18C169.48,-18 193.48,-18 211.48,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"218.78,-18 211.78,-21.15 215.28,-18 211.78,-18 211.78,-18 211.78,-18 215.28,-18 211.78,-14.85 218.78,-18 218.78,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M255.24,-18C278.76,-18 321.02,-18 347.73,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"354.82,-18 347.82,-21.15 351.32,-18 347.82,-18 347.82,-18 347.82,-18 351.32,-18 347.82,-14.85 354.82,-18 354.82,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"399pt\" height=\"77pt\"\n",
|
|
" viewBox=\"0.00 0.00 399.00 77.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 73)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-73 395,-73 395,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"135\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.09,-18C84.56,-18 98.12,-18 109.69,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.96,-18 109.96,-21.15 113.46,-18 109.96,-18 109.96,-18 109.96,-18 113.46,-18 109.96,-14.85 116.96,-18 116.96,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"373\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M361.76,-32.42C357.83,-43.17 361.58,-54 373,-54 381.92,-54 386.16,-47.39 385.72,-39.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"384.24,-32.42 388.78,-38.61 384.97,-35.84 385.7,-39.26 385.7,-39.26 385.7,-39.26 384.97,-35.84 382.61,-39.92 384.24,-32.42 384.24,-32.42\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"237\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"237\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.42,-18C169.48,-18 193.48,-18 211.48,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"218.78,-18 211.78,-21.15 215.28,-18 211.78,-18 211.78,-18 211.78,-18 215.28,-18 211.78,-14.85 218.78,-18 218.78,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M255.24,-18C278.76,-18 321.02,-18 347.73,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"354.82,-18 347.82,-21.15 351.32,-18 347.82,-18 347.82,-18 347.82,-18 351.32,-18 347.82,-14.85 354.82,-18 354.82,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fe0369d0> >"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut = spot.translate(\"a & X(a->b) & XX(!a&!b&c)\")\n",
|
|
"aut"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "dcd554c8",
|
|
"metadata": {},
|
|
"source": [
|
|
"We try to use the word \"edge\" to refer to an edge of the automaton, labeled by a Boolean formula over AP. These edges can be seen as representing several \"transitions\", each labeled by a valuation of all atomic propositions. So the above automaton uses 4 edges to represent 19 transitions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "3679412a",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"4 19\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"s = spot.sub_stats_reachable(aut)\n",
|
|
"print(s.edges, s.transitions)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0804e219",
|
|
"metadata": {},
|
|
"source": [
|
|
"We can split the edges into the corresponding transitions using `split_edges()`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "6f373fde",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"488pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 488.29 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.9615384615384615 0.9615384615384615) rotate(0) translate(4 370.9)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-370.9 504.5,-370.9 504.5,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-84.9C2.79,-84.9 17.15,-84.9 30.63,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-84.9 30.94,-88.05 34.44,-84.9 30.94,-84.9 30.94,-84.9 30.94,-84.9 34.44,-84.9 30.94,-81.75 37.94,-84.9 37.94,-84.9\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"192\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.88,-99.24C73.09,-106.94 81.84,-115.69 92,-119.9 118.28,-130.78 129.72,-130.78 156,-119.9 163.78,-116.68 170.73,-110.79 176.35,-104.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"181.12,-99.24 178.92,-106.6 178.83,-101.89 176.54,-104.54 176.54,-104.54 176.54,-104.54 178.83,-101.89 174.16,-102.47 181.12,-99.24 181.12,-99.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-131.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.24,-84.9C97.76,-84.9 140.02,-84.9 166.73,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-84.9 166.82,-88.05 170.32,-84.9 166.82,-84.9 166.82,-84.9 166.82,-84.9 170.32,-84.9 166.82,-81.75 173.82,-84.9 173.82,-84.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-88.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-75.03C77.4,-71.4 84.76,-67.74 92,-65.9 119.57,-58.9 128.43,-58.9 156,-65.9 160.86,-67.13 165.78,-69.19 170.33,-71.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.69,-75.03 169.04,-74.4 173.63,-73.34 170.56,-71.64 170.56,-71.64 170.56,-71.64 173.63,-73.34 172.09,-68.89 176.69,-75.03 176.69,-75.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-69.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.98,-68.76C70.91,-58.72 80.04,-46.67 92,-40.9 117.62,-28.54 130.38,-28.54 156,-40.9 165.53,-45.49 173.26,-54.08 179.01,-62.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.02,-68.76 176.6,-64.55 181.14,-65.81 179.26,-62.85 179.26,-62.85 179.26,-62.85 181.14,-65.81 181.92,-61.16 183.02,-68.76 183.02,-68.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-44.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"467\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"467\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.46,-103.05C465.23,-112.44 465.74,-120.9 467,-120.9 467.93,-120.9 468.45,-116.34 468.57,-110.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"468.54,-103.05 471.72,-110.04 468.55,-106.55 468.57,-110.05 468.57,-110.05 468.57,-110.05 468.55,-106.55 465.42,-110.06 468.54,-103.05 468.54,-103.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"433.5\" y=\"-124.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M464.44,-102.88C463.08,-120.1 463.93,-138.9 467,-138.9 469.64,-138.9 470.64,-125.01 470,-110.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"469.56,-102.88 473.13,-109.67 469.77,-106.37 469.98,-109.86 469.98,-109.86 469.98,-109.86 469.77,-106.37 466.84,-110.06 469.56,-102.88 469.56,-102.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435\" y=\"-142.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M463.77,-102.98C460.92,-127.31 461.99,-156.9 467,-156.9 471.52,-156.9 472.83,-132.8 470.95,-110.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"470.23,-102.98 474.06,-109.63 470.57,-106.46 470.92,-109.94 470.92,-109.94 470.92,-109.94 470.57,-106.46 467.79,-110.25 470.23,-102.98 470.23,-102.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435\" y=\"-160.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M463.37,-102.57C458.75,-133.75 459.96,-174.9 467,-174.9 473.52,-174.9 475.04,-139.63 471.56,-109.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"470.63,-102.57 474.67,-109.1 471.09,-106.04 471.54,-109.51 471.54,-109.51 471.54,-109.51 471.09,-106.04 468.42,-109.92 470.63,-102.57 470.63,-102.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-178.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M463.01,-102.7C456.6,-140.45 457.93,-192.9 467,-192.9 475.5,-192.9 477.2,-146.8 472.1,-109.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"470.99,-102.7 475.16,-109.14 471.52,-106.16 472.05,-109.62 472.05,-109.62 472.05,-109.62 471.52,-106.16 468.93,-110.09 470.99,-102.7 470.99,-102.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435\" y=\"-196.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.76,-102.67C454.46,-146.87 455.87,-210.9 467,-210.9 477.54,-210.9 479.37,-153.45 472.47,-109.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.24,-102.67 475.53,-109.03 471.83,-106.12 472.43,-109.57 472.43,-109.57 472.43,-109.57 471.83,-106.12 469.33,-110.1 471.24,-102.67 471.24,-102.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-214.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.59,-102.52C452.31,-153.08 453.78,-228.9 467,-228.9 479.63,-228.9 481.53,-159.74 472.73,-109.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.41,-102.52 475.81,-108.81 472.06,-105.95 472.71,-109.39 472.71,-109.39 472.71,-109.39 472.06,-105.95 469.62,-109.98 471.41,-102.52 471.41,-102.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-232.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.43,-102.48C450.17,-159.34 451.69,-246.9 467,-246.9 481.68,-246.9 483.68,-166.38 473.01,-109.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.57,-102.48 476.04,-108.72 472.27,-105.91 472.96,-109.34 472.96,-109.34 472.96,-109.34 472.27,-105.91 469.87,-109.97 471.57,-102.48 471.57,-102.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"439\" y=\"-250.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"331\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"331\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.97,-102.62C199.94,-120.08 208.85,-145.84 228,-157.9 253.2,-173.76 269.8,-173.76 295,-157.9 311.76,-147.35 320.67,-126.3 325.3,-109.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.03,-102.62 328.38,-110.17 326.18,-106.01 325.32,-109.4 325.32,-109.4 325.32,-109.4 326.18,-106.01 322.27,-108.64 327.03,-102.62 327.03,-102.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-172.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M202.88,-99.24C209.09,-106.94 217.84,-115.69 228,-119.9 255.51,-131.29 267.49,-131.29 295,-119.9 302.78,-116.68 309.73,-110.79 315.35,-104.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.12,-99.24 317.92,-106.6 317.83,-101.89 315.54,-104.54 315.54,-104.54 315.54,-104.54 317.83,-101.89 313.16,-102.47 320.12,-99.24 320.12,-99.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-131.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.07,-84.9C234.07,-84.9 277.91,-84.9 305.42,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.71,-84.9 305.71,-88.05 309.21,-84.9 305.71,-84.9 305.71,-84.9 305.71,-84.9 309.21,-84.9 305.71,-81.75 312.71,-84.9 312.71,-84.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-88.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.31,-75.03C213.4,-71.4 220.76,-67.74 228,-65.9 256.86,-58.57 266.14,-58.57 295,-65.9 299.86,-67.13 304.78,-69.19 309.33,-71.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"315.69,-75.03 308.04,-74.4 312.63,-73.34 309.56,-71.64 309.56,-71.64 309.56,-71.64 312.63,-73.34 311.09,-68.89 315.69,-75.03 315.69,-75.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.5\" y=\"-69.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.98,-68.76C206.91,-58.72 216.04,-46.67 228,-40.9 254.82,-27.96 268.18,-27.96 295,-40.9 304.53,-45.49 312.26,-54.08 318.01,-62.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.02,-68.76 315.6,-64.55 320.14,-65.81 318.26,-62.85 318.26,-62.85 318.26,-62.85 320.14,-65.81 320.92,-61.16 322.02,-68.76 322.02,-68.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.5\" y=\"-44.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.97,-67.18C199.94,-49.72 208.85,-23.95 228,-11.9 253.2,3.97 269.8,3.97 295,-11.9 311.76,-22.45 320.67,-43.49 325.3,-60.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.03,-67.18 322.27,-61.16 326.18,-63.79 325.32,-60.39 325.32,-60.39 325.32,-60.39 326.18,-63.79 328.38,-59.62 327.03,-67.18 327.03,-67.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"233.5\" y=\"-15.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.24,-84.9C372.76,-84.9 415.02,-84.9 441.73,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"448.82,-84.9 441.82,-88.05 445.32,-84.9 441.82,-84.9 441.82,-84.9 441.82,-84.9 445.32,-84.9 441.82,-81.75 448.82,-84.9 448.82,-84.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-88.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"488pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 488.29 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.9615384615384615 0.9615384615384615) rotate(0) translate(4 370.9)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-370.9 504.5,-370.9 504.5,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-84.9C2.79,-84.9 17.15,-84.9 30.63,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-84.9 30.94,-88.05 34.44,-84.9 30.94,-84.9 30.94,-84.9 30.94,-84.9 34.44,-84.9 30.94,-81.75 37.94,-84.9 37.94,-84.9\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"192\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.88,-99.24C73.09,-106.94 81.84,-115.69 92,-119.9 118.28,-130.78 129.72,-130.78 156,-119.9 163.78,-116.68 170.73,-110.79 176.35,-104.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"181.12,-99.24 178.92,-106.6 178.83,-101.89 176.54,-104.54 176.54,-104.54 176.54,-104.54 178.83,-101.89 174.16,-102.47 181.12,-99.24 181.12,-99.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-131.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.24,-84.9C97.76,-84.9 140.02,-84.9 166.73,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-84.9 166.82,-88.05 170.32,-84.9 166.82,-84.9 166.82,-84.9 166.82,-84.9 170.32,-84.9 166.82,-81.75 173.82,-84.9 173.82,-84.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-88.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-75.03C77.4,-71.4 84.76,-67.74 92,-65.9 119.57,-58.9 128.43,-58.9 156,-65.9 160.86,-67.13 165.78,-69.19 170.33,-71.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.69,-75.03 169.04,-74.4 173.63,-73.34 170.56,-71.64 170.56,-71.64 170.56,-71.64 173.63,-73.34 172.09,-68.89 176.69,-75.03 176.69,-75.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-69.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.98,-68.76C70.91,-58.72 80.04,-46.67 92,-40.9 117.62,-28.54 130.38,-28.54 156,-40.9 165.53,-45.49 173.26,-54.08 179.01,-62.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.02,-68.76 176.6,-64.55 181.14,-65.81 179.26,-62.85 179.26,-62.85 179.26,-62.85 181.14,-65.81 181.92,-61.16 183.02,-68.76 183.02,-68.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-44.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"467\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"467\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.46,-103.05C465.23,-112.44 465.74,-120.9 467,-120.9 467.93,-120.9 468.45,-116.34 468.57,-110.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"468.54,-103.05 471.72,-110.04 468.55,-106.55 468.57,-110.05 468.57,-110.05 468.57,-110.05 468.55,-106.55 465.42,-110.06 468.54,-103.05 468.54,-103.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"433.5\" y=\"-124.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M464.44,-102.88C463.08,-120.1 463.93,-138.9 467,-138.9 469.64,-138.9 470.64,-125.01 470,-110.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"469.56,-102.88 473.13,-109.67 469.77,-106.37 469.98,-109.86 469.98,-109.86 469.98,-109.86 469.77,-106.37 466.84,-110.06 469.56,-102.88 469.56,-102.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435\" y=\"-142.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M463.77,-102.98C460.92,-127.31 461.99,-156.9 467,-156.9 471.52,-156.9 472.83,-132.8 470.95,-110.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"470.23,-102.98 474.06,-109.63 470.57,-106.46 470.92,-109.94 470.92,-109.94 470.92,-109.94 470.57,-106.46 467.79,-110.25 470.23,-102.98 470.23,-102.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435\" y=\"-160.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M463.37,-102.57C458.75,-133.75 459.96,-174.9 467,-174.9 473.52,-174.9 475.04,-139.63 471.56,-109.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"470.63,-102.57 474.67,-109.1 471.09,-106.04 471.54,-109.51 471.54,-109.51 471.54,-109.51 471.09,-106.04 468.42,-109.92 470.63,-102.57 470.63,-102.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-178.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M463.01,-102.7C456.6,-140.45 457.93,-192.9 467,-192.9 475.5,-192.9 477.2,-146.8 472.1,-109.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"470.99,-102.7 475.16,-109.14 471.52,-106.16 472.05,-109.62 472.05,-109.62 472.05,-109.62 471.52,-106.16 468.93,-110.09 470.99,-102.7 470.99,-102.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435\" y=\"-196.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.76,-102.67C454.46,-146.87 455.87,-210.9 467,-210.9 477.54,-210.9 479.37,-153.45 472.47,-109.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.24,-102.67 475.53,-109.03 471.83,-106.12 472.43,-109.57 472.43,-109.57 472.43,-109.57 471.83,-106.12 469.33,-110.1 471.24,-102.67 471.24,-102.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-214.7\" font-family=\"Lato\" font-size=\"14.00\">a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.59,-102.52C452.31,-153.08 453.78,-228.9 467,-228.9 479.63,-228.9 481.53,-159.74 472.73,-109.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.41,-102.52 475.81,-108.81 472.06,-105.95 472.71,-109.39 472.71,-109.39 472.71,-109.39 472.06,-105.95 469.62,-109.98 471.41,-102.52 471.41,-102.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437\" y=\"-232.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M462.43,-102.48C450.17,-159.34 451.69,-246.9 467,-246.9 481.68,-246.9 483.68,-166.38 473.01,-109.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.57,-102.48 476.04,-108.72 472.27,-105.91 472.96,-109.34 472.96,-109.34 472.96,-109.34 472.27,-105.91 469.87,-109.97 471.57,-102.48 471.57,-102.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"439\" y=\"-250.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"331\" cy=\"-84.9\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"331\" y=\"-81.2\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.97,-102.62C199.94,-120.08 208.85,-145.84 228,-157.9 253.2,-173.76 269.8,-173.76 295,-157.9 311.76,-147.35 320.67,-126.3 325.3,-109.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.03,-102.62 328.38,-110.17 326.18,-106.01 325.32,-109.4 325.32,-109.4 325.32,-109.4 326.18,-106.01 322.27,-108.64 327.03,-102.62 327.03,-102.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-172.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M202.88,-99.24C209.09,-106.94 217.84,-115.69 228,-119.9 255.51,-131.29 267.49,-131.29 295,-119.9 302.78,-116.68 309.73,-110.79 315.35,-104.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.12,-99.24 317.92,-106.6 317.83,-101.89 315.54,-104.54 315.54,-104.54 315.54,-104.54 317.83,-101.89 313.16,-102.47 320.12,-99.24 320.12,-99.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-131.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.07,-84.9C234.07,-84.9 277.91,-84.9 305.42,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.71,-84.9 305.71,-88.05 309.21,-84.9 305.71,-84.9 305.71,-84.9 305.71,-84.9 309.21,-84.9 305.71,-81.75 312.71,-84.9 312.71,-84.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-88.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.31,-75.03C213.4,-71.4 220.76,-67.74 228,-65.9 256.86,-58.57 266.14,-58.57 295,-65.9 299.86,-67.13 304.78,-69.19 309.33,-71.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"315.69,-75.03 308.04,-74.4 312.63,-73.34 309.56,-71.64 309.56,-71.64 309.56,-71.64 312.63,-73.34 311.09,-68.89 315.69,-75.03 315.69,-75.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.5\" y=\"-69.7\" font-family=\"Lato\" font-size=\"14.00\">!a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M200.98,-68.76C206.91,-58.72 216.04,-46.67 228,-40.9 254.82,-27.96 268.18,-27.96 295,-40.9 304.53,-45.49 312.26,-54.08 318.01,-62.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.02,-68.76 315.6,-64.55 320.14,-65.81 318.26,-62.85 318.26,-62.85 318.26,-62.85 320.14,-65.81 320.92,-61.16 322.02,-68.76 322.02,-68.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.5\" y=\"-44.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & !c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.97,-67.18C199.94,-49.72 208.85,-23.95 228,-11.9 253.2,3.97 269.8,3.97 295,-11.9 311.76,-22.45 320.67,-43.49 325.3,-60.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.03,-67.18 322.27,-61.16 326.18,-63.79 325.32,-60.39 325.32,-60.39 325.32,-60.39 326.18,-63.79 328.38,-59.62 327.03,-67.18 327.03,-67.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"233.5\" y=\"-15.7\" font-family=\"Lato\" font-size=\"14.00\">a & b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.24,-84.9C372.76,-84.9 415.02,-84.9 441.73,-84.9\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"448.82,-84.9 441.82,-88.05 445.32,-84.9 441.82,-84.9 441.82,-84.9 441.82,-84.9 445.32,-84.9 441.82,-81.75 448.82,-84.9 448.82,-84.9\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-88.7\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fd7cfd20> >"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut_split = spot.split_edges(aut)\n",
|
|
"aut_split"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "101a7100",
|
|
"metadata": {},
|
|
"source": [
|
|
"The opposite operation is `merge_edges()`, but it works in place:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "cf014f95",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"399pt\" height=\"77pt\"\n",
|
|
" viewBox=\"0.00 0.00 399.00 77.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 73)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-73 395,-73 395,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"135\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.09,-18C84.56,-18 98.12,-18 109.69,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.96,-18 109.96,-21.15 113.46,-18 109.96,-18 109.96,-18 109.96,-18 113.46,-18 109.96,-14.85 116.96,-18 116.96,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"373\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M361.76,-32.42C357.83,-43.17 361.58,-54 373,-54 381.92,-54 386.16,-47.39 385.72,-39.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"384.24,-32.42 388.78,-38.61 384.97,-35.84 385.7,-39.26 385.7,-39.26 385.7,-39.26 384.97,-35.84 382.61,-39.92 384.24,-32.42 384.24,-32.42\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"237\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"237\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.42,-18C169.48,-18 193.48,-18 211.48,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"218.78,-18 211.78,-21.15 215.28,-18 211.78,-18 211.78,-18 211.78,-18 215.28,-18 211.78,-14.85 218.78,-18 218.78,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M255.24,-18C278.76,-18 321.02,-18 347.73,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"354.82,-18 347.82,-21.15 351.32,-18 347.82,-18 347.82,-18 347.82,-18 351.32,-18 347.82,-14.85 354.82,-18 354.82,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"399pt\" height=\"77pt\"\n",
|
|
" viewBox=\"0.00 0.00 399.00 77.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 73)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-73 395,-73 395,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"135\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.09,-18C84.56,-18 98.12,-18 109.69,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"116.96,-18 109.96,-21.15 113.46,-18 109.96,-18 109.96,-18 109.96,-18 113.46,-18 109.96,-14.85 116.96,-18 116.96,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"373\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M361.76,-32.42C357.83,-43.17 361.58,-54 373,-54 381.92,-54 386.16,-47.39 385.72,-39.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"384.24,-32.42 388.78,-38.61 384.97,-35.84 385.7,-39.26 385.7,-39.26 385.7,-39.26 384.97,-35.84 382.61,-39.92 384.24,-32.42 384.24,-32.42\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"373\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"237\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"237\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M153.42,-18C169.48,-18 193.48,-18 211.48,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"218.78,-18 211.78,-21.15 215.28,-18 211.78,-18 211.78,-18 211.78,-18 215.28,-18 211.78,-14.85 218.78,-18 218.78,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"171\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a | b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M255.24,-18C278.76,-18 321.02,-18 347.73,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"354.82,-18 347.82,-21.15 351.32,-18 347.82,-18 347.82,-18 347.82,-18 351.32,-18 347.82,-14.85 354.82,-18 354.82,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"273\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fd7cfd20> >"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut_split.merge_edges()\n",
|
|
"aut_split"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "2bc773cf",
|
|
"metadata": {},
|
|
"source": [
|
|
"Another way to split edges is `separate_edges()` this tweaks the labels so that any two labels can only be equal or disjoint. Note how this creates fewer edges."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"id": "3a130b23",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"530pt\" height=\"192pt\"\n",
|
|
" viewBox=\"0.00 0.00 530.00 191.87\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 187.87)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187.87 526,-187.87 526,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-33.87C2.79,-33.87 17.15,-33.87 30.63,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-33.87 30.94,-37.02 34.44,-33.87 30.94,-33.87 30.94,-33.87 30.94,-33.87 34.44,-33.87 30.94,-30.72 37.94,-33.87 37.94,-33.87\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"164\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-33.87C91.47,-33.87 118.74,-33.87 138.49,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"145.66,-33.87 138.66,-37.02 142.16,-33.87 138.66,-33.87 138.66,-33.87 138.66,-33.87 142.16,-33.87 138.66,-30.72 145.66,-33.87 145.66,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-24C77.4,-20.37 84.76,-16.71 92,-14.87 107.51,-10.93 112.49,-10.93 128,-14.87 132.86,-16.1 137.78,-18.16 142.33,-20.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.69,-24 141.04,-23.37 145.63,-22.31 142.56,-20.61 142.56,-20.61 142.56,-20.61 145.63,-22.31 144.09,-17.86 148.69,-24 148.69,-24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-18.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"472\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"472\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M468.94,-51.65C468.42,-61.18 469.44,-69.87 472,-69.87 473.88,-69.87 474.93,-65.18 475.14,-58.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.06,-51.65 478.29,-58.61 475.1,-55.15 475.14,-58.65 475.14,-58.65 475.14,-58.65 475.1,-55.15 471.99,-58.69 475.06,-51.65 475.06,-51.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"422\" y=\"-73.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.98,-51.29C464.12,-68.66 465.79,-87.87 472,-87.87 477.38,-87.87 479.36,-73.42 477.92,-58.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"477.02,-51.29 481.04,-57.83 477.47,-54.76 477.92,-58.23 477.92,-58.23 477.92,-58.23 477.47,-54.76 474.79,-58.63 477.02,-51.29 477.02,-51.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"454\" y=\"-91.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.81,-50.86C459.78,-75.39 461.84,-105.87 472,-105.87 481.21,-105.87 483.77,-80.83 479.67,-57.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.19,-50.86 482.72,-57.06 478.91,-54.28 479.64,-57.71 479.64,-57.71 479.64,-57.71 478.91,-54.28 476.56,-58.36 478.19,-50.86 478.19,-50.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456\" y=\"-109.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.01,-50.66C455.46,-81.94 457.79,-123.87 472,-123.87 485.16,-123.87 488.13,-87.93 480.92,-57.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.99,-50.66 483.87,-56.59 479.91,-54.04 480.83,-57.41 480.83,-57.41 480.83,-57.41 479.91,-54.04 477.79,-58.24 478.99,-50.66 478.99,-50.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440\" y=\"-127.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"336\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"336\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M180.18,-42.53C186.16,-45.47 193.21,-48.39 200,-49.87 243.43,-59.32 256.57,-59.32 300,-49.87 304.46,-48.9 309.02,-47.31 313.33,-45.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"319.82,-42.53 314.76,-48.3 316.63,-43.98 313.45,-45.44 313.45,-45.44 313.45,-45.44 316.63,-43.98 312.14,-42.58 319.82,-42.53 319.82,-42.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-60.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M182.07,-32.11C187.77,-31.6 194.15,-31.12 200,-30.87 244.4,-28.97 255.6,-28.97 300,-30.87 303.47,-31.02 307.13,-31.25 310.73,-31.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317.93,-32.11 310.69,-34.67 314.44,-31.82 310.95,-31.54 310.95,-31.54 310.95,-31.54 314.44,-31.82 311.21,-28.4 317.93,-32.11 317.93,-32.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-34.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.95,-22.2C184.16,-17.39 191.98,-12.35 200,-9.87 242.45,3.29 257.55,3.29 300,-9.87 305.64,-11.62 311.18,-14.62 316.13,-17.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.05,-22.2 314.53,-20.66 319.21,-20.15 316.37,-18.1 316.37,-18.1 316.37,-18.1 319.21,-20.15 318.22,-15.55 322.05,-22.2 322.05,-22.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"218\" y=\"-13.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M354.24,-33.87C377.76,-33.87 420.02,-33.87 446.73,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"453.82,-33.87 446.82,-37.02 450.32,-33.87 446.82,-33.87 446.82,-33.87 446.82,-33.87 450.32,-33.87 446.82,-30.72 453.82,-33.87 453.82,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"530pt\" height=\"192pt\"\n",
|
|
" viewBox=\"0.00 0.00 530.00 191.87\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 187.87)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187.87 526,-187.87 526,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-33.87C2.79,-33.87 17.15,-33.87 30.63,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-33.87 30.94,-37.02 34.44,-33.87 30.94,-33.87 30.94,-33.87 30.94,-33.87 34.44,-33.87 30.94,-30.72 37.94,-33.87 37.94,-33.87\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"164\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-33.87C91.47,-33.87 118.74,-33.87 138.49,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"145.66,-33.87 138.66,-37.02 142.16,-33.87 138.66,-33.87 138.66,-33.87 138.66,-33.87 142.16,-33.87 138.66,-30.72 145.66,-33.87 145.66,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-24C77.4,-20.37 84.76,-16.71 92,-14.87 107.51,-10.93 112.49,-10.93 128,-14.87 132.86,-16.1 137.78,-18.16 142.33,-20.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.69,-24 141.04,-23.37 145.63,-22.31 142.56,-20.61 142.56,-20.61 142.56,-20.61 145.63,-22.31 144.09,-17.86 148.69,-24 148.69,-24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-18.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"472\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"472\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M468.94,-51.65C468.42,-61.18 469.44,-69.87 472,-69.87 473.88,-69.87 474.93,-65.18 475.14,-58.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.06,-51.65 478.29,-58.61 475.1,-55.15 475.14,-58.65 475.14,-58.65 475.14,-58.65 475.1,-55.15 471.99,-58.69 475.06,-51.65 475.06,-51.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"422\" y=\"-73.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.98,-51.29C464.12,-68.66 465.79,-87.87 472,-87.87 477.38,-87.87 479.36,-73.42 477.92,-58.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"477.02,-51.29 481.04,-57.83 477.47,-54.76 477.92,-58.23 477.92,-58.23 477.92,-58.23 477.47,-54.76 474.79,-58.63 477.02,-51.29 477.02,-51.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"454\" y=\"-91.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.81,-50.86C459.78,-75.39 461.84,-105.87 472,-105.87 481.21,-105.87 483.77,-80.83 479.67,-57.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.19,-50.86 482.72,-57.06 478.91,-54.28 479.64,-57.71 479.64,-57.71 479.64,-57.71 478.91,-54.28 476.56,-58.36 478.19,-50.86 478.19,-50.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456\" y=\"-109.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.01,-50.66C455.46,-81.94 457.79,-123.87 472,-123.87 485.16,-123.87 488.13,-87.93 480.92,-57.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.99,-50.66 483.87,-56.59 479.91,-54.04 480.83,-57.41 480.83,-57.41 480.83,-57.41 479.91,-54.04 477.79,-58.24 478.99,-50.66 478.99,-50.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440\" y=\"-127.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"336\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"336\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M180.18,-42.53C186.16,-45.47 193.21,-48.39 200,-49.87 243.43,-59.32 256.57,-59.32 300,-49.87 304.46,-48.9 309.02,-47.31 313.33,-45.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"319.82,-42.53 314.76,-48.3 316.63,-43.98 313.45,-45.44 313.45,-45.44 313.45,-45.44 316.63,-43.98 312.14,-42.58 319.82,-42.53 319.82,-42.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-60.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M182.07,-32.11C187.77,-31.6 194.15,-31.12 200,-30.87 244.4,-28.97 255.6,-28.97 300,-30.87 303.47,-31.02 307.13,-31.25 310.73,-31.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317.93,-32.11 310.69,-34.67 314.44,-31.82 310.95,-31.54 310.95,-31.54 310.95,-31.54 314.44,-31.82 311.21,-28.4 317.93,-32.11 317.93,-32.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-34.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.95,-22.2C184.16,-17.39 191.98,-12.35 200,-9.87 242.45,3.29 257.55,3.29 300,-9.87 305.64,-11.62 311.18,-14.62 316.13,-17.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.05,-22.2 314.53,-20.66 319.21,-20.15 316.37,-18.1 316.37,-18.1 316.37,-18.1 319.21,-20.15 318.22,-15.55 322.05,-22.2 322.05,-22.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"218\" y=\"-13.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M354.24,-33.87C377.76,-33.87 420.02,-33.87 446.73,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"453.82,-33.87 446.82,-37.02 450.32,-33.87 446.82,-33.87 446.82,-33.87 446.82,-33.87 450.32,-33.87 446.82,-30.72 453.82,-33.87 453.82,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fd7cff90> >"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.separate_edges(aut)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "3f523aba",
|
|
"metadata": {},
|
|
"source": [
|
|
"A slightly lower-level interface is the `edge_separator` class. This makes it possible to declare a \"basis\" (a set of labels) that will be used to separate the edge of an automaton.\n",
|
|
"\n",
|
|
"`separate_edges()` is actually implemented as follows:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"id": "2716cc20",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"530pt\" height=\"192pt\"\n",
|
|
" viewBox=\"0.00 0.00 530.00 191.87\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 187.87)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187.87 526,-187.87 526,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-33.87C2.79,-33.87 17.15,-33.87 30.63,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-33.87 30.94,-37.02 34.44,-33.87 30.94,-33.87 30.94,-33.87 30.94,-33.87 34.44,-33.87 30.94,-30.72 37.94,-33.87 37.94,-33.87\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"164\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-33.87C91.47,-33.87 118.74,-33.87 138.49,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"145.66,-33.87 138.66,-37.02 142.16,-33.87 138.66,-33.87 138.66,-33.87 138.66,-33.87 142.16,-33.87 138.66,-30.72 145.66,-33.87 145.66,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-24C77.4,-20.37 84.76,-16.71 92,-14.87 107.51,-10.93 112.49,-10.93 128,-14.87 132.86,-16.1 137.78,-18.16 142.33,-20.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.69,-24 141.04,-23.37 145.63,-22.31 142.56,-20.61 142.56,-20.61 142.56,-20.61 145.63,-22.31 144.09,-17.86 148.69,-24 148.69,-24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-18.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"472\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"472\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M468.94,-51.65C468.42,-61.18 469.44,-69.87 472,-69.87 473.88,-69.87 474.93,-65.18 475.14,-58.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.06,-51.65 478.29,-58.61 475.1,-55.15 475.14,-58.65 475.14,-58.65 475.14,-58.65 475.1,-55.15 471.99,-58.69 475.06,-51.65 475.06,-51.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"422\" y=\"-73.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.98,-51.29C464.12,-68.66 465.79,-87.87 472,-87.87 477.38,-87.87 479.36,-73.42 477.92,-58.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"477.02,-51.29 481.04,-57.83 477.47,-54.76 477.92,-58.23 477.92,-58.23 477.92,-58.23 477.47,-54.76 474.79,-58.63 477.02,-51.29 477.02,-51.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"454\" y=\"-91.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.81,-50.86C459.78,-75.39 461.84,-105.87 472,-105.87 481.21,-105.87 483.77,-80.83 479.67,-57.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.19,-50.86 482.72,-57.06 478.91,-54.28 479.64,-57.71 479.64,-57.71 479.64,-57.71 478.91,-54.28 476.56,-58.36 478.19,-50.86 478.19,-50.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456\" y=\"-109.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.01,-50.66C455.46,-81.94 457.79,-123.87 472,-123.87 485.16,-123.87 488.13,-87.93 480.92,-57.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.99,-50.66 483.87,-56.59 479.91,-54.04 480.83,-57.41 480.83,-57.41 480.83,-57.41 479.91,-54.04 477.79,-58.24 478.99,-50.66 478.99,-50.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440\" y=\"-127.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"336\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"336\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M180.18,-42.53C186.16,-45.47 193.21,-48.39 200,-49.87 243.43,-59.32 256.57,-59.32 300,-49.87 304.46,-48.9 309.02,-47.31 313.33,-45.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"319.82,-42.53 314.76,-48.3 316.63,-43.98 313.45,-45.44 313.45,-45.44 313.45,-45.44 316.63,-43.98 312.14,-42.58 319.82,-42.53 319.82,-42.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-60.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M182.07,-32.11C187.77,-31.6 194.15,-31.12 200,-30.87 244.4,-28.97 255.6,-28.97 300,-30.87 303.47,-31.02 307.13,-31.25 310.73,-31.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317.93,-32.11 310.69,-34.67 314.44,-31.82 310.95,-31.54 310.95,-31.54 310.95,-31.54 314.44,-31.82 311.21,-28.4 317.93,-32.11 317.93,-32.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-34.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.95,-22.2C184.16,-17.39 191.98,-12.35 200,-9.87 242.45,3.29 257.55,3.29 300,-9.87 305.64,-11.62 311.18,-14.62 316.13,-17.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.05,-22.2 314.53,-20.66 319.21,-20.15 316.37,-18.1 316.37,-18.1 316.37,-18.1 319.21,-20.15 318.22,-15.55 322.05,-22.2 322.05,-22.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"218\" y=\"-13.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M354.24,-33.87C377.76,-33.87 420.02,-33.87 446.73,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"453.82,-33.87 446.82,-37.02 450.32,-33.87 446.82,-33.87 446.82,-33.87 446.82,-33.87 450.32,-33.87 446.82,-30.72 453.82,-33.87 453.82,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"530pt\" height=\"192pt\"\n",
|
|
" viewBox=\"0.00 0.00 530.00 191.87\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 187.87)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187.87 526,-187.87 526,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-33.87C2.79,-33.87 17.15,-33.87 30.63,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-33.87 30.94,-37.02 34.44,-33.87 30.94,-33.87 30.94,-33.87 30.94,-33.87 34.44,-33.87 30.94,-30.72 37.94,-33.87 37.94,-33.87\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"164\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-33.87C91.47,-33.87 118.74,-33.87 138.49,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"145.66,-33.87 138.66,-37.02 142.16,-33.87 138.66,-33.87 138.66,-33.87 138.66,-33.87 142.16,-33.87 138.66,-30.72 145.66,-33.87 145.66,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-24C77.4,-20.37 84.76,-16.71 92,-14.87 107.51,-10.93 112.49,-10.93 128,-14.87 132.86,-16.1 137.78,-18.16 142.33,-20.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"148.69,-24 141.04,-23.37 145.63,-22.31 142.56,-20.61 142.56,-20.61 142.56,-20.61 145.63,-22.31 144.09,-17.86 148.69,-24 148.69,-24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-18.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"472\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"472\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M468.94,-51.65C468.42,-61.18 469.44,-69.87 472,-69.87 473.88,-69.87 474.93,-65.18 475.14,-58.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.06,-51.65 478.29,-58.61 475.1,-55.15 475.14,-58.65 475.14,-58.65 475.14,-58.65 475.1,-55.15 471.99,-58.69 475.06,-51.65 475.06,-51.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"422\" y=\"-73.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.98,-51.29C464.12,-68.66 465.79,-87.87 472,-87.87 477.38,-87.87 479.36,-73.42 477.92,-58.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"477.02,-51.29 481.04,-57.83 477.47,-54.76 477.92,-58.23 477.92,-58.23 477.92,-58.23 477.47,-54.76 474.79,-58.63 477.02,-51.29 477.02,-51.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"454\" y=\"-91.67\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.81,-50.86C459.78,-75.39 461.84,-105.87 472,-105.87 481.21,-105.87 483.77,-80.83 479.67,-57.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.19,-50.86 482.72,-57.06 478.91,-54.28 479.64,-57.71 479.64,-57.71 479.64,-57.71 478.91,-54.28 476.56,-58.36 478.19,-50.86 478.19,-50.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456\" y=\"-109.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.01,-50.66C455.46,-81.94 457.79,-123.87 472,-123.87 485.16,-123.87 488.13,-87.93 480.92,-57.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"478.99,-50.66 483.87,-56.59 479.91,-54.04 480.83,-57.41 480.83,-57.41 480.83,-57.41 479.91,-54.04 477.79,-58.24 478.99,-50.66 478.99,-50.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"440\" y=\"-127.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"336\" cy=\"-33.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"336\" y=\"-30.17\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M180.18,-42.53C186.16,-45.47 193.21,-48.39 200,-49.87 243.43,-59.32 256.57,-59.32 300,-49.87 304.46,-48.9 309.02,-47.31 313.33,-45.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"319.82,-42.53 314.76,-48.3 316.63,-43.98 313.45,-45.44 313.45,-45.44 313.45,-45.44 316.63,-43.98 312.14,-42.58 319.82,-42.53 319.82,-42.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-60.67\" font-family=\"Lato\" font-size=\"14.00\">(!a & b) | (!a & !c)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M182.07,-32.11C187.77,-31.6 194.15,-31.12 200,-30.87 244.4,-28.97 255.6,-28.97 300,-30.87 303.47,-31.02 307.13,-31.25 310.73,-31.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317.93,-32.11 310.69,-34.67 314.44,-31.82 310.95,-31.54 310.95,-31.54 310.95,-31.54 314.44,-31.82 311.21,-28.4 317.93,-32.11 317.93,-32.11\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-34.67\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M177.95,-22.2C184.16,-17.39 191.98,-12.35 200,-9.87 242.45,3.29 257.55,3.29 300,-9.87 305.64,-11.62 311.18,-14.62 316.13,-17.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.05,-22.2 314.53,-20.66 319.21,-20.15 316.37,-18.1 316.37,-18.1 316.37,-18.1 319.21,-20.15 318.22,-15.55 322.05,-22.2 322.05,-22.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"218\" y=\"-13.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M354.24,-33.87C377.76,-33.87 420.02,-33.87 446.73,-33.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"453.82,-33.87 446.82,-37.02 450.32,-33.87 446.82,-33.87 446.82,-33.87 446.82,-33.87 450.32,-33.87 446.82,-30.72 453.82,-33.87 453.82,-33.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"372\" y=\"-37.67\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fd7dcf00> >"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"es = spot.edge_separator()\n",
|
|
"es.add_to_basis(aut) # create a basis from the labels of aut\n",
|
|
"es.separate_implying(aut) # replace labels by all labels of the basis that imply them"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9a46e347",
|
|
"metadata": {},
|
|
"source": [
|
|
"The `edge_separator` can also be used to separate the edges of *another* automaton:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"id": "25d779a9",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"190pt\" height=\"77pt\"\n",
|
|
" viewBox=\"0.00 0.00 190.00 77.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 73)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-73 186,-73 186,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-18C2.79,-18 17.15,-18 30.63,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-18 30.94,-21.15 34.44,-18 30.94,-18 30.94,-18 30.94,-18 34.44,-18 30.94,-14.85 37.94,-18 37.94,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-35.04C48.32,-44.86 50.45,-54 56,-54 60.17,-54 62.4,-48.86 62.71,-42.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-35.04 65.85,-41.88 62.54,-38.53 62.71,-42.03 62.71,-42.03 62.71,-42.03 62.54,-38.53 59.56,-42.18 62.38,-35.04 62.38,-35.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">a</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"164\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"164\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.03,-18C91.47,-18 118.74,-18 138.49,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"145.66,-18 138.66,-21.15 142.16,-18 138.66,-18 138.66,-18 138.66,-18 142.16,-18 138.66,-14.85 145.66,-18 145.66,-18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\">!a & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M154.77,-33.54C152.17,-43.91 155.25,-54 164,-54 170.7,-54 174.08,-48.08 174.12,-40.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.23,-33.54 177.23,-40.1 173.67,-37.01 174.1,-40.49 174.1,-40.49 174.1,-40.49 173.67,-37.01 170.98,-40.88 173.23,-33.54 173.23,-33.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">d</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"361pt\" height=\"189pt\"\n",
|
|
" viewBox=\"0.00 0.00 361.00 189.31\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 185.31)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.31 357,-185.31 357,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-31.31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.61\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-31.31C2.79,-31.31 17.15,-31.31 30.63,-31.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-31.31 30.94,-34.46 34.44,-31.31 30.94,-31.31 30.94,-31.31 30.94,-31.31 34.44,-31.31 30.94,-28.16 37.94,-31.31 37.94,-31.31\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.76,-49.09C52.21,-58.62 53.29,-67.31 56,-67.31 57.99,-67.31 59.1,-62.62 59.33,-56.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.24,-49.09 62.48,-56.05 59.28,-52.59 59.33,-56.09 59.33,-56.09 59.33,-56.09 59.28,-52.59 56.18,-56.13 59.24,-49.09 59.24,-49.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-71.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M50.68,-48.73C47.65,-66.1 49.43,-85.31 56,-85.31 61.7,-85.31 63.79,-70.86 62.27,-55.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"61.32,-48.73 65.39,-55.23 61.79,-52.19 62.26,-55.66 62.26,-55.66 62.26,-55.66 61.79,-52.19 59.14,-56.09 61.32,-48.73 61.32,-48.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"40\" y=\"-89.11\" font-family=\"Lato\" font-size=\"14.00\">a & b</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"278\" cy=\"-31.31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"278\" y=\"-27.61\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.26,-31.31C113.14,-31.31 207.65,-31.31 252.54,-31.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"259.82,-31.31 252.82,-34.46 256.32,-31.31 252.82,-31.31 252.82,-31.31 252.82,-31.31 256.32,-31.31 252.82,-28.16 259.82,-31.31 259.82,-31.31\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-35.11\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-21.44C77.4,-17.81 84.76,-14.14 92,-12.31 156.62,4.1 177.38,4.1 242,-12.31 246.86,-13.54 251.78,-15.6 256.33,-17.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"262.69,-21.44 255.04,-20.81 259.63,-19.75 256.56,-18.05 256.56,-18.05 256.56,-18.05 259.63,-19.75 258.09,-15.29 262.69,-21.44 262.69,-21.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"123\" y=\"-16.11\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M273.09,-48.72C272.17,-58.39 273.81,-67.31 278,-67.31 281.08,-67.31 282.78,-62.5 283.1,-56.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"282.91,-48.72 286.24,-55.63 283,-52.21 283.09,-55.71 283.09,-55.71 283.09,-55.71 283,-52.21 279.94,-55.79 282.91,-48.72 282.91,-48.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-71.11\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M270.19,-47.61C265.14,-65.27 267.74,-85.31 278,-85.31 286.9,-85.31 290.04,-70.24 287.42,-54.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"285.81,-47.61 290.43,-53.75 286.59,-51.03 287.36,-54.44 287.36,-54.44 287.36,-54.44 286.59,-51.03 284.29,-55.14 285.81,-47.61 285.81,-47.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"247.5\" y=\"-89.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.57,-46.86C258.1,-71.62 261.24,-103.31 278,-103.31 293.25,-103.31 297.23,-77.06 289.92,-53.67\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"287.43,-46.86 292.79,-52.35 288.63,-50.15 289.83,-53.44 289.83,-53.44 289.83,-53.44 288.63,-50.15 286.87,-54.52 287.43,-46.86 287.43,-46.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"249.5\" y=\"-107.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M267.57,-46.35C251.11,-77.8 254.58,-121.31 278,-121.31 299.86,-121.31 304.34,-83.38 291.44,-52.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"288.43,-46.35 294.26,-51.35 289.92,-49.52 291.41,-52.69 291.41,-52.69 291.41,-52.69 289.92,-49.52 288.56,-54.03 288.43,-46.35 288.43,-46.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-125.11\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"aut2 = spot.translate('a W Gd')\n",
|
|
"# replace labels based on \"compatibility\" with those from the basis\n",
|
|
"aut2sep = es.separate_compat(aut2)\n",
|
|
"display_inline(aut2, aut2sep)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d448df40",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now, if we take any label A in `aut2sep` and any label B in `aut`, we necessarily \n",
|
|
"have A∧B ∈ {A,0}. I.e., either A implies B, or A and B are incompatible. This is useful in certain algorithm that want to check that the inclusion of on automaton in another one, because they can arange to onlu check the inclusion (with `bdd_implies`) of the labels from the small automaton into the labels of the larger automaton."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "db0b203b",
|
|
"metadata": {},
|
|
"source": [
|
|
"We could also use `edge_separator` to create a combined basis for two automata:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"id": "2de45a46",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"584pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 584.11 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.8695652173913044 0.8695652173913044) rotate(0) translate(4 409.86)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-409.86 667.5,-409.86 667.5,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-123.86C2.79,-123.86 17.15,-123.86 30.63,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-123.86 30.94,-127.01 34.44,-123.86 30.94,-123.86 30.94,-123.86 30.94,-123.86 34.44,-123.86 30.94,-120.71 37.94,-123.86 37.94,-123.86\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"192\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.88,-138.2C73.09,-145.9 81.84,-154.65 92,-158.86 118.28,-169.74 129.72,-169.74 156,-158.86 163.78,-155.64 170.73,-149.75 176.35,-143.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"181.12,-138.2 178.92,-145.56 178.83,-140.85 176.54,-143.5 176.54,-143.5 176.54,-143.5 178.83,-140.85 174.16,-141.43 181.12,-138.2 181.12,-138.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-170.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.24,-123.86C97.76,-123.86 140.02,-123.86 166.73,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-123.86 166.82,-127.01 170.32,-123.86 166.82,-123.86 166.82,-123.86 166.82,-123.86 170.32,-123.86 166.82,-120.71 173.82,-123.86 173.82,-123.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-127.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-113.99C77.4,-110.37 84.76,-106.7 92,-104.86 119.57,-97.86 128.43,-97.86 156,-104.86 160.86,-106.09 165.78,-108.16 170.33,-110.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.69,-113.99 169.04,-113.36 173.63,-112.3 170.56,-110.6 170.56,-110.6 170.56,-110.6 173.63,-112.3 172.09,-107.85 176.69,-113.99 176.69,-113.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-108.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.98,-107.72C70.91,-97.68 80.04,-85.63 92,-79.86 117.62,-67.5 130.38,-67.5 156,-79.86 165.53,-84.45 173.26,-93.04 179.01,-101.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.02,-107.72 176.6,-103.51 181.14,-104.77 179.26,-101.82 179.26,-101.82 179.26,-101.82 181.14,-104.77 181.92,-100.12 183.02,-107.72 183.02,-107.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-83.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"585\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"585\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M583.15,-142.01C582.86,-151.4 583.48,-159.86 585,-159.86 586.12,-159.86 586.75,-155.3 586.89,-149.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"586.85,-142.01 590.04,-149 586.87,-145.51 586.89,-149.01 586.89,-149.01 586.89,-149.01 586.87,-145.51 583.74,-149.03 586.85,-142.01 586.85,-142.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"506.5\" y=\"-163.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & !d) | (!a & !c & !d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M581.92,-141.84C580.27,-159.06 581.3,-177.86 585,-177.86 588.18,-177.86 589.39,-163.97 588.62,-149.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"588.08,-141.84 591.74,-148.59 588.34,-145.33 588.59,-148.82 588.59,-148.82 588.59,-148.82 588.34,-145.33 585.45,-149.05 588.08,-141.84 588.08,-141.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"553\" y=\"-181.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M581.16,-141.57C577.65,-165.97 578.93,-195.86 585,-195.86 590.5,-195.86 592.06,-171.31 589.7,-148.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"588.84,-141.57 592.82,-148.14 589.27,-145.05 589.7,-148.52 589.7,-148.52 589.7,-148.52 589.27,-145.05 586.57,-148.91 588.84,-141.57 588.84,-141.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"554.5\" y=\"-199.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M580.62,-141.53C575.05,-172.71 576.51,-213.86 585,-213.86 592.86,-213.86 594.69,-178.59 590.5,-148.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"589.38,-141.53 593.58,-147.95 589.93,-144.99 590.47,-148.44 590.47,-148.44 590.47,-148.44 589.93,-144.99 587.36,-148.94 589.38,-141.53 589.38,-141.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"539\" y=\"-217.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M580.25,-141.4C572.46,-179.17 574.04,-231.86 585,-231.86 595.28,-231.86 597.31,-185.55 591.1,-148.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"589.75,-141.4 594.13,-147.7 590.39,-144.84 591.04,-148.28 591.04,-148.28 591.04,-148.28 590.39,-144.84 587.94,-148.86 589.75,-141.4 589.75,-141.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"510\" y=\"-235.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M579.96,-141.33C569.87,-185.55 571.55,-249.86 585,-249.86 597.77,-249.86 599.93,-191.91 591.49,-148.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"590.04,-141.33 594.57,-147.53 590.76,-144.76 591.48,-148.18 591.48,-148.18 591.48,-148.18 590.76,-144.76 588.4,-148.83 590.04,-141.33 590.04,-141.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"554.5\" y=\"-253.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M579.76,-141.14C567.28,-191.71 569.02,-267.86 585,-267.86 600.26,-267.86 602.54,-198.4 591.84,-148.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"590.24,-141.14 594.88,-147.26 591.02,-144.55 591.81,-147.97 591.81,-147.97 591.81,-147.97 591.02,-144.55 588.74,-148.67 590.24,-141.14 590.24,-141.14\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"556.5\" y=\"-271.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M579.58,-141.07C564.7,-197.92 566.5,-285.86 585,-285.86 602.74,-285.86 605.13,-204.99 592.17,-148.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"590.42,-141.07 595.14,-147.12 591.25,-144.47 592.08,-147.87 592.08,-147.87 592.08,-147.87 591.25,-144.47 589.02,-148.62 590.42,-141.07 590.42,-141.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541\" y=\"-289.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"421\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"421\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.97,-141.58C199.94,-159.04 208.85,-184.8 228,-196.86 287.05,-234.03 325.95,-234.03 385,-196.86 401.76,-186.31 410.67,-165.27 415.3,-148.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"417.03,-141.58 418.38,-149.13 416.18,-144.97 415.32,-148.37 415.32,-148.37 415.32,-148.37 416.18,-144.97 412.27,-147.6 417.03,-141.58 417.03,-141.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-227.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & !d) | (!a & !c & !d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M202.88,-138.2C209.09,-145.9 217.84,-154.65 228,-158.86 260.23,-172.21 352.77,-172.21 385,-158.86 392.78,-155.64 399.73,-149.75 405.35,-143.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"410.12,-138.2 407.92,-145.56 407.83,-140.85 405.54,-143.5 405.54,-143.5 405.54,-143.5 407.83,-140.85 403.16,-141.43 410.12,-138.2 410.12,-138.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"276\" y=\"-172.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.06,-123.86C249.91,-123.86 349.22,-123.86 395.52,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"402.74,-123.86 395.74,-127.01 399.24,-123.86 395.74,-123.86 395.74,-123.86 395.74,-123.86 399.24,-123.86 395.74,-120.71 402.74,-123.86 402.74,-123.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"260.5\" y=\"-127.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.31,-113.99C213.4,-110.37 220.76,-106.7 228,-104.86 295.63,-87.69 317.37,-87.69 385,-104.86 389.86,-106.09 394.78,-108.16 399.33,-110.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"405.69,-113.99 398.04,-113.36 402.63,-112.3 399.56,-110.6 399.56,-110.6 399.56,-110.6 402.63,-112.3 401.09,-107.85 405.69,-113.99 405.69,-113.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.5\" y=\"-108.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M199.38,-107.25C204.95,-95.3 214.32,-80.06 228,-72.86 289.74,-40.35 323.26,-40.35 385,-72.86 396.33,-78.83 404.7,-90.3 410.41,-100.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"413.62,-107.25 407.66,-102.41 412.05,-104.12 410.48,-101 410.48,-101 410.48,-101 412.05,-104.12 413.29,-99.58 413.62,-107.25 413.62,-107.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-76.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M193.89,-105.66C196.06,-83.51 203.4,-46.95 228,-29.86 285.31,9.95 327.69,9.95 385,-29.86 407.1,-45.21 415.27,-76.28 418.28,-98.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"419.11,-105.66 415.17,-99.07 418.71,-102.18 418.3,-98.71 418.3,-98.71 418.3,-98.71 418.71,-102.18 421.43,-98.34 419.11,-105.66 419.11,-105.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-33.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M439.03,-123.86C467.88,-123.86 526.46,-123.86 559.64,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"566.71,-123.86 559.71,-127.01 563.21,-123.86 559.71,-123.86 559.71,-123.86 559.71,-123.86 563.21,-123.86 559.71,-120.71 566.71,-123.86 566.71,-123.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"457\" y=\"-127.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M436.31,-113.99C442.4,-110.37 449.76,-106.7 457,-104.86 496.63,-94.8 509.37,-94.8 549,-104.86 553.86,-106.09 558.78,-108.16 563.33,-110.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"569.69,-113.99 562.04,-113.36 566.63,-112.3 563.56,-110.6 563.56,-110.6 563.56,-110.6 566.63,-112.3 565.09,-107.85 569.69,-113.99 569.69,-113.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"459\" y=\"-108.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"584pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 584.11 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.8695652173913044 0.8695652173913044) rotate(0) translate(4 409.86)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-409.86 667.5,-409.86 667.5,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-123.86C2.79,-123.86 17.15,-123.86 30.63,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-123.86 30.94,-127.01 34.44,-123.86 30.94,-123.86 30.94,-123.86 30.94,-123.86 34.44,-123.86 30.94,-120.71 37.94,-123.86 37.94,-123.86\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"192\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"192\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.88,-138.2C73.09,-145.9 81.84,-154.65 92,-158.86 118.28,-169.74 129.72,-169.74 156,-158.86 163.78,-155.64 170.73,-149.75 176.35,-143.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"181.12,-138.2 178.92,-145.56 178.83,-140.85 176.54,-143.5 176.54,-143.5 176.54,-143.5 178.83,-140.85 174.16,-141.43 181.12,-138.2 181.12,-138.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-170.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.24,-123.86C97.76,-123.86 140.02,-123.86 166.73,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.82,-123.86 166.82,-127.01 170.32,-123.86 166.82,-123.86 166.82,-123.86 166.82,-123.86 170.32,-123.86 166.82,-120.71 173.82,-123.86 173.82,-123.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-127.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-113.99C77.4,-110.37 84.76,-106.7 92,-104.86 119.57,-97.86 128.43,-97.86 156,-104.86 160.86,-106.09 165.78,-108.16 170.33,-110.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.69,-113.99 169.04,-113.36 173.63,-112.3 170.56,-110.6 170.56,-110.6 170.56,-110.6 173.63,-112.3 172.09,-107.85 176.69,-113.99 176.69,-113.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"93.5\" y=\"-108.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.98,-107.72C70.91,-97.68 80.04,-85.63 92,-79.86 117.62,-67.5 130.38,-67.5 156,-79.86 165.53,-84.45 173.26,-93.04 179.01,-101.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"183.02,-107.72 176.6,-103.51 181.14,-104.77 179.26,-101.82 179.26,-101.82 179.26,-101.82 181.14,-104.77 181.92,-100.12 183.02,-107.72 183.02,-107.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-83.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"585\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"585\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M583.15,-142.01C582.86,-151.4 583.48,-159.86 585,-159.86 586.12,-159.86 586.75,-155.3 586.89,-149.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"586.85,-142.01 590.04,-149 586.87,-145.51 586.89,-149.01 586.89,-149.01 586.89,-149.01 586.87,-145.51 583.74,-149.03 586.85,-142.01 586.85,-142.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"506.5\" y=\"-163.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & !d) | (!a & !c & !d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M581.92,-141.84C580.27,-159.06 581.3,-177.86 585,-177.86 588.18,-177.86 589.39,-163.97 588.62,-149.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"588.08,-141.84 591.74,-148.59 588.34,-145.33 588.59,-148.82 588.59,-148.82 588.59,-148.82 588.34,-145.33 585.45,-149.05 588.08,-141.84 588.08,-141.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"553\" y=\"-181.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M581.16,-141.57C577.65,-165.97 578.93,-195.86 585,-195.86 590.5,-195.86 592.06,-171.31 589.7,-148.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"588.84,-141.57 592.82,-148.14 589.27,-145.05 589.7,-148.52 589.7,-148.52 589.7,-148.52 589.27,-145.05 586.57,-148.91 588.84,-141.57 588.84,-141.57\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"554.5\" y=\"-199.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M580.62,-141.53C575.05,-172.71 576.51,-213.86 585,-213.86 592.86,-213.86 594.69,-178.59 590.5,-148.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"589.38,-141.53 593.58,-147.95 589.93,-144.99 590.47,-148.44 590.47,-148.44 590.47,-148.44 589.93,-144.99 587.36,-148.94 589.38,-141.53 589.38,-141.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"539\" y=\"-217.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M580.25,-141.4C572.46,-179.17 574.04,-231.86 585,-231.86 595.28,-231.86 597.31,-185.55 591.1,-148.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"589.75,-141.4 594.13,-147.7 590.39,-144.84 591.04,-148.28 591.04,-148.28 591.04,-148.28 590.39,-144.84 587.94,-148.86 589.75,-141.4 589.75,-141.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"510\" y=\"-235.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M579.96,-141.33C569.87,-185.55 571.55,-249.86 585,-249.86 597.77,-249.86 599.93,-191.91 591.49,-148.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"590.04,-141.33 594.57,-147.53 590.76,-144.76 591.48,-148.18 591.48,-148.18 591.48,-148.18 590.76,-144.76 588.4,-148.83 590.04,-141.33 590.04,-141.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"554.5\" y=\"-253.66\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M579.76,-141.14C567.28,-191.71 569.02,-267.86 585,-267.86 600.26,-267.86 602.54,-198.4 591.84,-148.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"590.24,-141.14 594.88,-147.26 591.02,-144.55 591.81,-147.97 591.81,-147.97 591.81,-147.97 591.02,-144.55 588.74,-148.67 590.24,-141.14 590.24,-141.14\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"556.5\" y=\"-271.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M579.58,-141.07C564.7,-197.92 566.5,-285.86 585,-285.86 602.74,-285.86 605.13,-204.99 592.17,-148.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"590.42,-141.07 595.14,-147.12 591.25,-144.47 592.08,-147.87 592.08,-147.87 592.08,-147.87 591.25,-144.47 589.02,-148.62 590.42,-141.07 590.42,-141.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"541\" y=\"-289.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"421\" cy=\"-123.86\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"421\" y=\"-120.16\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M195.97,-141.58C199.94,-159.04 208.85,-184.8 228,-196.86 287.05,-234.03 325.95,-234.03 385,-196.86 401.76,-186.31 410.67,-165.27 415.3,-148.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"417.03,-141.58 418.38,-149.13 416.18,-144.97 415.32,-148.37 415.32,-148.37 415.32,-148.37 416.18,-144.97 412.27,-147.6 417.03,-141.58 417.03,-141.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"228\" y=\"-227.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & !d) | (!a & !c & !d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M202.88,-138.2C209.09,-145.9 217.84,-154.65 228,-158.86 260.23,-172.21 352.77,-172.21 385,-158.86 392.78,-155.64 399.73,-149.75 405.35,-143.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"410.12,-138.2 407.92,-145.56 407.83,-140.85 405.54,-143.5 405.54,-143.5 405.54,-143.5 407.83,-140.85 403.16,-141.43 410.12,-138.2 410.12,-138.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"276\" y=\"-172.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M210.06,-123.86C249.91,-123.86 349.22,-123.86 395.52,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"402.74,-123.86 395.74,-127.01 399.24,-123.86 395.74,-123.86 395.74,-123.86 395.74,-123.86 399.24,-123.86 395.74,-120.71 402.74,-123.86 402.74,-123.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"260.5\" y=\"-127.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M207.31,-113.99C213.4,-110.37 220.76,-106.7 228,-104.86 295.63,-87.69 317.37,-87.69 385,-104.86 389.86,-106.09 394.78,-108.16 399.33,-110.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"405.69,-113.99 398.04,-113.36 402.63,-112.3 399.56,-110.6 399.56,-110.6 399.56,-110.6 402.63,-112.3 401.09,-107.85 405.69,-113.99 405.69,-113.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.5\" y=\"-108.66\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M199.38,-107.25C204.95,-95.3 214.32,-80.06 228,-72.86 289.74,-40.35 323.26,-40.35 385,-72.86 396.33,-78.83 404.7,-90.3 410.41,-100.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"413.62,-107.25 407.66,-102.41 412.05,-104.12 410.48,-101 410.48,-101 410.48,-101 412.05,-104.12 413.29,-99.58 413.62,-107.25 413.62,-107.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-76.66\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->3 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>2->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M193.89,-105.66C196.06,-83.51 203.4,-46.95 228,-29.86 285.31,9.95 327.69,9.95 385,-29.86 407.1,-45.21 415.27,-76.28 418.28,-98.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"419.11,-105.66 415.17,-99.07 418.71,-102.18 418.3,-98.71 418.3,-98.71 418.3,-98.71 418.71,-102.18 421.43,-98.34 419.11,-105.66 419.11,-105.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-33.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M439.03,-123.86C467.88,-123.86 526.46,-123.86 559.64,-123.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"566.71,-123.86 559.71,-127.01 563.21,-123.86 559.71,-123.86 559.71,-123.86 559.71,-123.86 563.21,-123.86 559.71,-120.71 566.71,-123.86 566.71,-123.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"457\" y=\"-127.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M436.31,-113.99C442.4,-110.37 449.76,-106.7 457,-104.86 496.63,-94.8 509.37,-94.8 549,-104.86 553.86,-106.09 558.78,-108.16 563.33,-110.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"569.69,-113.99 562.04,-113.36 566.63,-112.3 563.56,-110.6 563.56,-110.6 563.56,-110.6 566.63,-112.3 565.09,-107.85 569.69,-113.99 569.69,-113.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"459\" y=\"-108.66\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fe037180> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/svg+xml": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"361pt\" height=\"189pt\"\n",
|
|
" viewBox=\"0.00 0.00 361.00 189.31\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 185.31)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.31 357,-185.31 357,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-31.31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.61\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-31.31C2.79,-31.31 17.15,-31.31 30.63,-31.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-31.31 30.94,-34.46 34.44,-31.31 30.94,-31.31 30.94,-31.31 30.94,-31.31 34.44,-31.31 30.94,-28.16 37.94,-31.31 37.94,-31.31\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M54.37,-49.46C54.12,-58.84 54.66,-67.31 56,-67.31 56.98,-67.31 57.53,-62.74 57.66,-56.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"57.63,-49.46 60.81,-56.44 57.64,-52.96 57.66,-56.46 57.66,-56.46 57.66,-56.46 57.64,-52.96 54.51,-56.47 57.63,-49.46 57.63,-49.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"24\" y=\"-71.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M53.29,-49.28C51.85,-66.51 52.75,-85.31 56,-85.31 58.79,-85.31 59.85,-71.42 59.18,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"58.71,-49.28 62.3,-56.07 58.93,-52.78 59.16,-56.27 59.16,-56.27 59.16,-56.27 58.93,-52.78 56.01,-56.47 58.71,-49.28 58.71,-49.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"25.5\" y=\"-89.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.63,-49.02C49.55,-73.42 50.67,-103.31 56,-103.31 60.83,-103.31 62.2,-78.76 60.13,-56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.37,-49.02 63.26,-55.64 59.75,-52.5 60.12,-55.98 60.12,-55.98 60.12,-55.98 59.75,-52.5 56.99,-56.32 59.37,-49.02 59.37,-49.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"25.5\" y=\"-107.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.16,-48.98C47.27,-80.16 48.55,-121.31 56,-121.31 62.9,-121.31 64.51,-86.04 60.83,-56.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.84,-48.98 63.93,-55.47 60.33,-52.44 60.81,-55.91 60.81,-55.91 60.81,-55.91 60.33,-52.44 57.69,-56.34 59.84,-48.98 59.84,-48.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"27.5\" y=\"-125.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"278\" cy=\"-31.31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"278\" y=\"-27.61\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.26,-31.31C113.14,-31.31 207.65,-31.31 252.54,-31.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"259.82,-31.31 252.82,-34.46 256.32,-31.31 252.82,-31.31 252.82,-31.31 252.82,-31.31 256.32,-31.31 252.82,-28.16 259.82,-31.31 259.82,-31.31\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-35.11\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-21.44C77.4,-17.81 84.76,-14.14 92,-12.31 156.62,4.1 177.38,4.1 242,-12.31 246.86,-13.54 251.78,-15.6 256.33,-17.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"262.69,-21.44 255.04,-20.81 259.63,-19.75 256.56,-18.05 256.56,-18.05 256.56,-18.05 259.63,-19.75 258.09,-15.29 262.69,-21.44 262.69,-21.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"123\" y=\"-16.11\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M273.09,-48.72C272.17,-58.39 273.81,-67.31 278,-67.31 281.08,-67.31 282.78,-62.5 283.1,-56.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"282.91,-48.72 286.24,-55.63 283,-52.21 283.09,-55.71 283.09,-55.71 283.09,-55.71 283,-52.21 279.94,-55.79 282.91,-48.72 282.91,-48.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-71.11\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M270.19,-47.61C265.14,-65.27 267.74,-85.31 278,-85.31 286.9,-85.31 290.04,-70.24 287.42,-54.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"285.81,-47.61 290.43,-53.75 286.59,-51.03 287.36,-54.44 287.36,-54.44 287.36,-54.44 286.59,-51.03 284.29,-55.14 285.81,-47.61 285.81,-47.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"247.5\" y=\"-89.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.57,-46.86C258.1,-71.62 261.24,-103.31 278,-103.31 293.25,-103.31 297.23,-77.06 289.92,-53.67\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"287.43,-46.86 292.79,-52.35 288.63,-50.15 289.83,-53.44 289.83,-53.44 289.83,-53.44 288.63,-50.15 286.87,-54.52 287.43,-46.86 287.43,-46.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"249.5\" y=\"-107.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M267.57,-46.35C251.11,-77.8 254.58,-121.31 278,-121.31 299.86,-121.31 304.34,-83.38 291.44,-52.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"288.43,-46.35 294.26,-51.35 289.92,-49.52 291.41,-52.69 291.41,-52.69 291.41,-52.69 289.92,-49.52 288.56,-54.03 288.43,-46.35 288.43,-46.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-125.11\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/html": [
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"361pt\" height=\"189pt\"\n",
|
|
" viewBox=\"0.00 0.00 361.00 189.31\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 185.31)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.31 357,-185.31 357,4 -4,4\"/>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-31.31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.61\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-31.31C2.79,-31.31 17.15,-31.31 30.63,-31.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-31.31 30.94,-34.46 34.44,-31.31 30.94,-31.31 30.94,-31.31 30.94,-31.31 34.44,-31.31 30.94,-28.16 37.94,-31.31 37.94,-31.31\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M54.37,-49.46C54.12,-58.84 54.66,-67.31 56,-67.31 56.98,-67.31 57.53,-62.74 57.66,-56.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"57.63,-49.46 60.81,-56.44 57.64,-52.96 57.66,-56.46 57.66,-56.46 57.66,-56.46 57.64,-52.96 54.51,-56.47 57.63,-49.46 57.63,-49.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"24\" y=\"-71.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M53.29,-49.28C51.85,-66.51 52.75,-85.31 56,-85.31 58.79,-85.31 59.85,-71.42 59.18,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"58.71,-49.28 62.3,-56.07 58.93,-52.78 59.16,-56.27 59.16,-56.27 59.16,-56.27 58.93,-52.78 56.01,-56.47 58.71,-49.28 58.71,-49.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"25.5\" y=\"-89.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & !d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.63,-49.02C49.55,-73.42 50.67,-103.31 56,-103.31 60.83,-103.31 62.2,-78.76 60.13,-56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.37,-49.02 63.26,-55.64 59.75,-52.5 60.12,-55.98 60.12,-55.98 60.12,-55.98 59.75,-52.5 56.99,-56.32 59.37,-49.02 59.37,-49.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"25.5\" y=\"-107.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.16,-48.98C47.27,-80.16 48.55,-121.31 56,-121.31 62.9,-121.31 64.51,-86.04 60.83,-56.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.84,-48.98 63.93,-55.47 60.33,-52.44 60.81,-55.91 60.81,-55.91 60.81,-55.91 60.33,-52.44 57.69,-56.34 59.84,-48.98 59.84,-48.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"27.5\" y=\"-125.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"278\" cy=\"-31.31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"278\" y=\"-27.61\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.26,-31.31C113.14,-31.31 207.65,-31.31 252.54,-31.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"259.82,-31.31 252.82,-34.46 256.32,-31.31 252.82,-31.31 252.82,-31.31 252.82,-31.31 256.32,-31.31 252.82,-28.16 259.82,-31.31 259.82,-31.31\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-35.11\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.31,-21.44C77.4,-17.81 84.76,-14.14 92,-12.31 156.62,4.1 177.38,4.1 242,-12.31 246.86,-13.54 251.78,-15.6 256.33,-17.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"262.69,-21.44 255.04,-20.81 259.63,-19.75 256.56,-18.05 256.56,-18.05 256.56,-18.05 259.63,-19.75 258.09,-15.29 262.69,-21.44 262.69,-21.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"123\" y=\"-16.11\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M273.09,-48.72C272.17,-58.39 273.81,-67.31 278,-67.31 281.08,-67.31 282.78,-62.5 283.1,-56.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"282.91,-48.72 286.24,-55.63 283,-52.21 283.09,-55.71 283.09,-55.71 283.09,-55.71 283,-52.21 279.94,-55.79 282.91,-48.72 282.91,-48.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"203\" y=\"-71.11\" font-family=\"Lato\" font-size=\"14.00\">(!a & b & d) | (!a & !c & d)</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M270.19,-47.61C265.14,-65.27 267.74,-85.31 278,-85.31 286.9,-85.31 290.04,-70.24 287.42,-54.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"285.81,-47.61 290.43,-53.75 286.59,-51.03 287.36,-54.44 287.36,-54.44 287.36,-54.44 286.59,-51.03 284.29,-55.14 285.81,-47.61 285.81,-47.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"247.5\" y=\"-89.11\" font-family=\"Lato\" font-size=\"14.00\">a & !b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M268.57,-46.86C258.1,-71.62 261.24,-103.31 278,-103.31 293.25,-103.31 297.23,-77.06 289.92,-53.67\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"287.43,-46.86 292.79,-52.35 288.63,-50.15 289.83,-53.44 289.83,-53.44 289.83,-53.44 288.63,-50.15 286.87,-54.52 287.43,-46.86 287.43,-46.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"249.5\" y=\"-107.11\" font-family=\"Lato\" font-size=\"14.00\">a & b & d</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M267.57,-46.35C251.11,-77.8 254.58,-121.31 278,-121.31 299.86,-121.31 304.34,-83.38 291.44,-52.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"288.43,-46.35 294.26,-51.35 289.92,-49.52 291.41,-52.69 291.41,-52.69 291.41,-52.69 289.92,-49.52 288.56,-54.03 288.43,-46.35 288.43,-46.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"234\" y=\"-125.11\" font-family=\"Lato\" font-size=\"14.00\">!a & !b & c & d</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f31fd7dd2c0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"es2 = spot.edge_separator()\n",
|
|
"es2.add_to_basis(aut)\n",
|
|
"es2.add_to_basis(aut2)\n",
|
|
"display(es2.separate_implying(aut), es2.separate_implying(aut2))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "9f5035f7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.8"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|