Heavily rewrite and optimize the determinization
* NEWS: document the rewrite * spot/twaalgos/determinize.cc: lots of code optimizations * tests/core/safra.test, tests/python/highlighting.ipynb, tests/python/simstate.py: Update tests
This commit is contained in:
parent
308415f88a
commit
bd739a5712
5 changed files with 837 additions and 604 deletions
5
NEWS
5
NEWS
|
|
@ -132,6 +132,11 @@ New in spot 2.4.1.dev (not yet released)
|
|||
https://spot.lrde.epita.fr/ipynb/stutter-inv-states.html for
|
||||
examples.
|
||||
|
||||
- Determinization has been heavily rewritten and optimized. The algorithm has
|
||||
(almost) not changed, but it runs muuuch faster now. It also features an
|
||||
optimization for stutter-invariant automata that may produce slightly
|
||||
smaller automata.
|
||||
|
||||
Deprecation notices:
|
||||
|
||||
(These functions still work but compilers emit warnings.)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -52,15 +52,15 @@ properties: trans-labels explicit-labels trans-acc deterministic
|
|||
State: 0
|
||||
[0] 1
|
||||
State: 1
|
||||
[0] 2 {1}
|
||||
[!0&1] 3
|
||||
[!0&1] 2
|
||||
[0] 3 {1}
|
||||
State: 2
|
||||
[0] 1
|
||||
[!0&1] 3
|
||||
State: 3
|
||||
[0&!1] 0
|
||||
[0&1] 2
|
||||
[!0&1] 3
|
||||
[!0&1] 2
|
||||
[0&1] 3
|
||||
State: 3
|
||||
[0] 1
|
||||
[!0&1] 2
|
||||
--END--
|
||||
EOF
|
||||
|
||||
|
|
@ -98,19 +98,19 @@ State: 0
|
|||
[0] 1
|
||||
State: 1
|
||||
[0&!1] 1
|
||||
[0&1] 2
|
||||
[!0&1] 3 {1}
|
||||
[!0&1] 2 {1}
|
||||
[0&1] 3
|
||||
State: 2
|
||||
[0&1] 1 {1}
|
||||
[!0&1] 3 {1}
|
||||
[0&!1] 4
|
||||
State: 3
|
||||
[0&!1] 0
|
||||
[0&1] 2
|
||||
[!0&1] 3 {1}
|
||||
[!0&1] 2 {1}
|
||||
[0&1] 3
|
||||
State: 3
|
||||
[0&1] 1 {1}
|
||||
[!0&1] 2 {1}
|
||||
[0&!1] 4
|
||||
State: 4
|
||||
[0] 1 {1}
|
||||
[!0&1] 3 {1}
|
||||
[!0&1] 2 {1}
|
||||
--END--
|
||||
EOF
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.4"
|
||||
"version": "3.5.3"
|
||||
},
|
||||
"name": ""
|
||||
},
|
||||
|
|
@ -254,7 +254,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fedf009e390> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde042fbd0> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -356,7 +356,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.twa; proxy of <Swig Object of type 'std::shared_ptr< spot::twa > *' at 0x7fede8fc5270> >"
|
||||
"<spot.twa; proxy of <Swig Object of type 'std::shared_ptr< spot::twa > *' at 0x7efde03c0a50> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -571,7 +571,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54420> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde03c0930> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -750,7 +750,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54420> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde03c0930> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -830,7 +830,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54600> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c270> >"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -876,7 +876,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f544e0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c2d0> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -962,7 +962,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54900> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde03c09c0> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -1089,7 +1089,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54900> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde03c09c0> >"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -1146,7 +1146,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54600> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c270> >"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -1192,7 +1192,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f544e0> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c2d0> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -1399,7 +1399,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7fede8fc51b0> >"
|
||||
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7efde042fc00> >"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -1473,7 +1473,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54330> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c180> >"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -1557,7 +1557,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54840> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde03c0990> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -1703,7 +1703,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54b10> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c750> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -1848,7 +1848,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54b10> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c750> >"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -1991,7 +1991,7 @@
|
|||
"</svg>\n"
|
||||
],
|
||||
"text": [
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fede8f54b10> >"
|
||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7efde035c750> >"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -2179,200 +2179,200 @@
|
|||
"output_type": "pyout",
|
||||
"prompt_number": 20,
|
||||
"svg": [
|
||||
"<svg height=\"296pt\" viewBox=\"0.00 0.00 734.00 295.98\" width=\"734pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g class=\"graph\" id=\"graph0\" transform=\"scale(0.993234 0.993234) rotate(0) translate(4 294)\">\n",
|
||||
"<svg height=\"360pt\" viewBox=\"0.00 0.00 652.06 360.00\" width=\"652pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||
"<g class=\"graph\" id=\"graph0\" transform=\"scale(0.882353 0.882353) rotate(0) translate(4 404)\">\n",
|
||||
"<title>G</title>\n",
|
||||
"<polygon fill=\"white\" points=\"-4,4 -4,-294 735,-294 735,4 -4,4\" stroke=\"none\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"313.5\" y=\"-275.8\">Fin(</text>\n",
|
||||
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"338.5\" y=\"-275.8\">\u24ff</text>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"354.5\" y=\"-275.8\">) & Inf(</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"397.5\" y=\"-275.8\">\u2776</text>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"413.5\" y=\"-275.8\">)</text>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"336.5\" y=\"-261.8\">[Rabin 1]</text>\n",
|
||||
"<polygon fill=\"white\" points=\"-4,4 -4,-404 735,-404 735,4 -4,4\" stroke=\"none\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"313.5\" y=\"-385.8\">Fin(</text>\n",
|
||||
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"338.5\" y=\"-385.8\">\u24ff</text>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"354.5\" y=\"-385.8\">) & Inf(</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"397.5\" y=\"-385.8\">\u2776</text>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"413.5\" y=\"-385.8\">)</text>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"336.5\" y=\"-371.8\">[Rabin 1]</text>\n",
|
||||
"<g class=\"cluster\" id=\"clust1\"><title>cluster_0</title>\n",
|
||||
"<polygon fill=\"none\" points=\"139,-146 139,-246 191,-246 191,-146 139,-146\" stroke=\"green\"/>\n",
|
||||
"<polygon fill=\"none\" points=\"470,-154 470,-356 723,-356 723,-154 470,-154\" stroke=\"green\"/>\n",
|
||||
"</g>\n",
|
||||
"<g class=\"cluster\" id=\"clust2\"><title>cluster_1</title>\n",
|
||||
"<polygon fill=\"none\" points=\"470,-27 470,-229 723,-229 723,-27 470,-27\" stroke=\"green\"/>\n",
|
||||
"<polygon fill=\"none\" points=\"391,-152 391,-204 443,-204 443,-152 391,-152\" stroke=\"black\"/>\n",
|
||||
"</g>\n",
|
||||
"<g class=\"cluster\" id=\"clust3\"><title>cluster_2</title>\n",
|
||||
"<polygon fill=\"none\" points=\"391,-8 391,-60 443,-60 443,-8 391,-8\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"none\" points=\"139,-181 139,-283 327.5,-283 327.5,-181 139,-181\" stroke=\"green\"/>\n",
|
||||
"</g>\n",
|
||||
"<g class=\"cluster\" id=\"clust4\"><title>cluster_3</title>\n",
|
||||
"<polygon fill=\"none\" points=\"139,-36 139,-138 327.5,-138 327.5,-36 139,-36\" stroke=\"green\"/>\n",
|
||||
"<polygon fill=\"none\" points=\"139,-8 139,-108 191,-108 191,-8 139,-8\" stroke=\"green\"/>\n",
|
||||
"</g>\n",
|
||||
"<g class=\"cluster\" id=\"clust5\"><title>cluster_4</title>\n",
|
||||
"<polygon fill=\"none\" points=\"30,-44 30,-96 82,-96 82,-44 30,-44\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"none\" points=\"30,-102 30,-154 82,-154 82,-102 30,-102\" stroke=\"black\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- I -->\n",
|
||||
"<!-- 0 -->\n",
|
||||
"<g class=\"node\" id=\"node2\"><title>0</title>\n",
|
||||
"<ellipse cx=\"56\" cy=\"-70\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-66.3\">0</text>\n",
|
||||
"<ellipse cx=\"56\" cy=\"-128\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-124.3\">0</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- I->0 -->\n",
|
||||
"<g class=\"edge\" id=\"edge1\"><title>I->0</title>\n",
|
||||
"<path d=\"M1.15491,-70C2.79388,-70 17.1543,-70 30.6317,-70\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"37.9419,-70 30.9419,-73.1501 34.4419,-70 30.9419,-70.0001 30.9419,-70.0001 30.9419,-70.0001 34.4419,-70 30.9418,-66.8501 37.9419,-70 37.9419,-70\" stroke=\"black\"/>\n",
|
||||
"<path d=\"M1.15491,-128C2.79388,-128 17.1543,-128 30.6317,-128\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"37.9419,-128 30.9419,-131.15 34.4419,-128 30.9419,-128 30.9419,-128 30.9419,-128 34.4419,-128 30.9418,-124.85 37.9419,-128 37.9419,-128\" stroke=\"black\"/>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1 -->\n",
|
||||
"<g class=\"node\" id=\"node3\"><title>1</title>\n",
|
||||
"<ellipse cx=\"165\" cy=\"-172\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-168.3\">1</text>\n",
|
||||
"<g class=\"node\" id=\"node6\"><title>1</title>\n",
|
||||
"<ellipse cx=\"417\" cy=\"-178\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"417\" y=\"-174.3\">1</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->1 -->\n",
|
||||
"<g class=\"edge\" id=\"edge2\"><title>0->1</title>\n",
|
||||
"<path d=\"M69.6945,-82.1013C88.6787,-100.198 124.54,-134.384 146.153,-154.987\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"151.322,-159.914 144.082,-157.365 148.789,-157.499 146.255,-155.084 146.255,-155.084 146.255,-155.084 148.789,-157.499 148.429,-152.804 151.322,-159.914 151.322,-159.914\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"107\" y=\"-140.8\">a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3 -->\n",
|
||||
"<g class=\"node\" id=\"node7\"><title>3</title>\n",
|
||||
"<ellipse cx=\"417\" cy=\"-34\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"417\" y=\"-30.3\">3</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->3 -->\n",
|
||||
"<g class=\"edge\" id=\"edge4\"><title>0->3</title>\n",
|
||||
"<path d=\"M72.3408,-61.7789C88.538,-53.3659 115,-40.3728 139,-32 165.768,-22.6614 172.849,-20.3569 201,-17 270.302,-8.73591 352.668,-21.519 392.332,-29.0808\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"399.229,-30.4257 391.755,-32.1775 395.793,-29.7558 392.358,-29.0858 392.358,-29.0858 392.358,-29.0858 395.793,-29.7558 392.961,-25.994 399.229,-30.4257 399.229,-30.4257\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"211.5\" y=\"-20.8\">!a & !b</text>\n",
|
||||
"<path d=\"M74.3153,-130.412C132.846,-138.564 323.456,-165.111 391.546,-174.594\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"398.858,-175.613 391.491,-177.767 395.392,-175.13 391.925,-174.647 391.925,-174.647 391.925,-174.647 395.392,-175.13 392.36,-171.527 398.858,-175.613 398.858,-175.613\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"211.5\" y=\"-160.8\">!a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2 -->\n",
|
||||
"<g class=\"node\" id=\"node8\"><title>2</title>\n",
|
||||
"<ellipse cx=\"165\" cy=\"-70\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-66.3\">2</text>\n",
|
||||
"<g class=\"node\" id=\"node7\"><title>2</title>\n",
|
||||
"<ellipse cx=\"165\" cy=\"-207\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-203.3\">2</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->2 -->\n",
|
||||
"<g class=\"edge\" id=\"edge3\"><title>0->2</title>\n",
|
||||
"<path d=\"M74.1914,-70C91.8968,-70 119.648,-70 139.616,-70\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"146.851,-70 139.851,-73.1501 143.351,-70 139.851,-70.0001 139.851,-70.0001 139.851,-70.0001 143.351,-70 139.851,-66.8501 146.851,-70 146.851,-70\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-73.8\">!a & b</text>\n",
|
||||
"<path d=\"M70.9884,-138.328C89.7326,-152.167 123.097,-176.801 144.355,-192.496\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"150.008,-196.67 142.506,-195.046 147.192,-194.591 144.377,-192.512 144.377,-192.512 144.377,-192.512 147.192,-194.591 146.248,-189.978 150.008,-196.67 150.008,-196.67\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-183.8\">!a & b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 1->1 -->\n",
|
||||
"<g class=\"edge\" id=\"edge5\"><title>1->1</title>\n",
|
||||
"<path d=\"M155.767,-187.541C153.169,-197.909 156.246,-208 165,-208 171.702,-208 175.077,-202.085 175.124,-194.659\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"174.233,-187.541 178.229,-194.095 174.668,-191.014 175.103,-194.487 175.103,-194.487 175.103,-194.487 174.668,-191.014 171.977,-194.879 174.233,-187.541 174.233,-187.541\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"160.5\" y=\"-226.8\">1</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"157\" y=\"-211.8\">\u2776</text>\n",
|
||||
"<!-- 3 -->\n",
|
||||
"<g class=\"node\" id=\"node9\"><title>3</title>\n",
|
||||
"<ellipse cx=\"165\" cy=\"-34\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-30.3\">3</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 0->3 -->\n",
|
||||
"<g class=\"edge\" id=\"edge4\"><title>0->3</title>\n",
|
||||
"<path d=\"M70.1203,-116.474C88.9719,-99.9126 123.815,-69.3025 145.341,-50.3916\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"150.772,-45.6205 147.592,-52.607 148.143,-47.9305 145.513,-50.2405 145.513,-50.2405 145.513,-50.2405 148.143,-47.9305 143.434,-47.874 150.772,-45.6205 150.772,-45.6205\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"107\" y=\"-98.8\">a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 4 -->\n",
|
||||
"<g class=\"node\" id=\"node4\"><title>4</title>\n",
|
||||
"<ellipse cx=\"496\" cy=\"-92\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"496\" y=\"-88.3\">4</text>\n",
|
||||
"<g class=\"node\" id=\"node3\"><title>4</title>\n",
|
||||
"<ellipse cx=\"496\" cy=\"-237\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"496\" y=\"-233.3\">4</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 6 -->\n",
|
||||
"<g class=\"node\" id=\"node5\"><title>6</title>\n",
|
||||
"<ellipse cx=\"584\" cy=\"-104\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"584\" y=\"-100.3\">6</text>\n",
|
||||
"<g class=\"node\" id=\"node4\"><title>6</title>\n",
|
||||
"<ellipse cx=\"584\" cy=\"-231\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"584\" y=\"-227.3\">6</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 4->6 -->\n",
|
||||
"<g class=\"edge\" id=\"edge11\"><title>4->6</title>\n",
|
||||
"<path d=\"M514.116,-90.6026C524.071,-90.1368 536.821,-90.1368 548,-92 552.14,-92.6901 556.447,-93.8097 560.566,-95.0946\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"567.258,-97.3664 559.617,-98.0987 563.943,-96.2412 560.629,-95.1159 560.629,-95.1159 560.629,-95.1159 563.943,-96.2412 561.642,-92.1331 567.258,-97.3664 567.258,-97.3664\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"534.5\" y=\"-95.8\">!c</text>\n",
|
||||
"<path d=\"M511.717,-227.458C517.75,-224.083 524.96,-220.704 532,-219 541.348,-216.737 551.674,-218.391 560.575,-221.111\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"567.363,-223.468 559.717,-224.148 564.057,-222.32 560.75,-221.172 560.75,-221.172 560.75,-221.172 564.057,-222.32 561.783,-218.196 567.363,-223.468 567.363,-223.468\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"534.5\" y=\"-222.8\">!c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 7 -->\n",
|
||||
"<g class=\"node\" id=\"node6\"><title>7</title>\n",
|
||||
"<ellipse cx=\"697\" cy=\"-109\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"697\" y=\"-105.3\">7</text>\n",
|
||||
"<g class=\"node\" id=\"node5\"><title>7</title>\n",
|
||||
"<ellipse cx=\"697\" cy=\"-236\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"697\" y=\"-232.3\">7</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 4->7 -->\n",
|
||||
"<g class=\"edge\" id=\"edge12\"><title>4->7</title>\n",
|
||||
"<path d=\"M512.019,-83.315C525.609,-75.9906 546.433,-66.0696 566,-62 581.665,-58.7419 586.276,-59.0434 602,-62 629.66,-67.2007 636.12,-71.8443 661,-85 666.129,-87.7121 671.415,-91.0267 676.275,-94.3165\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"682.16,-98.4231 674.617,-97.0007 679.29,-96.4202 676.42,-94.4174 676.42,-94.4174 676.42,-94.4174 679.29,-96.4202 678.222,-91.8341 682.16,-98.4231 682.16,-98.4231\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"580.5\" y=\"-65.8\">c</text>\n",
|
||||
"<path d=\"M509.433,-224.76C522.338,-212.99 543.722,-195.987 566,-189 605.856,-176.501 651.607,-202.722 676.815,-220.791\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"682.468,-224.955 674.964,-223.34 679.65,-222.879 676.832,-220.804 676.832,-220.804 676.832,-220.804 679.65,-222.879 678.701,-218.267 682.468,-224.955 682.468,-224.955\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"580.5\" y=\"-192.8\">c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 6->4 -->\n",
|
||||
"<g class=\"edge\" id=\"edge16\"><title>6->4</title>\n",
|
||||
"<path d=\"M565.841,-107.212C555.871,-108.533 543.121,-109.283 532,-107 527.58,-106.093 523.029,-104.603 518.732,-102.906\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"512.241,-100.123 519.916,-99.9868 515.458,-101.502 518.675,-102.882 518.675,-102.882 518.675,-102.882 515.458,-101.502 517.433,-105.777 512.241,-100.123 512.241,-100.123\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"533.5\" y=\"-127.8\">!b</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"532\" y=\"-112.8\">\u2776</text>\n",
|
||||
"<path d=\"M565.917,-232.556C560.221,-233.051 553.839,-233.578 548,-234 539.242,-234.633 529.631,-235.225 521.136,-235.713\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"514.007,-236.114 520.82,-232.576 517.502,-235.917 520.996,-235.721 520.996,-235.721 520.996,-235.721 517.502,-235.917 521.173,-238.866 514.007,-236.114 514.007,-236.114\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"533.5\" y=\"-254.8\">!b</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"532\" y=\"-239.8\">\u2776</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 6->6 -->\n",
|
||||
"<g class=\"edge\" id=\"edge17\"><title>6->6</title>\n",
|
||||
"<path d=\"M576.332,-120.29C574.483,-130.389 577.039,-140 584,-140 589.221,-140 591.964,-134.594 592.229,-127.63\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"591.668,-120.29 595.342,-127.03 591.935,-123.78 592.201,-127.27 592.201,-127.27 592.201,-127.27 591.935,-123.78 589.06,-127.51 591.668,-120.29 591.668,-120.29\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"565.5\" y=\"-143.8\">b & !c</text>\n",
|
||||
"<path d=\"M576.332,-247.29C574.483,-257.389 577.039,-267 584,-267 589.221,-267 591.964,-261.594 592.229,-254.63\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"591.668,-247.29 595.342,-254.03 591.935,-250.78 592.201,-254.27 592.201,-254.27 592.201,-254.27 591.935,-250.78 589.06,-254.51 591.668,-247.29 591.668,-247.29\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"565.5\" y=\"-270.8\">b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 6->7 -->\n",
|
||||
"<g class=\"edge\" id=\"edge18\"><title>6->7</title>\n",
|
||||
"<path d=\"M600.694,-96.8164C606.614,-94.4708 613.493,-92.1695 620,-91 637.935,-87.7768 643.289,-86.7127 661,-91 665.73,-92.1449 670.537,-94.0459 675.012,-96.1937\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"681.283,-99.4577 673.62,-99.0202 678.178,-97.8418 675.074,-96.226 675.074,-96.226 675.074,-96.226 678.178,-97.8418 676.528,-93.4318 681.283,-99.4577 681.283,-99.4577\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"623.5\" y=\"-94.8\">b & c</text>\n",
|
||||
"<path d=\"M600.694,-223.816C606.614,-221.471 613.493,-219.169 620,-218 637.935,-214.777 643.289,-213.713 661,-218 665.73,-219.145 670.537,-221.046 675.012,-223.194\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"681.283,-226.458 673.62,-226.02 678.178,-224.842 675.074,-223.226 675.074,-223.226 675.074,-223.226 678.178,-224.842 676.528,-220.432 681.283,-226.458 681.283,-226.458\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"623.5\" y=\"-221.8\">b & c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 7->4 -->\n",
|
||||
"<g class=\"edge\" id=\"edge19\"><title>7->4</title>\n",
|
||||
"<path d=\"M683.103,-120.93C660.18,-140.644 610.556,-176.651 566,-164 548.914,-159.149 544.858,-155.253 532,-143 523.072,-134.492 515.111,-123.354 509.045,-113.657\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"505.342,-107.536 511.661,-111.895 507.154,-110.531 508.966,-113.525 508.966,-113.525 508.966,-113.525 507.154,-110.531 506.27,-115.156 505.342,-107.536 505.342,-107.536\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"579.5\" y=\"-184.8\">b</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"576\" y=\"-169.8\">\u2776</text>\n",
|
||||
"<path d=\"M682.418,-247.131C665.032,-260.589 633.389,-282.492 602,-291 570.65,-299.498 557.766,-289.777 532,-270 525.938,-265.347 519.738,-259.805 514.274,-254.603\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"509.086,-249.56 516.301,-252.181 511.596,-252 514.105,-254.439 514.105,-254.439 514.105,-254.439 511.596,-252 511.91,-256.698 509.086,-249.56 509.086,-249.56\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"579.5\" y=\"-313.8\">b</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"576\" y=\"-298.8\">\u2776</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 7->6 -->\n",
|
||||
"<g class=\"edge\" id=\"edge20\"><title>7->6</title>\n",
|
||||
"<path d=\"M678.791,-108.407C663.385,-107.856 640.18,-106.975 620,-106 616.535,-105.833 612.878,-105.641 609.286,-105.443\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"602.087,-105.037 609.253,-102.287 605.581,-105.234 609.076,-105.431 609.076,-105.431 609.076,-105.431 605.581,-105.234 608.898,-108.576 602.087,-105.037 602.087,-105.037\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"620\" y=\"-111.8\">!b & !c</text>\n",
|
||||
"<path d=\"M678.791,-235.407C663.385,-234.856 640.18,-233.975 620,-233 616.535,-232.833 612.878,-232.641 609.286,-232.443\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"602.087,-232.037 609.253,-229.287 605.581,-232.234 609.076,-232.431 609.076,-232.431 609.076,-232.431 605.581,-232.234 608.898,-235.576 602.087,-232.037 602.087,-232.037\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"620\" y=\"-238.8\">!b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 7->7 -->\n",
|
||||
"<g class=\"edge\" id=\"edge21\"><title>7->7</title>\n",
|
||||
"<path d=\"M687.425,-124.541C684.73,-134.909 687.922,-145 697,-145 703.95,-145 707.45,-139.085 707.499,-131.659\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"706.575,-124.541 710.6,-131.077 707.026,-128.012 707.477,-131.483 707.477,-131.483 707.477,-131.483 707.026,-128.012 704.353,-131.889 706.575,-124.541 706.575,-124.541\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"678.5\" y=\"-148.8\">!b & c</text>\n",
|
||||
"<path d=\"M687.425,-251.541C684.73,-261.909 687.922,-272 697,-272 703.95,-272 707.45,-266.085 707.499,-258.659\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"706.575,-251.541 710.6,-258.077 707.026,-255.012 707.477,-258.483 707.477,-258.483 707.477,-258.483 707.026,-255.012 704.353,-258.889 706.575,-251.541 706.575,-251.541\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"678.5\" y=\"-275.8\">!b & c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->4 -->\n",
|
||||
"<g class=\"edge\" id=\"edge10\"><title>3->4</title>\n",
|
||||
"<path d=\"M432.606,-43.6256C440.786,-49.1295 451.099,-56.26 460,-63 465.452,-67.1281 471.223,-71.7844 476.473,-76.1383\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"481.925,-80.7047 474.536,-78.625 479.242,-78.4574 476.558,-76.21 476.558,-76.21 476.558,-76.21 479.242,-78.4574 478.581,-73.7951 481.925,-80.7047 481.925,-80.7047\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"453\" y=\"-66.8\">a</text>\n",
|
||||
"<!-- 1->4 -->\n",
|
||||
"<g class=\"edge\" id=\"edge5\"><title>1->4</title>\n",
|
||||
"<path d=\"M432.184,-187.752C440.412,-193.503 450.912,-201.003 460,-208 465.419,-212.171 471.179,-216.842 476.429,-221.195\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"481.886,-225.756 474.495,-223.683 479.2,-223.511 476.515,-221.267 476.515,-221.267 476.515,-221.267 479.2,-223.511 478.535,-218.85 481.886,-225.756 481.886,-225.756\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"453\" y=\"-211.8\">a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->4 -->\n",
|
||||
"<g class=\"edge\" id=\"edge8\"><title>2->4</title>\n",
|
||||
"<path d=\"M172.788,-86.4554C178.475,-97.8739 187.8,-112.207 201,-119 292.409,-166.041 421.048,-122.799 472.473,-101.867\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"479.204,-99.0728 473.947,-104.666 475.972,-100.414 472.739,-101.756 472.739,-101.756 472.739,-101.756 475.972,-100.414 471.532,-98.8468 479.204,-99.0728 479.204,-99.0728\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"357\" y=\"-141.8\">a</text>\n",
|
||||
"<path d=\"M170.947,-224.143C176.004,-238.172 185.373,-257.1 201,-266 290.786,-317.133 421.325,-269.831 472.875,-247.352\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"479.33,-244.486 474.211,-250.206 476.132,-245.906 472.933,-247.327 472.933,-247.327 472.933,-247.327 476.132,-245.906 471.654,-244.448 479.33,-244.486 479.33,-244.486\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"357\" y=\"-289.8\">a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->3 -->\n",
|
||||
"<g class=\"edge\" id=\"edge7\"><title>2->3</title>\n",
|
||||
"<path d=\"M181.764,-62.7925C187.692,-60.3237 194.557,-57.7464 201,-56 268.503,-37.7027 351.689,-34.3871 391.933,-33.9368\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"398.934,-33.8831 391.959,-37.0868 395.435,-33.91 391.935,-33.9369 391.935,-33.9369 391.935,-33.9369 395.435,-33.91 391.91,-30.787 398.934,-33.8831 398.934,-33.8831\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"281\" y=\"-44.8\">!a & !b</text>\n",
|
||||
"<!-- 2->1 -->\n",
|
||||
"<g class=\"edge\" id=\"edge6\"><title>2->1</title>\n",
|
||||
"<path d=\"M182.665,-202.832C188.445,-201.482 194.984,-200.061 201,-199 269.386,-186.942 351.319,-181.341 391.429,-179.164\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"398.877,-178.774 392.052,-182.286 395.382,-178.957 391.887,-179.14 391.887,-179.14 391.887,-179.14 395.382,-178.957 391.722,-175.995 398.877,-178.774 398.877,-178.774\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"281\" y=\"-191.8\">!a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->2 -->\n",
|
||||
"<g class=\"edge\" id=\"edge6\"><title>2->2</title>\n",
|
||||
"<path d=\"M155.767,-85.5414C153.169,-95.9087 156.246,-106 165,-106 171.702,-106 175.077,-100.085 175.124,-92.6591\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"174.233,-85.5414 178.229,-92.0955 174.668,-89.0143 175.103,-92.4871 175.103,-92.4871 175.103,-92.4871 174.668,-89.0143 171.977,-92.8788 174.233,-85.5414 174.233,-85.5414\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"132\" y=\"-109.8\">!a & b & !c</text>\n",
|
||||
"<g class=\"edge\" id=\"edge7\"><title>2->2</title>\n",
|
||||
"<path d=\"M155.767,-222.541C153.169,-232.909 156.246,-243 165,-243 171.702,-243 175.077,-237.085 175.124,-229.659\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"174.233,-222.541 178.229,-229.095 174.668,-226.014 175.103,-229.487 175.103,-229.487 175.103,-229.487 174.668,-226.014 171.977,-229.879 174.233,-222.541 174.233,-222.541\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"132\" y=\"-246.8\">!a & b & !c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 5 -->\n",
|
||||
"<g class=\"node\" id=\"node9\"><title>5</title>\n",
|
||||
"<ellipse cx=\"301.5\" cy=\"-86\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"301.5\" y=\"-82.3\">5</text>\n",
|
||||
"<g class=\"node\" id=\"node8\"><title>5</title>\n",
|
||||
"<ellipse cx=\"301.5\" cy=\"-231\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"301.5\" y=\"-227.3\">5</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 2->5 -->\n",
|
||||
"<g class=\"edge\" id=\"edge9\"><title>2->5</title>\n",
|
||||
"<path d=\"M182.479,-65.4387C202.062,-60.7826 235.539,-55.2494 263,-63 269.128,-64.7296 275.242,-67.7722 280.702,-71.0891\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"286.771,-75.0467 279.187,-73.8619 283.839,-73.135 280.907,-71.2233 280.907,-71.2233 280.907,-71.2233 283.839,-73.135 282.628,-68.5846 286.771,-75.0467 286.771,-75.0467\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"201\" y=\"-66.8\">!a & b & c</text>\n",
|
||||
"<path d=\"M182.867,-204.499C202.533,-202.189 235.811,-200.175 263,-208 269.119,-209.761 275.23,-212.815 280.689,-216.132\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"286.76,-220.086 279.175,-218.905 283.827,-218.176 280.894,-216.266 280.894,-216.266 280.894,-216.266 283.827,-218.176 282.613,-213.626 286.76,-220.086 286.76,-220.086\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"201\" y=\"-211.8\">!a & b & c</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 5->4 -->\n",
|
||||
"<g class=\"edge\" id=\"edge15\"><title>5->4</title>\n",
|
||||
"<path d=\"M319.583,-86.5325C353.83,-87.5999 430.982,-90.0046 470.564,-91.2383\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"477.955,-91.4687 470.86,-94.399 474.457,-91.3596 470.959,-91.2506 470.959,-91.2506 470.959,-91.2506 474.457,-91.3596 471.057,-88.1021 477.955,-91.4687 477.955,-91.4687\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"413.5\" y=\"-94.8\">a</text>\n",
|
||||
"<path d=\"M319.583,-231.532C353.83,-232.6 430.982,-235.005 470.564,-236.238\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"477.955,-236.469 470.86,-239.399 474.457,-236.36 470.959,-236.251 470.959,-236.251 470.959,-236.251 474.457,-236.36 471.057,-233.102 477.955,-236.469 477.955,-236.469\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"413.5\" y=\"-239.8\">a</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 5->3 -->\n",
|
||||
"<g class=\"edge\" id=\"edge14\"><title>5->3</title>\n",
|
||||
"<path d=\"M316.747,-76.3975C323.606,-72.0012 332.051,-66.912 340,-63 357.251,-54.5098 377.649,-46.8478 392.967,-41.5345\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"399.618,-39.264 394.011,-44.5067 396.306,-40.3948 392.994,-41.5256 392.994,-41.5256 392.994,-41.5256 396.306,-40.3948 391.976,-38.5445 399.618,-39.264 399.618,-39.264\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"340\" y=\"-66.8\">!a & !b</text>\n",
|
||||
"<!-- 5->1 -->\n",
|
||||
"<g class=\"edge\" id=\"edge13\"><title>5->1</title>\n",
|
||||
"<path d=\"M316.767,-221.438C323.631,-217.051 332.074,-211.957 340,-208 357.279,-199.373 377.675,-191.437 392.986,-185.897\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"399.633,-183.526 394.098,-188.845 396.336,-184.702 393.039,-185.878 393.039,-185.878 393.039,-185.878 396.336,-184.702 391.981,-182.911 399.633,-183.526 399.633,-183.526\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"340\" y=\"-211.8\">!a & !b</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 5->2 -->\n",
|
||||
"<g class=\"edge\" id=\"edge13\"><title>5->2</title>\n",
|
||||
"<path d=\"M283.156,-85.3654C263.232,-84.4607 229.605,-82.3956 201,-78 197.321,-77.4347 193.454,-76.6977 189.686,-75.9\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"182.64,-74.3203 190.16,-72.7781 186.055,-75.086 189.471,-75.8518 189.471,-75.8518 189.471,-75.8518 186.055,-75.086 188.781,-78.9255 182.64,-74.3203 182.64,-74.3203\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"213.5\" y=\"-103.8\">!a & b</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"224\" y=\"-88.8\">\u2776</text>\n",
|
||||
"<g class=\"edge\" id=\"edge14\"><title>5->2</title>\n",
|
||||
"<path d=\"M283.3,-231.412C263.223,-231.485 229.177,-230.33 201,-223 196.587,-221.852 192.039,-220.179 187.742,-218.342\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"181.252,-215.373 188.928,-215.421 184.435,-216.829 187.618,-218.285 187.618,-218.285 187.618,-218.285 184.435,-216.829 186.307,-221.15 181.252,-215.373 181.252,-215.373\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"213.5\" y=\"-250.8\">!a & b</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"224\" y=\"-235.8\">\u2776</text>\n",
|
||||
"</g>\n",
|
||||
"<!-- 3->3 -->\n",
|
||||
"<g class=\"edge\" id=\"edge10\"><title>3->3</title>\n",
|
||||
"<path d=\"M155.767,-49.5414C153.169,-59.9087 156.246,-70 165,-70 171.702,-70 175.077,-64.0847 175.124,-56.6591\" fill=\"none\" stroke=\"black\"/>\n",
|
||||
"<polygon fill=\"black\" points=\"174.233,-49.5414 178.229,-56.0955 174.668,-53.0143 175.103,-56.4871 175.103,-56.4871 175.103,-56.4871 174.668,-53.0143 171.977,-56.8788 174.233,-49.5414 174.233,-49.5414\" stroke=\"black\"/>\n",
|
||||
"<text font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"160.5\" y=\"-88.8\">1</text>\n",
|
||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"157\" y=\"-73.8\">\u2776</text>\n",
|
||||
"</g>\n",
|
||||
"</g>\n",
|
||||
"</svg>"
|
||||
|
|
|
|||
|
|
@ -76,19 +76,19 @@ properties: trans-labels explicit-labels trans-acc complete
|
|||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0 "{₀[0]₀}"
|
||||
[0&!1] 0 {1}
|
||||
[!0&!1] 0
|
||||
[!0&1] 0
|
||||
[0&!1] 0 {1}
|
||||
[0&1] 1 {3}
|
||||
State: 1 "{₀[0]{₂[2]₂}₀}{₁[1]₁}"
|
||||
[0&!1] 0 {1}
|
||||
[!0&!1] 0 {2}
|
||||
[!0&1] 2
|
||||
[0&!1] 0 {1}
|
||||
[0&1] 1 {3}
|
||||
State: 2 "{₀[0]₀}{₁[1]₁}"
|
||||
[0&!1] 0 {1}
|
||||
[!0&!1] 0 {2}
|
||||
[!0&1] 2
|
||||
[0&!1] 0 {1}
|
||||
[0&1] 1 {3}
|
||||
--END--"""
|
||||
|
||||
|
|
@ -118,53 +118,53 @@ Acceptance: 4 Fin(0) & (Inf(1) | (Fin(2) & Inf(3)))
|
|||
properties: trans-labels explicit-labels trans-acc deterministic
|
||||
--BODY--
|
||||
State: 0 "{₀[0#0,0#1]₀}"
|
||||
[!0&1] 1
|
||||
[0&!1] 0
|
||||
[0&1] 1
|
||||
[0&1] 2
|
||||
State: 1 "{₀[1#1]₀}"
|
||||
[!0&1] 0
|
||||
[0&!1] 3 {1}
|
||||
[0&1] 4
|
||||
State: 2 "{₀[0#0,0#1] [1#1]₀}"
|
||||
[!0&1] 2
|
||||
State: 1 "{₀[0#0,0#1] [1#1]₀}"
|
||||
[0&!1] 3
|
||||
[0&1] 4
|
||||
[!0&1] 1
|
||||
State: 2 "{₀[1#1]₀}"
|
||||
[0&!1] 5 {1}
|
||||
[0&1] 3
|
||||
[0&!1] 4
|
||||
[0&1] 5
|
||||
State: 3 "{₀[1#0]₀}"
|
||||
[!0&1] 0
|
||||
State: 3 "{₀[0#0,0#1]{₁[1#0]₁}₀}"
|
||||
[0&!1] 3
|
||||
[0&1] 6
|
||||
State: 4 "{₀[0#0,0#1]{₁[1#0]₁}₀}"
|
||||
[!0&1] 7
|
||||
State: 4 "{₀[0#0,0#1] [1#1]{₁[1#0]₁}₀}"
|
||||
[0&!1] 3
|
||||
[0&1] 6
|
||||
[!0&1] 7
|
||||
State: 5 "{₀[1#0]₀}"
|
||||
[0&!1] 5
|
||||
[0&!1] 4
|
||||
[0&1] 8
|
||||
[!0&1] 0
|
||||
State: 6 "{₀[1#1]{₁[0#0,0#1] [1#0]₁}₀}"
|
||||
[0&!1] 8 {1}
|
||||
[0&1] 9 {1}
|
||||
[!0&1] 1 {1}
|
||||
State: 7 "{₀[1#1]{₁[0#0,0#1]₁}₀}"
|
||||
[0&!1] 8 {1}
|
||||
[0&1] 9 {1}
|
||||
[!0&1] 10
|
||||
State: 8 "{₀[0#0,0#1] [1#0]₀}"
|
||||
[0&!1] 8
|
||||
[0&1] 9
|
||||
[!0&1] 1
|
||||
State: 9 "{₀[0#0,0#1] [1#1] [1#0]₀}"
|
||||
[0&!1] 3
|
||||
[0&1] 4
|
||||
[!0&1] 1
|
||||
State: 10 "{₀[0#0,0#1]{₁[1#1]₁}₀}"
|
||||
[0&!1] 3 {3}
|
||||
[0&1] 11
|
||||
State: 5 "{₀[0#0,0#1] [1#1]{₁[1#0]₁}₀}"
|
||||
[!0&1] 7
|
||||
State: 11 "{₀[1#1]{₁[0#0,0#1]{₂[1#0]₂}₁}₀}"
|
||||
[0&!1] 8 {1}
|
||||
[0&!1] 4
|
||||
[0&1] 8
|
||||
State: 6 "{₀[0#0,0#1] [1#0]₀}"
|
||||
[!0&1] 2
|
||||
[0&!1] 6
|
||||
[0&1] 9
|
||||
State: 7 "{₀[1#1]{₁[0#0,0#1]₁}₀}"
|
||||
[!0&1] 10
|
||||
[0&!1] 6 {1}
|
||||
[0&1] 9 {1}
|
||||
State: 8 "{₀[1#1]{₁[0#0,0#1] [1#0]₁}₀}"
|
||||
[!0&1] 2 {1}
|
||||
[0&!1] 6 {1}
|
||||
[0&1] 9 {1}
|
||||
State: 9 "{₀[0#0,0#1] [1#1] [1#0]₀}"
|
||||
[!0&1] 2
|
||||
[0&!1] 4
|
||||
[0&1] 5
|
||||
State: 10 "{₀[0#0,0#1]{₁[1#1]₁}₀}"
|
||||
[!0&1] 7
|
||||
[0&!1] 4 {3}
|
||||
[0&1] 11
|
||||
State: 11 "{₀[1#1]{₁[0#0,0#1]{₂[1#0]₂}₁}₀}"
|
||||
[!0&1] 2 {1}
|
||||
[0&!1] 6 {1}
|
||||
[0&1] 9 {1}
|
||||
[!0&1] 1 {1}
|
||||
--END--"""
|
||||
|
||||
a = spot.translate('!Gp0 xor FG((p0 W Gp1) M p1)')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue