product: optimize product with weak automata
Fixes #350. * spot/twaalgos/product.cc: Implement this change. * NEWS, spot/twaalgos/product.hh: Mention it. * spot/twa/acc.cc, spot/twa/acc.hh (acc_cond::sat_mark): New method. * tests/python/_product_weak.ipynb: New file. * tests/Makefile.am: Add it. * tests/python/automata.ipynb, tests/python/highlighting.ipynb, tests/python/product.ipynb, tests/core/prodor.test: Adjust test cases.
This commit is contained in:
parent
b655038803
commit
a738801edf
11 changed files with 15348 additions and 1605 deletions
|
|
@ -240,7 +240,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4c3f0c0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128edca50> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
|
|
@ -352,7 +352,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.twa; proxy of <Swig Object of type 'std::shared_ptr< spot::twa > *' at 0x7f65e4c3f0f0> >"
|
||||
"<spot.twa; proxy of <Swig Object of type 'std::shared_ptr< spot::twa > *' at 0x7f0128e4cd50> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 5,
|
||||
|
|
@ -462,7 +462,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4c3f0c0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128edca50> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
|
|
@ -695,7 +695,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b5acc0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e4cab0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
|
|
@ -892,7 +892,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b5acc0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e4cab0> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 11,
|
||||
|
|
@ -977,7 +977,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c6f0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d8a0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1032,7 +1032,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c2a0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d780> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1059,80 +1059,74 @@
|
|||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||
" -->\n",
|
||||
"<!-- Pages: 1 -->\n",
|
||||
"<svg width=\"227pt\" height=\"188pt\"\n",
|
||||
" viewBox=\"0.00 0.00 227.00 188.48\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 184.4822)\">\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-184.4822 223,-184.4822 223,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"62.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"84.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"100.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"136.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"152.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"65.5\" y=\"-152.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[gen. Büchi 2]</text>\n",
|
||||
"<svg width=\"227pt\" height=\"164pt\"\n",
|
||||
" viewBox=\"0.00 0.00 227.00 164.45\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 160.4473)\">\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-160.4473 223,-160.4473 223,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"88.5\" y=\"-142.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"110.5\" y=\"-142.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"126.5\" y=\"-142.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"86.5\" y=\"-128.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
||||
"<!-- I -->\n",
|
||||
"<!-- 0 -->\n",
|
||||
"<g id=\"node2\" class=\"node\">\n",
|
||||
"<title>0</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"65\" cy=\"-32.4822\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"55\" y=\"-28.7822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1,0</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"65\" cy=\"-21.4473\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"55\" y=\"-17.7473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1,0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- I->0 -->\n",
|
||||
"<g id=\"edge1\" class=\"edge\">\n",
|
||||
"<title>I->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.2244,-32.4822C4.383,-32.4822 17.3969,-32.4822 30.8528,-32.4822\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8798,-32.4822 30.8799,-35.6323 34.3798,-32.4822 30.8798,-32.4823 30.8798,-32.4823 30.8798,-32.4823 34.3798,-32.4822 30.8798,-29.3323 37.8798,-32.4822 37.8798,-32.4822\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.2244,-21.4473C4.383,-21.4473 17.3969,-21.4473 30.8528,-21.4473\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8798,-21.4473 30.8799,-24.5974 34.3798,-21.4474 30.8798,-21.4474 30.8798,-21.4474 30.8798,-21.4474 34.3798,-21.4474 30.8798,-18.2974 37.8798,-21.4473 37.8798,-21.4473\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.1448,-49.8921C55.6785,-59.5701 58.2969,-68.4822 65,-68.4822 69.9226,-68.4822 72.6423,-63.6758 73.1591,-57.2894\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.8552,-49.8921 76.2899,-56.7568 72.9989,-53.3891 73.1426,-56.8862 73.1426,-56.8862 73.1426,-56.8862 72.9989,-53.3891 69.9953,-57.0155 72.8552,-49.8921 72.8552,-49.8921\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"46.5\" y=\"-87.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"57\" y=\"-72.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.1448,-38.8572C55.6785,-48.5352 58.2969,-57.4473 65,-57.4473 69.9226,-57.4473 72.6423,-52.641 73.1591,-46.2546\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.8552,-38.8572 76.2899,-45.722 72.9989,-42.3543 73.1426,-45.8513 73.1426,-45.8513 73.1426,-45.8513 72.9989,-42.3543 69.9953,-45.9806 72.8552,-38.8572 72.8552,-38.8572\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"46.5\" y=\"-61.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1 -->\n",
|
||||
"<g id=\"node3\" class=\"node\">\n",
|
||||
"<title>1</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-32.4822\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"182\" y=\"-28.7822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0,0</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-21.4473\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"182\" y=\"-17.7473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0,0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M91.6098,-35.9318C97.6458,-36.5769 104.0351,-37.1518 110,-37.4822 126.4193,-38.3915 130.5807,-38.3915 147,-37.4822 150.6349,-37.2808 154.4273,-36.9887 158.2014,-36.6453\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"165.3902,-35.9318 158.7356,-39.7578 161.9073,-36.2775 158.4244,-36.6232 158.4244,-36.6232 158.4244,-36.6232 161.9073,-36.2775 158.1133,-33.4886 165.3902,-35.9318 165.3902,-35.9318\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"110\" y=\"-41.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M92.2447,-21.4473C111.4127,-21.4473 137.2089,-21.4473 157.7667,-21.4473\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"164.8004,-21.4473 157.8004,-24.5974 161.3004,-21.4474 157.8004,-21.4474 157.8004,-21.4474 157.8004,-21.4474 161.3004,-21.4474 157.8003,-18.2974 164.8004,-21.4473 164.8004,-21.4473\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"110\" y=\"-25.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M81.7946,-18.374C89.8002,-12.5517 99.8356,-6.4737 110,-3.4822 125.7754,1.1607 131.2246,1.1607 147,-3.4822 154.7821,-5.7725 162.4886,-9.8721 169.2664,-14.2811\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"175.2054,-18.374 167.6541,-16.9955 172.3235,-16.3879 169.4416,-14.4017 169.4416,-14.4017 169.4416,-14.4017 172.3235,-16.3879 171.2291,-11.808 175.2054,-18.374 175.2054,-18.374\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"111.5\" y=\"-22.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"120.5\" y=\"-7.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M86.4111,-10.3522C93.6978,-7.1385 102.0208,-4.0628 110,-2.4473 126.1174,.8158 130.8826,.8158 147,-2.4473 152.6104,-3.5832 158.3907,-5.441 163.8613,-7.5611\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"170.5889,-10.3522 162.9162,-10.5793 167.3561,-9.0109 164.1233,-7.6697 164.1233,-7.6697 164.1233,-7.6697 167.3561,-9.0109 165.3304,-4.7602 170.5889,-10.3522 170.5889,-10.3522\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"111.5\" y=\"-6.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge5\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M186.4273,-50.2639C185.4803,-59.7971 187.3379,-68.4822 192,-68.4822 195.4237,-68.4822 197.335,-63.7983 197.7337,-57.5343\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.5727,-50.2639 200.877,-57.1924 197.6502,-53.763 197.7277,-57.2622 197.7277,-57.2622 197.7277,-57.2622 197.6502,-53.763 194.5785,-57.332 197.5727,-50.2639 197.5727,-50.2639\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"186.5\" y=\"-87.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"184\" y=\"-72.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M186.4273,-39.2291C185.4803,-48.7623 187.3379,-57.4473 192,-57.4473 195.4237,-57.4473 197.335,-52.7634 197.7337,-46.4994\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.5727,-39.2291 200.877,-46.1576 197.6502,-42.7282 197.7277,-46.2273 197.7277,-46.2273 197.7277,-46.2273 197.6502,-42.7282 194.5785,-46.2971 197.5727,-39.2291 197.5727,-39.2291\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"186.5\" y=\"-61.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge6\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M183.4657,-49.7312C177.4091,-70.9167 180.2539,-98.4822 192,-98.4822 202.5072,-98.4822 205.8918,-76.4247 202.1536,-56.6075\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"200.5343,-49.7312 205.205,-55.8227 201.3366,-53.138 202.1389,-56.5448 202.1389,-56.5448 202.1389,-56.5448 201.3366,-53.138 199.0727,-57.2669 200.5343,-49.7312 200.5343,-49.7312\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"188.5\" y=\"-116.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"176\" y=\"-102.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"192\" y=\"-102.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M182.9293,-38.5891C177.5936,-56.0323 180.6172,-75.4473 192,-75.4473 201.871,-75.4473 205.4558,-60.8469 202.7543,-45.5934\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"201.0707,-38.5891 205.7695,-44.659 201.8887,-41.9922 202.7067,-45.3952 202.7067,-45.3952 202.7067,-45.3952 201.8887,-41.9922 199.644,-46.1315 201.0707,-38.5891 201.0707,-38.5891\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"188.5\" y=\"-94.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"184\" y=\"-79.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"</g>\n",
|
||||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c0f0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d090> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 13,
|
||||
|
|
@ -1157,9 +1151,7 @@
|
|||
" | !a & b\n",
|
||||
"Cycle:\n",
|
||||
" 0,0\n",
|
||||
" | !a\t{0}\n",
|
||||
" 0,0\n",
|
||||
" | a\t{0,1}"
|
||||
" | a\t{0}"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
|
|
@ -1198,80 +1190,74 @@
|
|||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||
" -->\n",
|
||||
"<!-- Pages: 1 -->\n",
|
||||
"<svg width=\"227pt\" height=\"188pt\"\n",
|
||||
" viewBox=\"0.00 0.00 227.00 188.48\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 184.4822)\">\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-184.4822 223,-184.4822 223,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"62.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"84.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"100.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"136.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"152.5\" y=\"-166.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"65.5\" y=\"-152.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[gen. Büchi 2]</text>\n",
|
||||
"<svg width=\"227pt\" height=\"164pt\"\n",
|
||||
" viewBox=\"0.00 0.00 227.00 164.45\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 160.4473)\">\n",
|
||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-160.4473 223,-160.4473 223,4 -4,4\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"88.5\" y=\"-142.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"110.5\" y=\"-142.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"126.5\" y=\"-142.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"86.5\" y=\"-128.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
||||
"<!-- I -->\n",
|
||||
"<!-- 0 -->\n",
|
||||
"<g id=\"node2\" class=\"node\">\n",
|
||||
"<title>0</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"65\" cy=\"-32.4822\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"55\" y=\"-28.7822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1,0</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"65\" cy=\"-21.4473\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"55\" y=\"-17.7473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1,0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- I->0 -->\n",
|
||||
"<g id=\"edge1\" class=\"edge\">\n",
|
||||
"<title>I->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.2244,-32.4822C4.383,-32.4822 17.3969,-32.4822 30.8528,-32.4822\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8798,-32.4822 30.8799,-35.6323 34.3798,-32.4822 30.8798,-32.4823 30.8798,-32.4823 30.8798,-32.4823 34.3798,-32.4822 30.8798,-29.3323 37.8798,-32.4822 37.8798,-32.4822\"/>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.2244,-21.4473C4.383,-21.4473 17.3969,-21.4473 30.8528,-21.4473\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.8798,-21.4473 30.8799,-24.5974 34.3798,-21.4474 30.8798,-21.4474 30.8798,-21.4474 30.8798,-21.4474 34.3798,-21.4474 30.8798,-18.2974 37.8798,-21.4473 37.8798,-21.4473\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->0 -->\n",
|
||||
"<g id=\"edge4\" class=\"edge\">\n",
|
||||
"<title>0->0</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.1448,-49.8921C55.6785,-59.5701 58.2969,-68.4822 65,-68.4822 69.9226,-68.4822 72.6423,-63.6758 73.1591,-57.2894\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.8552,-49.8921 76.2899,-56.7568 72.9989,-53.3891 73.1426,-56.8862 73.1426,-56.8862 73.1426,-56.8862 72.9989,-53.3891 69.9953,-57.0155 72.8552,-49.8921 72.8552,-49.8921\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"46.5\" y=\"-87.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"57\" y=\"-72.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M57.1448,-38.8572C55.6785,-48.5352 58.2969,-57.4473 65,-57.4473 69.9226,-57.4473 72.6423,-52.641 73.1591,-46.2546\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"72.8552,-38.8572 76.2899,-45.722 72.9989,-42.3543 73.1426,-45.8513 73.1426,-45.8513 73.1426,-45.8513 72.9989,-42.3543 69.9953,-45.9806 72.8552,-38.8572 72.8552,-38.8572\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"46.5\" y=\"-61.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1 -->\n",
|
||||
"<g id=\"node3\" class=\"node\">\n",
|
||||
"<title>1</title>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-32.4822\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"182\" y=\"-28.7822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0,0</text>\n",
|
||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"192\" cy=\"-21.4473\" rx=\"27\" ry=\"18\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"182\" y=\"-17.7473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0,0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge2\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M91.6098,-35.9318C97.6458,-36.5769 104.0351,-37.1518 110,-37.4822 126.4193,-38.3915 130.5807,-38.3915 147,-37.4822 150.6349,-37.2808 154.4273,-36.9887 158.2014,-36.6453\"/>\n",
|
||||
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"165.3902,-35.9318 158.7356,-39.7578 161.9567,-36.7751 158.4738,-37.1208 158.4244,-36.6232 158.375,-36.1257 161.8579,-35.78 158.1133,-33.4886 165.3902,-35.9318 165.3902,-35.9318\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"110\" y=\"-41.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M92.2447,-21.4473C111.4127,-21.4473 137.2089,-21.4473 157.7667,-21.4473\"/>\n",
|
||||
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"164.8004,-21.4473 157.8004,-24.5974 161.3004,-21.9474 157.8004,-21.9474 157.8004,-21.4474 157.8004,-20.9474 161.3004,-20.9474 157.8003,-18.2974 164.8004,-21.4473 164.8004,-21.4473\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"110\" y=\"-25.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g id=\"edge3\" class=\"edge\">\n",
|
||||
"<title>0->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M81.7946,-18.374C89.8002,-12.5517 99.8356,-6.4737 110,-3.4822 125.7754,1.1607 131.2246,1.1607 147,-3.4822 154.7821,-5.7725 162.4886,-9.8721 169.2664,-14.2811\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"175.2054,-18.374 167.6541,-16.9955 172.3235,-16.3879 169.4416,-14.4017 169.4416,-14.4017 169.4416,-14.4017 172.3235,-16.3879 171.2291,-11.808 175.2054,-18.374 175.2054,-18.374\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"111.5\" y=\"-22.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"120.5\" y=\"-7.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M86.4111,-10.3522C93.6978,-7.1385 102.0208,-4.0628 110,-2.4473 126.1174,.8158 130.8826,.8158 147,-2.4473 152.6104,-3.5832 158.3907,-5.441 163.8613,-7.5611\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"170.5889,-10.3522 162.9162,-10.5793 167.3561,-9.0109 164.1233,-7.6697 164.1233,-7.6697 164.1233,-7.6697 167.3561,-9.0109 165.3304,-4.7602 170.5889,-10.3522 170.5889,-10.3522\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"111.5\" y=\"-6.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge5\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M186.4273,-50.2639C185.4803,-59.7971 187.3379,-68.4822 192,-68.4822 195.4237,-68.4822 197.335,-63.7983 197.7337,-57.5343\"/>\n",
|
||||
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"197.5727,-50.2639 200.877,-57.1924 198.1501,-53.752 198.2276,-57.2511 197.7277,-57.2622 197.2279,-57.2733 197.1503,-53.7741 194.5785,-57.332 197.5727,-50.2639 197.5727,-50.2639\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"186.5\" y=\"-87.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"184\" y=\"-72.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M186.4273,-39.2291C185.4803,-48.7623 187.3379,-57.4473 192,-57.4473 195.4237,-57.4473 197.335,-52.7634 197.7337,-46.4994\"/>\n",
|
||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"197.5727,-39.2291 200.877,-46.1576 197.6502,-42.7282 197.7277,-46.2273 197.7277,-46.2273 197.7277,-46.2273 197.6502,-42.7282 194.5785,-46.2971 197.5727,-39.2291 197.5727,-39.2291\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"186.5\" y=\"-61.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g id=\"edge6\" class=\"edge\">\n",
|
||||
"<title>1->1</title>\n",
|
||||
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M183.4657,-49.7312C177.4091,-70.9167 180.2539,-98.4822 192,-98.4822 202.5072,-98.4822 205.8918,-76.4247 202.1536,-56.6075\"/>\n",
|
||||
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"200.5343,-49.7312 205.205,-55.8227 201.8233,-53.0234 202.6256,-56.4302 202.1389,-56.5448 201.6522,-56.6594 200.8499,-53.2526 199.0727,-57.2669 200.5343,-49.7312 200.5343,-49.7312\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"188.5\" y=\"-116.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"176\" y=\"-102.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"192\" y=\"-102.2822\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M182.9293,-38.5891C177.5936,-56.0323 180.6172,-75.4473 192,-75.4473 201.871,-75.4473 205.4558,-60.8469 202.7543,-45.5934\"/>\n",
|
||||
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"201.0707,-38.5891 205.7695,-44.659 202.3749,-41.8753 203.1929,-45.2784 202.7067,-45.3952 202.2206,-45.5121 201.4025,-42.109 199.644,-46.1315 201.0707,-38.5891 201.0707,-38.5891\"/>\n",
|
||||
"<text text-anchor=\"start\" x=\"188.5\" y=\"-94.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||
"<text text-anchor=\"start\" x=\"184\" y=\"-79.2473\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||
"</g>\n",
|
||||
"</g>\n",
|
||||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c0f0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d090> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1336,7 +1322,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c6f0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d8a0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1391,7 +1377,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c2a0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d780> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1623,7 +1609,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7f65e4b7c9f0> >"
|
||||
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7f0128e6db40> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1711,7 +1697,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7ca50> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6dba0> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1808,7 +1794,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7c510> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6d180> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -1976,7 +1962,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7cb70> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6dc30> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 18,
|
||||
|
|
@ -2144,7 +2130,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7cb70> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6dc30> >"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
|
|
@ -2307,7 +2293,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f65e4b7cb70> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f0128e6dc30> >"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
|
@ -2771,6 +2757,13 @@
|
|||
"spot.highlight_languages(aut)\n",
|
||||
"aut.show('.bas')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue