* spot/twaalgos/dot.cc: Add support for option 'E', and default to rectangle nodes for large labels. * bin/common_aoutput.cc, NEWS: Document it. * tests/core/alternating.test, tests/core/dstar.test, tests/core/readsave.test, tests/core/sccdot.test, tests/core/tgbagraph.test, tests/python/_product_weak.ipynb, tests/python/alternation.ipynb, tests/python/atva16-fig2b.ipynb, tests/python/automata.ipynb, tests/python/decompose.ipynb, tests/python/gen.ipynb, tests/python/highlighting.ipynb, tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb, tests/python/parity.ipynb, tests/python/pdegen.py, tests/python/satmin.ipynb, tests/python/stutter-inv.ipynb: Adjust all test cases.
5220 lines
375 KiB
Text
5220 lines
375 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import spot\n",
|
|
"spot.setup()\n",
|
|
"from spot.jupyter import display_inline\n",
|
|
"def display2(*args):\n",
|
|
" display_inline(*args, per_row=2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Definitions and examples for parity acceptance"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In Spot a **parity acceptance** is defined by a **kind**, a **style** and a **numsets**:\n",
|
|
"+ The **kind** can be either **max** or **min**.\n",
|
|
"+ The **style** can be either **odd** or **even**.\n",
|
|
"+ The **numsets** is the number of acceptance sets (a.k.a. colors) used by the parity acceptance.\n",
|
|
" \n",
|
|
"Here are some examples:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"parity min odd 1 = Fin(0)\n",
|
|
"parity min odd 2 = Fin(0) & Inf(1)\n",
|
|
"parity min odd 3 = Fin(0) & (Inf(1) | Fin(2))\n",
|
|
"parity min odd 4 = Fin(0) & (Inf(1) | (Fin(2) & Inf(3)))\n",
|
|
"parity min even 1 = Inf(0)\n",
|
|
"parity min even 2 = Inf(0) | Fin(1)\n",
|
|
"parity min even 3 = Inf(0) | (Fin(1) & Inf(2))\n",
|
|
"parity min even 4 = Inf(0) | (Fin(1) & (Inf(2) | Fin(3)))\n",
|
|
"parity max odd 1 = Fin(0)\n",
|
|
"parity max odd 2 = Inf(1) | Fin(0)\n",
|
|
"parity max odd 3 = Fin(2) & (Inf(1) | Fin(0))\n",
|
|
"parity max odd 4 = Inf(3) | (Fin(2) & (Inf(1) | Fin(0)))\n",
|
|
"parity max even 1 = Inf(0)\n",
|
|
"parity max even 2 = Fin(1) & Inf(0)\n",
|
|
"parity max even 3 = Inf(2) | (Fin(1) & Inf(0))\n",
|
|
"parity max even 4 = Fin(3) & (Inf(2) | (Fin(1) & Inf(0)))\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for kind in ['min', 'max']:\n",
|
|
" for style in ['odd', 'even']:\n",
|
|
" for sets in range(1, 5):\n",
|
|
" name = 'parity {} {} {}'.format(kind, style, sets)\n",
|
|
" print('{:17} = {}'.format(name, spot.acc_code(name)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Of course the case of parity automata with a single color is a bit degenerate, as the same formula correspond to two parity conditions with different kinds. \n",
|
|
"\n",
|
|
"In addition the the above, an automaton is said to be **colored** if each of its edges (or states) has exactly one color. Automata that people usually call *parity automata* correspond in Spot to *colored* automata with *parity acceptance*. For this reason try to use the term *automata with parity acceptance* rather than *parity automata* for automata that are not *colored*."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Generate a few random automata for the upcoming examples.\n",
|
|
"maxodd4, maxodd5, minodd4, minodd5, maxeven4 = spot.automata(\"\"\"\n",
|
|
"randaut -A 'parity max odd 4' -Q4 -e.4 2;\n",
|
|
"randaut -A 'parity max odd 5' -Q4 -e.4 2;\n",
|
|
"randaut -A 'parity min odd 4' -Q4 -e.4 2;\n",
|
|
"randaut -A 'parity min odd 5' -Q4 -e.4 2;\n",
|
|
"randaut -A 'parity max even 4' -Q4 -e.4 2|\"\"\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Testing parity and colored\n",
|
|
"\n",
|
|
"`is_parity()` is a method of `spot.acc_cond` that returns three Boolean values: \n",
|
|
"1. whether the condition is a parity condition,\n",
|
|
"2. whether it has `max` kind,\n",
|
|
"3. whether it has `odd` style."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[True, True, True]"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"maxodd4.acc().is_parity()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[True, True, False]"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"maxeven4.acc().is_parity()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[True, False, True]"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"minodd5.acc().is_parity()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"By default, `is_parity()` will match only conditions that are exactly equal to what the HOA format defines for the relevant configuration. For instance, the formula for `min odd 4` should be exactly the following:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Fin(0) & (Inf(1) | (Fin(2) & Inf(3)))\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(spot.acc_code(\"parity min odd 4\"))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"However there are many formulas that are equivalent to the above. For instance the following `testacc` acceptance condition is logically equivalent to `parity min odd 4`. Passing it through `is_parity()` will fail: the first Boolean returned is False, and the remaining one should be ignored."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"[False, False, True]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"testacc = spot.acc_cond(\"(Fin(0) & Inf(1)) | (Fin(0) & Fin(2) & Inf(3))\")\n",
|
|
"print(testacc.is_parity())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To test logical equivalence to a Parity condition, pass a `True` argument to `is_parity()`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"[True, False, True]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(testacc.is_parity(True))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To test if an automaton is colored, use `is_colored`. Not this technically, this property is orthogonal to the fact the the automaton uses the acceptance conditions. It just states that each edge (or state) belongs to exactly one acceptance set."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"False"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.is_colored(minodd4)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"True"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.is_colored(spot.colorize_parity(minodd4)) # See below for `colorize_parity()`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Functions for altering automata with parity acceptance\n",
|
|
"\n",
|
|
"- [`change_parity()`](#Change-parity) can be used to alter the [*style*](#Changing-the-style), or [*kind*](#Changing-the-kind) of a parity acceptance. For instance if you have an automaton with `parity min even` acceptance and want an automaton with `parity max odd`, this is the function to use.\n",
|
|
"- [`colorize_parity()`](#Colorize-parity) transforms an automaton with parity acceptance into a colored automaton with parity acceptance (a.k.a., parity automaton).\n",
|
|
"- [`cleanup_parity()`](#Cleanup-parity) remove from the acceptance condition colors that are unused in the automaton, while keeping it a parity acceptance.\n",
|
|
"- [`reduce_parity()`](#Reduce-parity) minimize the number of colors used in the automaton, producing the smallest parity acceptance condition possible for this automaton."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Change parity\n",
|
|
"\n",
|
|
"This section describes the `change_parity()` method, that allows switching between different kinds and styles.\n",
|
|
"Its takes three arguments:\n",
|
|
"1. the automaton to modify\n",
|
|
"2. the desired kind (`spot.parity_kind_any`, `spot.parity_kind_same`, `spot.parity_kind_max`, `spot.parity_kind_min`)\n",
|
|
"3. the desired style (`spot.parity_style_any`, `spot.parity_style_same`, `spot.parity_style_odd`, `spot.parity_style_even`)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Changing the **style**\n",
|
|
"\n",
|
|
"Changing the style from `odd` to `even` or vice-versa can be done by adding a new color 0 and shifting all original colors by one, keeping the maximum or minimum color in case an edge has multiple colors.\n",
|
|
"\n",
|
|
"When the acceptance is a parity `max`, all the transitions that do not belong to any acceptance set will have the new color.\n",
|
|
"\n",
|
|
"### max odd 5 → max even 6"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"190pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 189.93\" 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.93)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.93 509.5,-185.93 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"130.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"146.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"250.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"266.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"328.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"382.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"197.25\" y=\"-153.73\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-24.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-21.23\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-24.93C2.79,-24.93 17.15,-24.93 30.63,-24.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-24.93 30.94,-28.08 34.44,-24.93 30.94,-24.93 30.94,-24.93 30.94,-24.93 34.44,-24.93 30.94,-21.78 37.94,-24.93 37.94,-24.93\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-92.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-89.23\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.54,-32.73C96.64,-44.83 143.09,-68.14 170.58,-81.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.14,-85.22 169.47,-84.9 174.01,-83.65 170.88,-82.08 170.88,-82.08 170.88,-82.08 174.01,-83.65 172.29,-79.27 177.14,-85.22 177.14,-85.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-74.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-20.81C112.82,-11.81 212.46,7.87 295,-3.93 354.99,-12.51 422.69,-35.98 457.17,-48.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.01,-51.58 456.35,-52.03 460.74,-50.33 457.47,-49.09 457.47,-49.09 457.47,-49.09 460.74,-50.33 458.59,-46.15 464.01,-51.58 464.01,-51.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-106.97C177.35,-117.85 181.27,-128.93 193.5,-128.93 203.06,-128.93 207.54,-122.17 206.95,-114.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-106.97 209.95,-113.05 206.07,-110.38 206.89,-113.78 206.89,-113.78 206.89,-113.78 206.07,-110.38 203.83,-114.52 205.26,-106.97 205.26,-106.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-132.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.39,-90.54C231.5,-87.51 266.02,-81.72 295,-73.93 302.4,-71.94 310.32,-69.33 317.45,-66.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.26,-64.32 318.76,-69.67 320.97,-65.51 317.68,-66.71 317.68,-66.71 317.68,-66.71 320.97,-65.51 316.61,-63.75 324.26,-64.32 324.26,-64.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-103.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"274.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.15,-71.93C462.86,-79.04 454.36,-87.16 445,-91.93 384.71,-122.65 362.41,-112.13 295,-117.93 269.76,-120.1 262.48,-124.47 238,-117.93 229.88,-115.77 221.7,-111.68 214.67,-107.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.56,-103.54 216.15,-104.65 211.51,-105.42 214.46,-107.3 214.46,-107.3 214.46,-107.3 211.51,-105.42 212.76,-109.96 208.56,-103.54 208.56,-103.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-134.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-119.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-72.72C466.81,-83.35 470.38,-93.93 481,-93.93 489.13,-93.93 493.13,-87.73 493,-80.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-72.72 496.02,-79.07 492.31,-76.17 492.92,-79.62 492.92,-79.62 492.92,-79.62 492.31,-76.17 489.82,-80.16 491.71,-72.72 491.71,-72.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-111.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"481\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.69,-54C315.13,-52.05 304.54,-49.74 295,-47.93 261.83,-41.64 253.54,-39.74 220,-35.93 170.95,-30.37 113.25,-27.28 81.34,-25.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-25.58 81.31,-22.73 77.67,-25.72 81.17,-25.87 81.17,-25.87 81.17,-25.87 77.67,-25.72 81.04,-29.02 74.18,-25.58 74.18,-25.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-54.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-39.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.6,-54.87C302.81,-51.81 266.72,-48.88 238,-58.93 228.34,-62.31 219.17,-68.79 211.76,-75.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.46,-80.02 209.52,-72.97 209.05,-77.66 211.64,-75.3 211.64,-75.3 211.64,-75.3 209.05,-77.66 213.76,-77.63 206.46,-80.02 206.46,-80.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-62.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-57.93C383.72,-57.93 427.72,-57.93 455.33,-57.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-57.93 455.65,-61.08 459.15,-57.93 455.65,-57.93 455.65,-57.93 455.65,-57.93 459.15,-57.93 455.65,-54.78 462.65,-57.93 462.65,-57.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-76.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-61.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"210pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 209.89\" 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 205.89)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-205.89 509.5,-205.89 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"74.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"97.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"<text text-anchor=\"start\" x=\"113.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"159.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"217.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"233.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"279.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"295.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"337.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"353.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"395.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"411.75\" y=\"-187.69\" font-family=\"Lato\" font-size=\"14.00\">)))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"194.25\" y=\"-173.69\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 6]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.89\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-20.19\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.89C2.79,-23.89 17.15,-23.89 30.63,-23.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.89 30.94,-27.04 34.44,-23.89 30.94,-23.89 30.94,-23.89 30.94,-23.89 34.44,-23.89 30.94,-20.74 37.94,-23.89 37.94,-23.89\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-99.89\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-96.19\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.02,-32.31C96.13,-45.83 143.57,-72.44 171.18,-87.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.41,-91.43 169.77,-90.75 174.36,-89.71 171.31,-88 171.31,-88 171.31,-88 174.36,-89.71 172.85,-85.25 177.41,-91.43 177.41,-91.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-93.69\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-78.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-56.89\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-53.19\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-19.91C112.82,-11.24 212.46,7.7 295,-3.89 354.92,-12.3 422.66,-35.34 457.15,-48.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464,-50.65 456.34,-51.15 460.72,-49.43 457.44,-48.2 457.44,-48.2 457.44,-48.2 460.72,-49.43 458.54,-45.25 464,-50.65 464,-50.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.69\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-113.93C177.35,-124.8 181.27,-135.89 193.5,-135.89 203.06,-135.89 207.54,-129.12 206.95,-120.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-113.93 209.95,-120 206.07,-117.33 206.89,-120.74 206.89,-120.74 206.89,-120.74 206.07,-117.33 203.83,-121.47 205.26,-113.93 205.26,-113.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-154.69\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-139.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-56.89\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-53.19\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.8,-100.28C232.3,-100.2 267.19,-98.31 295,-87.89 304.56,-84.31 314.06,-78.32 321.89,-72.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.52,-68.24 323.88,-75 324.74,-70.37 321.97,-72.5 321.97,-72.5 321.97,-72.5 324.74,-70.37 320.05,-70 327.52,-68.24 327.52,-68.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-117.69\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-102.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M468.94,-70.51C462.6,-77.51 454.11,-85.65 445,-90.89 384.99,-125.4 363.59,-123.47 295,-132.89 269.9,-136.33 262.01,-140.96 238,-132.89 228.41,-129.66 219.25,-123.38 211.83,-117.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.52,-112.47 213.85,-114.74 209.14,-114.79 211.76,-117.1 211.76,-117.1 211.76,-117.1 209.14,-114.79 209.68,-119.46 206.52,-112.47 206.52,-112.47\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-148.69\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-133.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-71.68C466.81,-82.3 470.38,-92.89 481,-92.89 489.13,-92.89 493.13,-86.68 493,-79.01\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-71.68 496.02,-78.03 492.31,-75.13 492.92,-78.57 492.92,-78.57 492.92,-78.57 492.31,-75.13 489.82,-79.12 491.71,-71.68 491.71,-71.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-111.69\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"473\" y=\"-96.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.77,-52.23C315.22,-50 304.62,-47.49 295,-45.89 217.58,-33.02 124.64,-27.16 81.38,-24.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.14,-24.62 81.28,-21.81 77.63,-24.79 81.13,-24.96 81.13,-24.96 81.13,-24.96 77.63,-24.79 80.97,-28.11 74.14,-24.62 74.14,-24.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-53.69\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-38.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.78,-53.39C302.86,-49.82 266.32,-46.28 238,-57.89 226.95,-62.41 217.13,-71.21 209.63,-79.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"204.82,-85.26 206.94,-77.89 207.09,-82.59 209.35,-79.92 209.35,-79.92 209.35,-79.92 207.09,-82.59 211.75,-81.96 204.82,-85.26 204.82,-85.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-76.69\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-61.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-56.89C383.72,-56.89 427.72,-56.89 455.33,-56.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-56.89 455.65,-60.04 459.15,-56.89 455.65,-56.89 455.65,-56.89 455.65,-56.89 459.15,-56.89 455.65,-53.74 462.65,-56.89 462.65,-56.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-75.69\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-60.69\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxodd5, spot.change_parity(maxodd5, spot.parity_kind_any, spot.parity_style_even))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### min odd 5 → min even 6\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"190pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 189.93\" 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.93)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.93 509.5,-185.93 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"130.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"146.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"250.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"266.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"328.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"382.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198.75\" y=\"-153.73\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-24.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-21.23\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-24.93C2.79,-24.93 17.15,-24.93 30.63,-24.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-24.93 30.94,-28.08 34.44,-24.93 30.94,-24.93 30.94,-24.93 30.94,-24.93 34.44,-24.93 30.94,-21.78 37.94,-24.93 37.94,-24.93\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-92.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-89.23\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.54,-32.73C96.64,-44.83 143.09,-68.14 170.58,-81.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.14,-85.22 169.47,-84.9 174.01,-83.65 170.88,-82.08 170.88,-82.08 170.88,-82.08 174.01,-83.65 172.29,-79.27 177.14,-85.22 177.14,-85.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-74.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-20.81C112.82,-11.81 212.46,7.87 295,-3.93 354.99,-12.51 422.69,-35.98 457.17,-48.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.01,-51.58 456.35,-52.03 460.74,-50.33 457.47,-49.09 457.47,-49.09 457.47,-49.09 460.74,-50.33 458.59,-46.15 464.01,-51.58 464.01,-51.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-106.97C177.35,-117.85 181.27,-128.93 193.5,-128.93 203.06,-128.93 207.54,-122.17 206.95,-114.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-106.97 209.95,-113.05 206.07,-110.38 206.89,-113.78 206.89,-113.78 206.89,-113.78 206.07,-110.38 203.83,-114.52 205.26,-106.97 205.26,-106.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-132.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.39,-90.54C231.5,-87.51 266.02,-81.72 295,-73.93 302.4,-71.94 310.32,-69.33 317.45,-66.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.26,-64.32 318.76,-69.67 320.97,-65.51 317.68,-66.71 317.68,-66.71 317.68,-66.71 320.97,-65.51 316.61,-63.75 324.26,-64.32 324.26,-64.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-103.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"274.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.15,-71.93C462.86,-79.04 454.36,-87.16 445,-91.93 384.71,-122.65 362.41,-112.13 295,-117.93 269.76,-120.1 262.48,-124.47 238,-117.93 229.88,-115.77 221.7,-111.68 214.67,-107.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.56,-103.54 216.15,-104.65 211.51,-105.42 214.46,-107.3 214.46,-107.3 214.46,-107.3 211.51,-105.42 212.76,-109.96 208.56,-103.54 208.56,-103.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-134.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-119.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-72.72C466.81,-83.35 470.38,-93.93 481,-93.93 489.13,-93.93 493.13,-87.73 493,-80.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-72.72 496.02,-79.07 492.31,-76.17 492.92,-79.62 492.92,-79.62 492.92,-79.62 492.31,-76.17 489.82,-80.16 491.71,-72.72 491.71,-72.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-111.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"481\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.69,-54C315.13,-52.05 304.54,-49.74 295,-47.93 261.83,-41.64 253.54,-39.74 220,-35.93 170.95,-30.37 113.25,-27.28 81.34,-25.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-25.58 81.31,-22.73 77.67,-25.72 81.17,-25.87 81.17,-25.87 81.17,-25.87 77.67,-25.72 81.04,-29.02 74.18,-25.58 74.18,-25.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-54.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-39.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.6,-54.87C302.81,-51.81 266.72,-48.88 238,-58.93 228.34,-62.31 219.17,-68.79 211.76,-75.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.46,-80.02 209.52,-72.97 209.05,-77.66 211.64,-75.3 211.64,-75.3 211.64,-75.3 209.05,-77.66 213.76,-77.63 206.46,-80.02 206.46,-80.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-62.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-57.93C383.72,-57.93 427.72,-57.93 455.33,-57.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-57.93 455.65,-61.08 459.15,-57.93 455.65,-57.93 455.65,-57.93 455.65,-57.93 459.15,-57.93 455.65,-54.78 462.65,-57.93 462.65,-57.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-76.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-61.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"192pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 191.93\" 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.93)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187.93 509.5,-187.93 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"77.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"98.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"114.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"156.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"172.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"218.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"234.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"276.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"292.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"338.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"354.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"392.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.75\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">)))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"195.75\" y=\"-155.73\" font-family=\"Lato\" font-size=\"14.00\">[parity min even 6]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-24.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-21.23\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-24.93C2.79,-24.93 17.15,-24.93 30.63,-24.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-24.93 30.94,-28.08 34.44,-24.93 30.94,-24.93 30.94,-24.93 30.94,-24.93 34.44,-24.93 30.94,-21.78 37.94,-24.93 37.94,-24.93\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-92.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-89.23\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.54,-32.73C96.64,-44.83 143.09,-68.14 170.58,-81.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.14,-85.22 169.47,-84.9 174.01,-83.65 170.88,-82.08 170.88,-82.08 170.88,-82.08 174.01,-83.65 172.29,-79.27 177.14,-85.22 177.14,-85.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-74.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-20.81C112.82,-11.81 212.46,7.87 295,-3.93 354.99,-12.51 422.69,-35.98 457.17,-48.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.01,-51.58 456.35,-52.03 460.74,-50.33 457.47,-49.09 457.47,-49.09 457.47,-49.09 460.74,-50.33 458.59,-46.15 464.01,-51.58 464.01,-51.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-106.97C177.35,-117.85 181.27,-128.93 193.5,-128.93 203.06,-128.93 207.54,-122.17 206.95,-114.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-106.97 209.95,-113.05 206.07,-110.38 206.89,-113.78 206.89,-113.78 206.89,-113.78 206.07,-110.38 203.83,-114.52 205.26,-106.97 205.26,-106.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-132.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.39,-90.54C231.5,-87.51 266.02,-81.72 295,-73.93 302.4,-71.94 310.32,-69.33 317.45,-66.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.26,-64.32 318.76,-69.67 320.97,-65.51 317.68,-66.71 317.68,-66.71 317.68,-66.71 320.97,-65.51 316.61,-63.75 324.26,-64.32 324.26,-64.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-104.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.12,-71.88C462.83,-78.98 454.33,-87.1 445,-91.93 384.77,-123.11 362.53,-113.68 295,-119.93 269.77,-122.27 262.36,-126.88 238,-119.93 229.62,-117.54 221.28,-113.03 214.18,-108.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.04,-104.09 215.59,-105.5 210.92,-106.09 213.79,-108.09 213.79,-108.09 213.79,-108.09 210.92,-106.09 211.99,-110.68 208.04,-104.09 208.04,-104.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-136.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-121.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-72.72C466.81,-83.35 470.38,-93.93 481,-93.93 489.13,-93.93 493.13,-87.73 493,-80.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-72.72 496.02,-79.07 492.31,-76.17 492.92,-79.62 492.92,-79.62 492.92,-79.62 492.31,-76.17 489.82,-80.16 491.71,-72.72 491.71,-72.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-112.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"473\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.69,-54C315.13,-52.05 304.54,-49.74 295,-47.93 261.83,-41.64 253.54,-39.74 220,-35.93 170.95,-30.37 113.25,-27.28 81.34,-25.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-25.58 81.31,-22.73 77.67,-25.72 81.17,-25.87 81.17,-25.87 81.17,-25.87 77.67,-25.72 81.04,-29.02 74.18,-25.58 74.18,-25.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-54.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-39.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.6,-54.87C302.81,-51.81 266.72,-48.88 238,-58.93 228.34,-62.31 219.17,-68.79 211.76,-75.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.46,-80.02 209.52,-72.97 209.05,-77.66 211.64,-75.3 211.64,-75.3 211.64,-75.3 209.05,-77.66 213.76,-77.63 206.46,-80.02 206.46,-80.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-62.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-57.93C383.72,-57.93 427.72,-57.93 455.33,-57.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-57.93 455.65,-61.08 459.15,-57.93 455.65,-57.93 455.65,-57.93 455.65,-57.93 459.15,-57.93 455.65,-54.78 462.65,-57.93 462.65,-57.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-76.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-61.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(minodd5, spot.change_parity(minodd5, spot.parity_kind_any, spot.parity_style_even))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Changing the **kind**\n",
|
|
"\n",
|
|
"Generaly to go from `parity max` to `parity min`, it suffices to reverse the order of vertices.\n",
|
|
"\n",
|
|
"### max odd 5 → min odd 5:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"190pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 189.93\" 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.93)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.93 509.5,-185.93 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"130.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"146.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"250.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"266.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"328.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"382.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"197.25\" y=\"-153.73\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-24.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-21.23\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-24.93C2.79,-24.93 17.15,-24.93 30.63,-24.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-24.93 30.94,-28.08 34.44,-24.93 30.94,-24.93 30.94,-24.93 30.94,-24.93 34.44,-24.93 30.94,-21.78 37.94,-24.93 37.94,-24.93\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-92.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-89.23\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.54,-32.73C96.64,-44.83 143.09,-68.14 170.58,-81.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.14,-85.22 169.47,-84.9 174.01,-83.65 170.88,-82.08 170.88,-82.08 170.88,-82.08 174.01,-83.65 172.29,-79.27 177.14,-85.22 177.14,-85.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-74.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-20.81C112.82,-11.81 212.46,7.87 295,-3.93 354.99,-12.51 422.69,-35.98 457.17,-48.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.01,-51.58 456.35,-52.03 460.74,-50.33 457.47,-49.09 457.47,-49.09 457.47,-49.09 460.74,-50.33 458.59,-46.15 464.01,-51.58 464.01,-51.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-106.97C177.35,-117.85 181.27,-128.93 193.5,-128.93 203.06,-128.93 207.54,-122.17 206.95,-114.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-106.97 209.95,-113.05 206.07,-110.38 206.89,-113.78 206.89,-113.78 206.89,-113.78 206.07,-110.38 203.83,-114.52 205.26,-106.97 205.26,-106.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-132.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.39,-90.54C231.5,-87.51 266.02,-81.72 295,-73.93 302.4,-71.94 310.32,-69.33 317.45,-66.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.26,-64.32 318.76,-69.67 320.97,-65.51 317.68,-66.71 317.68,-66.71 317.68,-66.71 320.97,-65.51 316.61,-63.75 324.26,-64.32 324.26,-64.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-103.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"274.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.15,-71.93C462.86,-79.04 454.36,-87.16 445,-91.93 384.71,-122.65 362.41,-112.13 295,-117.93 269.76,-120.1 262.48,-124.47 238,-117.93 229.88,-115.77 221.7,-111.68 214.67,-107.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.56,-103.54 216.15,-104.65 211.51,-105.42 214.46,-107.3 214.46,-107.3 214.46,-107.3 211.51,-105.42 212.76,-109.96 208.56,-103.54 208.56,-103.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-134.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-119.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-72.72C466.81,-83.35 470.38,-93.93 481,-93.93 489.13,-93.93 493.13,-87.73 493,-80.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-72.72 496.02,-79.07 492.31,-76.17 492.92,-79.62 492.92,-79.62 492.92,-79.62 492.31,-76.17 489.82,-80.16 491.71,-72.72 491.71,-72.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-111.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"481\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.69,-54C315.13,-52.05 304.54,-49.74 295,-47.93 261.83,-41.64 253.54,-39.74 220,-35.93 170.95,-30.37 113.25,-27.28 81.34,-25.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-25.58 81.31,-22.73 77.67,-25.72 81.17,-25.87 81.17,-25.87 81.17,-25.87 77.67,-25.72 81.04,-29.02 74.18,-25.58 74.18,-25.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-54.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-39.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.6,-54.87C302.81,-51.81 266.72,-48.88 238,-58.93 228.34,-62.31 219.17,-68.79 211.76,-75.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.46,-80.02 209.52,-72.97 209.05,-77.66 211.64,-75.3 211.64,-75.3 211.64,-75.3 209.05,-77.66 213.76,-77.63 206.46,-80.02 206.46,-80.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-62.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-57.93C383.72,-57.93 427.72,-57.93 455.33,-57.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-57.93 455.65,-61.08 459.15,-57.93 455.65,-57.93 455.65,-57.93 455.65,-57.93 459.15,-57.93 455.65,-54.78 462.65,-57.93 462.65,-57.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-76.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-61.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"192pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 191.93\" 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.93)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-187.93 509.5,-187.93 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"130.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"146.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"250.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"266.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"328.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"382.25\" y=\"-169.73\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198.75\" y=\"-155.73\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-24.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-21.23\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-24.93C2.79,-24.93 17.15,-24.93 30.63,-24.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-24.93 30.94,-28.08 34.44,-24.93 30.94,-24.93 30.94,-24.93 30.94,-24.93 34.44,-24.93 30.94,-21.78 37.94,-24.93 37.94,-24.93\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-92.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-89.23\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.54,-32.73C96.64,-44.83 143.09,-68.14 170.58,-81.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.14,-85.22 169.47,-84.9 174.01,-83.65 170.88,-82.08 170.88,-82.08 170.88,-82.08 174.01,-83.65 172.29,-79.27 177.14,-85.22 177.14,-85.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-74.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-20.81C112.82,-11.81 212.46,7.87 295,-3.93 354.99,-12.51 422.69,-35.98 457.17,-48.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.01,-51.58 456.35,-52.03 460.74,-50.33 457.47,-49.09 457.47,-49.09 457.47,-49.09 460.74,-50.33 458.59,-46.15 464.01,-51.58 464.01,-51.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-106.97C177.35,-117.85 181.27,-128.93 193.5,-128.93 203.06,-128.93 207.54,-122.17 206.95,-114.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-106.97 209.95,-113.05 206.07,-110.38 206.89,-113.78 206.89,-113.78 206.89,-113.78 206.07,-110.38 203.83,-114.52 205.26,-106.97 205.26,-106.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-132.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.39,-90.54C231.5,-87.51 266.02,-81.72 295,-73.93 302.4,-71.94 310.32,-69.33 317.45,-66.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.26,-64.32 318.76,-69.67 320.97,-65.51 317.68,-66.71 317.68,-66.71 317.68,-66.71 320.97,-65.51 316.61,-63.75 324.26,-64.32 324.26,-64.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-104.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.12,-71.88C462.83,-78.98 454.33,-87.1 445,-91.93 384.77,-123.11 362.53,-113.68 295,-119.93 269.77,-122.27 262.36,-126.88 238,-119.93 229.62,-117.54 221.28,-113.03 214.18,-108.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.04,-104.09 215.59,-105.5 210.92,-106.09 213.79,-108.09 213.79,-108.09 213.79,-108.09 210.92,-106.09 211.99,-110.68 208.04,-104.09 208.04,-104.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-136.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-121.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-72.72C466.81,-83.35 470.38,-93.93 481,-93.93 489.13,-93.93 493.13,-87.73 493,-80.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-72.72 496.02,-79.07 492.31,-76.17 492.92,-79.62 492.92,-79.62 492.92,-79.62 492.31,-76.17 489.82,-80.16 491.71,-72.72 491.71,-72.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-112.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"473\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.69,-54C315.13,-52.05 304.54,-49.74 295,-47.93 261.83,-41.64 253.54,-39.74 220,-35.93 170.95,-30.37 113.25,-27.28 81.34,-25.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-25.58 81.31,-22.73 77.67,-25.72 81.17,-25.87 81.17,-25.87 81.17,-25.87 77.67,-25.72 81.04,-29.02 74.18,-25.58 74.18,-25.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-54.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-39.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.6,-54.87C302.81,-51.81 266.72,-48.88 238,-58.93 228.34,-62.31 219.17,-68.79 211.76,-75.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.46,-80.02 209.52,-72.97 209.05,-77.66 211.64,-75.3 211.64,-75.3 211.64,-75.3 209.05,-77.66 213.76,-77.63 206.46,-80.02 206.46,-80.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-62.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-57.93C383.72,-57.93 427.72,-57.93 455.33,-57.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-57.93 455.65,-61.08 459.15,-57.93 455.65,-57.93 455.65,-57.93 455.65,-57.93 459.15,-57.93 455.65,-54.78 462.65,-57.93 462.65,-57.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-76.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-61.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxodd5, spot.change_parity(maxodd5, spot.parity_kind_min, spot.parity_style_any))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### max odd 4 → min even 4\n",
|
|
"\n",
|
|
"When the number of colors is even, the style is changed too."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"172pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 172.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 168)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-168 486,-168 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"184\" y=\"-135.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min even 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-53C2.79,-53 17.15,-53 30.63,-53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-53 30.94,-56.15 34.44,-53 30.94,-53 30.94,-53 30.94,-53 34.44,-53 30.94,-49.85 37.94,-53 37.94,-53\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-50.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-64.48C76.33,-69.68 84.24,-75.64 92,-80 123.14,-97.55 131.87,-102.45 167,-109 225.87,-119.99 246.74,-111.24 299,-82 304.66,-78.84 310.35,-74.76 315.44,-70.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-66.01 317.73,-72.9 318.42,-68.24 315.72,-70.48 315.72,-70.48 315.72,-70.48 318.42,-68.24 313.71,-68.05 321.11,-66.01 321.11,-66.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-56.86C92.57,-60.44 123.38,-64.35 149,-58 157.5,-55.9 166.15,-51.89 173.61,-47.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-43.94 175.63,-50.21 177.05,-45.72 174.04,-47.49 174.04,-47.49 174.04,-47.49 177.05,-45.72 172.44,-44.77 180.07,-43.94 180.07,-43.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-21\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-17.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-52.15C371.61,-49.8 402.44,-45.07 428,-37 432.35,-35.63 436.87,-33.85 441.15,-31.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-29.02 442.59,-34.79 444.46,-30.47 441.28,-31.93 441.28,-31.93 441.28,-31.93 444.46,-30.47 439.97,-29.06 447.64,-29.02 447.64,-29.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-28.22C157.68,-21.77 121.1,-13.52 92,-24 85.46,-26.36 79.27,-30.53 73.97,-34.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-39.87 71.67,-32.83 71.19,-37.51 73.78,-35.16 73.78,-35.16 73.78,-35.16 71.19,-37.51 75.9,-37.5 68.6,-39.87 68.6,-39.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-36.46C237.59,-39.98 282.36,-46.49 310.02,-50.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-51.53 309.62,-53.64 313.54,-51.03 310.07,-50.52 310.07,-50.52 310.07,-50.52 313.54,-51.03 310.53,-47.41 317,-51.53 317,-51.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-47.67C178.81,-58.66 182.78,-70 195.5,-70 205.44,-70 210.04,-63.08 209.3,-54.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-47.67 212.25,-53.64 208.31,-51.06 209.2,-54.44 209.2,-54.44 209.2,-54.44 208.31,-51.06 206.15,-55.24 207.42,-47.67 207.42,-47.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-15.47C440.95,-13.72 434.24,-11.98 428,-11 313.37,6.87 282.89,-1.61 167,-7 133.56,-8.56 121.91,1.04 92,-14 83.75,-18.16 76.53,-25.15 70.83,-32.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-37.83 68.19,-30.36 68.55,-35.05 70.68,-32.28 70.68,-32.28 70.68,-32.28 68.55,-35.05 73.18,-34.2 66.41,-37.83 66.41,-37.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-20.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-17.68C427.03,-14.74 395.67,-12.27 371,-22 363.88,-24.81 357.31,-29.81 351.84,-35.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-40.24 349.38,-33.03 349.19,-37.74 351.63,-35.23 351.63,-35.23 351.63,-35.23 349.19,-37.74 353.89,-37.43 346.75,-40.24 346.75,-40.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxodd4, spot.change_parity(maxodd4, spot.parity_kind_min, spot.parity_style_any))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### max odd 4 → min odd 5\n",
|
|
"\n",
|
|
"In this case, to keep the same **style**, a new color would be introduced."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"172pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 172.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 168)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-168 486,-168 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"118.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"196.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"238.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"300.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"316.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"354.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"370.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-135.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-53C2.79,-53 17.15,-53 30.63,-53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-53 30.94,-56.15 34.44,-53 30.94,-53 30.94,-53 30.94,-53 34.44,-53 30.94,-49.85 37.94,-53 37.94,-53\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-50.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-64.48C76.33,-69.68 84.24,-75.64 92,-80 123.14,-97.55 131.87,-102.45 167,-109 225.87,-119.99 246.74,-111.24 299,-82 304.66,-78.84 310.35,-74.76 315.44,-70.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-66.01 317.73,-72.9 318.42,-68.24 315.72,-70.48 315.72,-70.48 315.72,-70.48 318.42,-68.24 313.71,-68.05 321.11,-66.01 321.11,-66.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-56.86C92.57,-60.44 123.38,-64.35 149,-58 157.5,-55.9 166.15,-51.89 173.61,-47.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-43.94 175.63,-50.21 177.05,-45.72 174.04,-47.49 174.04,-47.49 174.04,-47.49 177.05,-45.72 172.44,-44.77 180.07,-43.94 180.07,-43.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-21\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-17.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-52.15C371.61,-49.8 402.44,-45.07 428,-37 432.35,-35.63 436.87,-33.85 441.15,-31.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-29.02 442.59,-34.79 444.46,-30.47 441.28,-31.93 441.28,-31.93 441.28,-31.93 444.46,-30.47 439.97,-29.06 447.64,-29.02 447.64,-29.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-28.22C157.68,-21.77 121.1,-13.52 92,-24 85.46,-26.36 79.27,-30.53 73.97,-34.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-39.87 71.67,-32.83 71.19,-37.51 73.78,-35.16 73.78,-35.16 73.78,-35.16 71.19,-37.51 75.9,-37.5 68.6,-39.87 68.6,-39.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-36.46C237.59,-39.98 282.36,-46.49 310.02,-50.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-51.53 309.62,-53.64 313.54,-51.03 310.07,-50.52 310.07,-50.52 310.07,-50.52 313.54,-51.03 310.53,-47.41 317,-51.53 317,-51.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-47.67C178.81,-58.66 182.78,-70 195.5,-70 205.44,-70 210.04,-63.08 209.3,-54.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-47.67 212.25,-53.64 208.31,-51.06 209.2,-54.44 209.2,-54.44 209.2,-54.44 208.31,-51.06 206.15,-55.24 207.42,-47.67 207.42,-47.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-15.47C440.95,-13.72 434.24,-11.98 428,-11 313.37,6.87 282.89,-1.61 167,-7 133.56,-8.56 121.91,1.04 92,-14 83.75,-18.16 76.53,-25.15 70.83,-32.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-37.83 68.19,-30.36 68.55,-35.05 70.68,-32.28 70.68,-32.28 70.68,-32.28 68.55,-35.05 73.18,-34.2 66.41,-37.83 66.41,-37.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-20.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-17.68C427.03,-14.74 395.67,-12.27 371,-22 363.88,-24.81 357.31,-29.81 351.84,-35.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-40.24 349.38,-33.03 349.19,-37.74 351.63,-35.23 351.63,-35.23 351.63,-35.23 349.19,-37.74 353.89,-37.43 346.75,-40.24 346.75,-40.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxodd4, spot.change_parity(maxodd4, spot.parity_kind_min, spot.parity_style_same))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Colorize parity\n",
|
|
"\n",
|
|
"People working with parity automata usually expect all states (or edges) to have exactly one color. This constraint, which comes in addition to the use of a parity acceptance, is what the HOA format calls \"colored\".\n",
|
|
"\n",
|
|
"A *parity automaton* is a *colored* automaton with *parity acceptance*.\n",
|
|
"\n",
|
|
"Coloring an automaton can be done with the `colorize_parity()` function. This function is not very smart: it will not attempt to simplify the acceptance before colorizing it.\n",
|
|
"\n",
|
|
"## Parity max\n",
|
|
"Transitions with multiple colors are purified by keeping only the set with the greatest index.\n",
|
|
"<br>\n",
|
|
"If there are uncolored transitions, they get assigned to color 0, and all original colors are shifted by one, toggling the style. If the style must be preserved (second argument set to True), we can shift all colors once more.\n",
|
|
"\n",
|
|
"#### Colorize parity max odd 4"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"96.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"117.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"175.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"191.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"237.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"253.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"295.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"311.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"353.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"369.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"66\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"87\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"<text text-anchor=\"start\" x=\"103\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"145\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"161\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"207\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"223\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"265\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"281\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"381\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"397\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">)))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 6]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxodd4, spot.colorize_parity(maxodd4, False))\n",
|
|
"display2(maxodd4, spot.colorize_parity(maxodd4, True))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Colorize parity max even 4"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"118.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"196.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"238.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"300.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"316.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"354.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"370.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"63\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"86\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"<text text-anchor=\"start\" x=\"102\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"148\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"164\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"206\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"222\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"268\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"284\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"326\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"342\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"384\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"400\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">)))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 6]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxeven4, spot.colorize_parity(maxeven4, False))\n",
|
|
"display2(maxeven4, spot.colorize_parity(maxeven4, True))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Parity min\n",
|
|
"Transitions with multiple colors are simplified by keeping only the color with the lowest index.\n",
|
|
"<br>\n",
|
|
"An extra color may be introduced at the end of the range, without changing the acceptance style (so the second argument of `colorize_parity()` is useless in this case).\n",
|
|
"\n",
|
|
"#### Colorize parity min odd 4"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"118.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"134.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"196.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"238.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"300.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"316.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"354.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"370.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(minodd4, spot.colorize_parity(minodd4))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Degenerate cases\n",
|
|
"\n",
|
|
"### max odd 1\n",
|
|
"\n",
|
|
"This is just another name for co-Büchi."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"499pt\" height=\"140pt\"\n",
|
|
" viewBox=\"0.00 0.00 498.50 140.34\" 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 136.34)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-136.34 494.5,-136.34 494.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"213.75\" y=\"-102.14\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.84\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.54C2.79,-23.54 17.15,-23.54 30.63,-23.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.54 30.94,-26.69 34.44,-23.54 30.94,-23.54 30.94,-23.54 30.94,-23.54 34.44,-23.54 30.94,-20.39 37.94,-23.54 37.94,-23.54\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-74.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-70.84\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.99,-30.07C78.94,-32.46 85.76,-35.17 92,-37.54 119.17,-47.87 150.64,-59.13 171.47,-66.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"178.1,-68.82 170.46,-69.46 174.8,-67.65 171.5,-66.49 171.5,-66.49 171.5,-66.49 174.8,-67.65 172.55,-63.52 178.1,-68.82 178.1,-68.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"331\" cy=\"-23.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"331\" y=\"-19.84\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-23.54C120.9,-23.54 251.44,-23.54 305.78,-23.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.93,-23.54 305.93,-26.69 309.43,-23.54 305.93,-23.54 305.93,-23.54 305.93,-23.54 309.43,-23.54 305.93,-20.39 312.93,-23.54 312.93,-23.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-27.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M212.58,-68.62C232.11,-61.4 266.05,-48.77 295,-37.54 298.99,-35.99 303.22,-34.33 307.31,-32.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"314,-30.02 308.67,-35.55 310.75,-31.32 307.5,-32.62 307.5,-32.62 307.5,-32.62 310.75,-31.32 306.33,-29.7 314,-30.02 314,-30.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-60.34\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M313.23,-19.58C292.44,-14.9 255.84,-7.37 224,-4.54 198.77,-2.3 192.24,-2.38 167,-4.54 136.99,-7.11 102.87,-13.57 80.7,-18.24\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.66,-19.75 79.84,-15.2 77.08,-19.01 80.5,-18.28 80.5,-18.28 80.5,-18.28 77.08,-19.01 81.16,-21.36 73.66,-19.75 73.66,-19.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-8.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-23.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"464\" cy=\"-23.54\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-19.84\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.13,-23.54C370.93,-23.54 408.9,-23.54 434.96,-23.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"441.97,-23.54 434.97,-26.69 438.47,-23.54 434.97,-23.54 434.97,-23.54 434.97,-23.54 438.47,-23.54 434.97,-20.39 441.97,-23.54 441.97,-23.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-27.34\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M444.6,-12.46C438.29,-9.24 431.05,-6.17 424,-4.54 399.31,1.15 391.55,1.69 367,-4.54 362.14,-5.78 357.22,-7.84 352.67,-10.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.31,-13.68 350.91,-7.53 349.37,-11.98 352.44,-10.29 352.44,-10.29 352.44,-10.29 349.37,-11.98 353.96,-13.04 346.31,-13.68 346.31,-13.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-8.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M452.05,-42.06C449.39,-53.12 453.38,-63.54 464,-63.54 472.3,-63.54 476.55,-57.18 476.74,-49.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.95,-42.06 479.86,-48.66 476.34,-45.53 476.73,-49.01 476.73,-49.01 476.73,-49.01 476.34,-45.53 473.6,-49.36 475.95,-42.06 475.95,-42.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437.5\" y=\"-67.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"495pt\" height=\"139pt\"\n",
|
|
" viewBox=\"0.00 0.00 494.50 138.68\" 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 134.68)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-134.68 490.5,-134.68 490.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"192.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"215.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"231.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"273.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"289.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"184.75\" y=\"-102.48\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-42.68C62,-42.68 50,-42.68 50,-42.68 44,-42.68 38,-36.68 38,-30.68 38,-30.68 38,-16.68 38,-16.68 38,-10.68 44,-4.68 50,-4.68 50,-4.68 62,-4.68 62,-4.68 68,-4.68 74,-10.68 74,-16.68 74,-16.68 74,-30.68 74,-30.68 74,-36.68 68,-42.68 62,-42.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-12.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.68C2.79,-23.68 17.15,-23.68 30.63,-23.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.68 30.94,-26.83 34.44,-23.68 30.94,-23.68 30.94,-23.68 30.94,-23.68 34.44,-23.68 30.94,-20.53 37.94,-23.68 37.94,-23.68\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M201.5,-94.68C201.5,-94.68 189.5,-94.68 189.5,-94.68 183.5,-94.68 177.5,-88.68 177.5,-82.68 177.5,-82.68 177.5,-68.68 177.5,-68.68 177.5,-62.68 183.5,-56.68 189.5,-56.68 189.5,-56.68 201.5,-56.68 201.5,-56.68 207.5,-56.68 213.5,-62.68 213.5,-68.68 213.5,-68.68 213.5,-82.68 213.5,-82.68 213.5,-88.68 207.5,-94.68 201.5,-94.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"191\" y=\"-79.48\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-64.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.06,-30.6C79.75,-32.88 86.14,-35.42 92,-37.68 118.89,-48.04 149.94,-59.47 170.76,-67.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.4,-69.49 169.75,-70.05 174.11,-68.29 170.82,-67.09 170.82,-67.09 170.82,-67.09 174.11,-68.29 171.9,-64.13 177.4,-69.49 177.4,-69.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M337,-42.68C337,-42.68 325,-42.68 325,-42.68 319,-42.68 313,-36.68 313,-30.68 313,-30.68 313,-16.68 313,-16.68 313,-10.68 319,-4.68 325,-4.68 325,-4.68 337,-4.68 337,-4.68 343,-4.68 349,-10.68 349,-16.68 349,-16.68 349,-30.68 349,-30.68 349,-36.68 343,-42.68 337,-42.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"326.5\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"323\" y=\"-12.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-23.68C120.9,-23.68 251.44,-23.68 305.78,-23.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.93,-23.68 305.93,-26.83 309.43,-23.68 305.93,-23.68 305.93,-23.68 305.93,-23.68 309.43,-23.68 305.93,-20.53 312.93,-23.68 312.93,-23.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.61,-69.15C233.27,-61.63 266.51,-48.87 295,-37.68 298.65,-36.24 302.52,-34.71 306.29,-33.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.93,-30.55 307.6,-36.08 309.68,-31.85 306.43,-33.15 306.43,-33.15 306.43,-33.15 309.68,-31.85 305.26,-30.23 312.93,-30.55 312.93,-30.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-60.48\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M312.87,-19.64C292.01,-14.95 255.66,-7.49 224,-4.68 198.77,-2.43 192.24,-2.51 167,-4.68 137.16,-7.23 103.26,-13.63 81.08,-18.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.03,-19.8 80.22,-15.26 77.45,-19.07 80.88,-18.34 80.88,-18.34 80.88,-18.34 77.45,-19.07 81.53,-21.42 74.03,-19.8 74.03,-19.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-8.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M466,-42.68C466,-42.68 454,-42.68 454,-42.68 448,-42.68 442,-36.68 442,-30.68 442,-30.68 442,-16.68 442,-16.68 442,-10.68 448,-4.68 454,-4.68 454,-4.68 466,-4.68 466,-4.68 472,-4.68 478,-10.68 478,-16.68 478,-16.68 478,-30.68 478,-30.68 478,-36.68 472,-42.68 466,-42.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"455.5\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"452\" y=\"-12.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.13,-23.68C371.19,-23.68 409.67,-23.68 434.74,-23.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"441.74,-23.68 434.74,-26.83 438.24,-23.68 434.74,-23.68 434.74,-23.68 434.74,-23.68 438.24,-23.68 434.74,-20.53 441.74,-23.68 441.74,-23.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M441.9,-12.2C436.42,-9.14 430.17,-6.24 424,-4.68 399.45,1.56 391.55,1.56 367,-4.68 363.15,-5.65 359.26,-7.15 355.55,-8.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"349.1,-12.2 353.88,-6.2 352.21,-10.6 355.32,-9 355.32,-9 355.32,-9 352.21,-10.6 356.76,-11.8 349.1,-12.2 349.1,-12.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-8.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M448.35,-42.71C446.74,-52.21 450.62,-60.68 460,-60.68 466.88,-60.68 470.81,-56.11 471.77,-49.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.65,-42.71 474.91,-49.66 471.7,-46.21 471.76,-49.71 471.76,-49.71 471.76,-49.71 471.7,-46.21 468.61,-49.77 471.65,-42.71 471.65,-42.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"433.5\" y=\"-64.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"maxodd1 = spot.automaton(\"randaut -A 'parity max odd 1' -Q4 2|\")\n",
|
|
"display2(maxodd1, spot.colorize_parity(maxodd1))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### max even 1\n",
|
|
"\n",
|
|
"Another name for Büchi"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"499pt\" height=\"140pt\"\n",
|
|
" viewBox=\"0.00 0.00 498.50 140.34\" 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 136.34)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-136.34 494.5,-136.34 494.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"223.75\" y=\"-102.14\" font-family=\"Lato\" font-size=\"14.00\">[Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.84\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.54C2.79,-23.54 17.15,-23.54 30.63,-23.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.54 30.94,-26.69 34.44,-23.54 30.94,-23.54 30.94,-23.54 30.94,-23.54 34.44,-23.54 30.94,-20.39 37.94,-23.54 37.94,-23.54\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-74.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-70.84\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.99,-30.07C78.94,-32.46 85.76,-35.17 92,-37.54 119.17,-47.87 150.64,-59.13 171.47,-66.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"178.1,-68.82 170.46,-69.46 174.8,-67.65 171.5,-66.49 171.5,-66.49 171.5,-66.49 174.8,-67.65 172.55,-63.52 178.1,-68.82 178.1,-68.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"331\" cy=\"-23.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"331\" y=\"-19.84\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-23.54C120.9,-23.54 251.44,-23.54 305.78,-23.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.93,-23.54 305.93,-26.69 309.43,-23.54 305.93,-23.54 305.93,-23.54 305.93,-23.54 309.43,-23.54 305.93,-20.39 312.93,-23.54 312.93,-23.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-27.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M212.58,-68.62C232.11,-61.4 266.05,-48.77 295,-37.54 298.99,-35.99 303.22,-34.33 307.31,-32.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"314,-30.02 308.67,-35.55 310.75,-31.32 307.5,-32.62 307.5,-32.62 307.5,-32.62 310.75,-31.32 306.33,-29.7 314,-30.02 314,-30.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-60.34\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M313.23,-19.58C292.44,-14.9 255.84,-7.37 224,-4.54 198.77,-2.3 192.24,-2.38 167,-4.54 136.99,-7.11 102.87,-13.57 80.7,-18.24\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"73.66,-19.75 79.84,-15.2 77.08,-19.01 80.5,-18.28 80.5,-18.28 80.5,-18.28 77.08,-19.01 81.16,-21.36 73.66,-19.75 73.66,-19.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-8.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-23.54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"464\" cy=\"-23.54\" rx=\"22\" ry=\"22\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-19.84\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.13,-23.54C370.93,-23.54 408.9,-23.54 434.96,-23.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"441.97,-23.54 434.97,-26.69 438.47,-23.54 434.97,-23.54 434.97,-23.54 434.97,-23.54 438.47,-23.54 434.97,-20.39 441.97,-23.54 441.97,-23.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-27.34\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M444.6,-12.46C438.29,-9.24 431.05,-6.17 424,-4.54 399.31,1.15 391.55,1.69 367,-4.54 362.14,-5.78 357.22,-7.84 352.67,-10.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.31,-13.68 350.91,-7.53 349.37,-11.98 352.44,-10.29 352.44,-10.29 352.44,-10.29 349.37,-11.98 353.96,-13.04 346.31,-13.68 346.31,-13.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-8.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M452.05,-42.06C449.39,-53.12 453.38,-63.54 464,-63.54 472.3,-63.54 476.55,-57.18 476.74,-49.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"475.95,-42.06 479.86,-48.66 476.34,-45.53 476.73,-49.01 476.73,-49.01 476.73,-49.01 476.34,-45.53 473.6,-49.36 475.95,-42.06 475.95,-42.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"437.5\" y=\"-67.34\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"495pt\" height=\"139pt\"\n",
|
|
" viewBox=\"0.00 0.00 494.50 138.68\" 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 134.68)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-134.68 490.5,-134.68 490.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"195.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"216.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"232.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.75\" y=\"-116.48\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.75\" y=\"-102.48\" font-family=\"Lato\" font-size=\"14.00\">[Streett 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M62,-42.68C62,-42.68 50,-42.68 50,-42.68 44,-42.68 38,-36.68 38,-30.68 38,-30.68 38,-16.68 38,-16.68 38,-10.68 44,-4.68 50,-4.68 50,-4.68 62,-4.68 62,-4.68 68,-4.68 74,-10.68 74,-16.68 74,-16.68 74,-30.68 74,-30.68 74,-36.68 68,-42.68 62,-42.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"51.5\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"48\" y=\"-12.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.68C2.79,-23.68 17.15,-23.68 30.63,-23.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.68 30.94,-26.83 34.44,-23.68 30.94,-23.68 30.94,-23.68 30.94,-23.68 34.44,-23.68 30.94,-20.53 37.94,-23.68 37.94,-23.68\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M201.5,-94.68C201.5,-94.68 189.5,-94.68 189.5,-94.68 183.5,-94.68 177.5,-88.68 177.5,-82.68 177.5,-82.68 177.5,-68.68 177.5,-68.68 177.5,-62.68 183.5,-56.68 189.5,-56.68 189.5,-56.68 201.5,-56.68 201.5,-56.68 207.5,-56.68 213.5,-62.68 213.5,-68.68 213.5,-68.68 213.5,-82.68 213.5,-82.68 213.5,-88.68 207.5,-94.68 201.5,-94.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"191\" y=\"-79.48\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-64.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.06,-30.6C79.75,-32.88 86.14,-35.42 92,-37.68 118.89,-48.04 149.94,-59.47 170.76,-67.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.4,-69.49 169.75,-70.05 174.11,-68.29 170.82,-67.09 170.82,-67.09 170.82,-67.09 174.11,-68.29 171.9,-64.13 177.4,-69.49 177.4,-69.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M337,-42.68C337,-42.68 325,-42.68 325,-42.68 319,-42.68 313,-36.68 313,-30.68 313,-30.68 313,-16.68 313,-16.68 313,-10.68 319,-4.68 325,-4.68 325,-4.68 337,-4.68 337,-4.68 343,-4.68 349,-10.68 349,-16.68 349,-16.68 349,-30.68 349,-30.68 349,-36.68 343,-42.68 337,-42.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"326.5\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"323\" y=\"-12.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.08,-23.68C120.9,-23.68 251.44,-23.68 305.78,-23.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.93,-23.68 305.93,-26.83 309.43,-23.68 305.93,-23.68 305.93,-23.68 305.93,-23.68 309.43,-23.68 305.93,-20.53 312.93,-23.68 312.93,-23.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.61,-69.15C233.27,-61.63 266.51,-48.87 295,-37.68 298.65,-36.24 302.52,-34.71 306.29,-33.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"312.93,-30.55 307.6,-36.08 309.68,-31.85 306.43,-33.15 306.43,-33.15 306.43,-33.15 309.68,-31.85 305.26,-30.23 312.93,-30.55 312.93,-30.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-60.48\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M312.87,-19.64C292.01,-14.95 255.66,-7.49 224,-4.68 198.77,-2.43 192.24,-2.51 167,-4.68 137.16,-7.23 103.26,-13.63 81.08,-18.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.03,-19.8 80.22,-15.26 77.45,-19.07 80.88,-18.34 80.88,-18.34 80.88,-18.34 77.45,-19.07 81.53,-21.42 74.03,-19.8 74.03,-19.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-8.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<path fill=\"#ffffaa\" stroke=\"black\" d=\"M466,-42.68C466,-42.68 454,-42.68 454,-42.68 448,-42.68 442,-36.68 442,-30.68 442,-30.68 442,-16.68 442,-16.68 442,-10.68 448,-4.68 454,-4.68 454,-4.68 466,-4.68 466,-4.68 472,-4.68 478,-10.68 478,-16.68 478,-16.68 478,-30.68 478,-30.68 478,-36.68 472,-42.68 466,-42.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"455.5\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"<text text-anchor=\"start\" x=\"452\" y=\"-12.48\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.13,-23.68C371.19,-23.68 409.67,-23.68 434.74,-23.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"441.74,-23.68 434.74,-26.83 438.24,-23.68 434.74,-23.68 434.74,-23.68 434.74,-23.68 438.24,-23.68 434.74,-20.53 441.74,-23.68 441.74,-23.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-27.48\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M441.9,-12.2C436.42,-9.14 430.17,-6.24 424,-4.68 399.45,1.56 391.55,1.56 367,-4.68 363.15,-5.65 359.26,-7.15 355.55,-8.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"349.1,-12.2 353.88,-6.2 352.21,-10.6 355.32,-9 355.32,-9 355.32,-9 352.21,-10.6 356.76,-11.8 349.1,-12.2 349.1,-12.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"367\" y=\"-8.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M448.35,-42.71C446.74,-52.21 450.62,-60.68 460,-60.68 466.88,-60.68 470.81,-56.11 471.77,-49.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.65,-42.71 474.91,-49.66 471.7,-46.21 471.76,-49.71 471.76,-49.71 471.76,-49.71 471.7,-46.21 468.61,-49.77 471.65,-42.71 471.65,-42.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"433.5\" y=\"-64.48\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"maxeven1 = spot.automaton(\"randaut -A 'parity max even 1' -Q4 2|\")\n",
|
|
"display2(maxeven1, spot.colorize_parity(maxeven1))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Here `Streett 1` is just a synonym for `parity max odd 2`. (Spot's automaton printer cannot guess which name should be prefered.)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'Streett 1'"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.acc_cond(\"parity max odd 2\").name()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Cleanup parity\n",
|
|
"\n",
|
|
"The `cleanup_parity()` function removes useless colors of an automaton with parity acceptance.\n",
|
|
"This function is just looking at colors that do not occur in the automaton to perform the simplification.\n",
|
|
"For a stronger simplification, see [`reduce_parity()`](#Reduce-parity) below."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"172pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 172.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 168)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-168 486,-168 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"190.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"213.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"271.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"213.5\" y=\"-135.8\" font-family=\"Lato\" font-size=\"14.00\">[Rabin 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-53C2.79,-53 17.15,-53 30.63,-53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-53 30.94,-56.15 34.44,-53 30.94,-53 30.94,-53 30.94,-53 34.44,-53 30.94,-49.85 37.94,-53 37.94,-53\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-50.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-64.48C76.33,-69.68 84.24,-75.64 92,-80 123.14,-97.55 131.87,-102.45 167,-109 225.87,-119.99 246.74,-111.24 299,-82 304.66,-78.84 310.35,-74.76 315.44,-70.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-66.01 317.73,-72.9 318.42,-68.24 315.72,-70.48 315.72,-70.48 315.72,-70.48 318.42,-68.24 313.71,-68.05 321.11,-66.01 321.11,-66.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-56.86C92.57,-60.44 123.38,-64.35 149,-58 157.5,-55.9 166.15,-51.89 173.61,-47.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-43.94 175.63,-50.21 177.05,-45.72 174.04,-47.49 174.04,-47.49 174.04,-47.49 177.05,-45.72 172.44,-44.77 180.07,-43.94 180.07,-43.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-21\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-17.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-52.15C371.61,-49.8 402.44,-45.07 428,-37 432.35,-35.63 436.87,-33.85 441.15,-31.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-29.02 442.59,-34.79 444.46,-30.47 441.28,-31.93 441.28,-31.93 441.28,-31.93 444.46,-30.47 439.97,-29.06 447.64,-29.02 447.64,-29.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-28.22C157.68,-21.77 121.1,-13.52 92,-24 85.46,-26.36 79.27,-30.53 73.97,-34.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-39.87 71.67,-32.83 71.19,-37.51 73.78,-35.16 73.78,-35.16 73.78,-35.16 71.19,-37.51 75.9,-37.5 68.6,-39.87 68.6,-39.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-36.46C237.59,-39.98 282.36,-46.49 310.02,-50.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-51.53 309.62,-53.64 313.54,-51.03 310.07,-50.52 310.07,-50.52 310.07,-50.52 313.54,-51.03 310.53,-47.41 317,-51.53 317,-51.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-47.67C178.81,-58.66 182.78,-70 195.5,-70 205.44,-70 210.04,-63.08 209.3,-54.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-47.67 212.25,-53.64 208.31,-51.06 209.2,-54.44 209.2,-54.44 209.2,-54.44 208.31,-51.06 206.15,-55.24 207.42,-47.67 207.42,-47.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-15.47C440.95,-13.72 434.24,-11.98 428,-11 313.37,6.87 282.89,-1.61 167,-7 133.56,-8.56 121.91,1.04 92,-14 83.75,-18.16 76.53,-25.15 70.83,-32.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-37.83 68.19,-30.36 68.55,-35.05 70.68,-32.28 70.68,-32.28 70.68,-32.28 68.55,-35.05 73.18,-34.2 66.41,-37.83 66.41,-37.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-20.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-17.68C427.03,-14.74 395.67,-12.27 371,-22 363.88,-24.81 357.31,-29.81 351.84,-35.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-40.24 349.38,-33.03 349.19,-37.74 351.63,-35.23 351.63,-35.23 351.63,-35.23 349.19,-37.74 353.89,-37.43 346.75,-40.24 346.75,-40.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"190pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 189.93\" 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.93)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-185.93 509.5,-185.93 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"107.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"130.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"146.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"192.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"250.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"266.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"312.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"328.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"366.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"382.25\" y=\"-167.73\" font-family=\"Lato\" font-size=\"14.00\">))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"197.25\" y=\"-153.73\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 5]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-24.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-21.23\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-24.93C2.79,-24.93 17.15,-24.93 30.63,-24.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-24.93 30.94,-28.08 34.44,-24.93 30.94,-24.93 30.94,-24.93 30.94,-24.93 34.44,-24.93 30.94,-21.78 37.94,-24.93 37.94,-24.93\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-92.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-89.23\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.54,-32.73C96.64,-44.83 143.09,-68.14 170.58,-81.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.14,-85.22 169.47,-84.9 174.01,-83.65 170.88,-82.08 170.88,-82.08 170.88,-82.08 174.01,-83.65 172.29,-79.27 177.14,-85.22 177.14,-85.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-74.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-20.81C112.82,-11.81 212.46,7.87 295,-3.93 354.99,-12.51 422.69,-35.98 457.17,-48.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"464.01,-51.58 456.35,-52.03 460.74,-50.33 457.47,-49.09 457.47,-49.09 457.47,-49.09 460.74,-50.33 458.59,-46.15 464.01,-51.58 464.01,-51.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-106.97C177.35,-117.85 181.27,-128.93 193.5,-128.93 203.06,-128.93 207.54,-122.17 206.95,-114.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-106.97 209.95,-113.05 206.07,-110.38 206.89,-113.78 206.89,-113.78 206.89,-113.78 206.07,-110.38 203.83,-114.52 205.26,-106.97 205.26,-106.97\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-132.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-57.93\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-54.23\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.39,-90.54C231.5,-87.51 266.02,-81.72 295,-73.93 302.4,-71.94 310.32,-69.33 317.45,-66.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.26,-64.32 318.76,-69.67 320.97,-65.51 317.68,-66.71 317.68,-66.71 317.68,-66.71 320.97,-65.51 316.61,-63.75 324.26,-64.32 324.26,-64.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-103.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"274.5\" y=\"-89.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.15,-71.93C462.86,-79.04 454.36,-87.16 445,-91.93 384.71,-122.65 362.41,-112.13 295,-117.93 269.76,-120.1 262.48,-124.47 238,-117.93 229.88,-115.77 221.7,-111.68 214.67,-107.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.56,-103.54 216.15,-104.65 211.51,-105.42 214.46,-107.3 214.46,-107.3 214.46,-107.3 211.51,-105.42 212.76,-109.96 208.56,-103.54 208.56,-103.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-134.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"333.5\" y=\"-119.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-72.72C466.81,-83.35 470.38,-93.93 481,-93.93 489.13,-93.93 493.13,-87.73 493,-80.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-72.72 496.02,-79.07 492.31,-76.17 492.92,-79.62 492.92,-79.62 492.92,-79.62 492.31,-76.17 489.82,-80.16 491.71,-72.72 491.71,-72.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-111.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"465\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"481\" y=\"-97.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.69,-54C315.13,-52.05 304.54,-49.74 295,-47.93 261.83,-41.64 253.54,-39.74 220,-35.93 170.95,-30.37 113.25,-27.28 81.34,-25.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.18,-25.58 81.31,-22.73 77.67,-25.72 81.17,-25.87 81.17,-25.87 81.17,-25.87 77.67,-25.72 81.04,-29.02 74.18,-25.58 74.18,-25.58\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-54.73\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-39.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.6,-54.87C302.81,-51.81 266.72,-48.88 238,-58.93 228.34,-62.31 219.17,-68.79 211.76,-75.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"206.46,-80.02 209.52,-72.97 209.05,-77.66 211.64,-75.3 211.64,-75.3 211.64,-75.3 209.05,-77.66 213.76,-77.63 206.46,-80.02 206.46,-80.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-62.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-57.93C383.72,-57.93 427.72,-57.93 455.33,-57.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-57.93 455.65,-61.08 459.15,-57.93 455.65,-57.93 455.65,-57.93 455.65,-57.93 459.15,-57.93 455.65,-54.78 462.65,-57.93 462.65,-57.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-76.73\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-61.73\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"514pt\" height=\"178pt\"\n",
|
|
" viewBox=\"0.00 0.00 513.50 177.79\" 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 173.79)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-173.79 509.5,-173.79 509.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"231.25\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.25\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.25\" y=\"-155.59\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"221.25\" y=\"-141.59\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-21.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-18.09\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-21.79C2.79,-21.79 17.15,-21.79 30.63,-21.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-21.79 30.94,-24.94 34.44,-21.79 30.94,-21.79 30.94,-21.79 30.94,-21.79 34.44,-21.79 30.94,-18.64 37.94,-21.79 37.94,-21.79\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"193.5\" cy=\"-82.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"193.5\" y=\"-79.09\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.81,-28.91C96.88,-39.75 142.81,-60.42 170.24,-72.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.79,-75.72 169.12,-75.72 173.6,-74.29 170.41,-72.85 170.41,-72.85 170.41,-72.85 173.6,-74.29 171.7,-69.98 176.79,-75.72 176.79,-75.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-66.59\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"481\" cy=\"-54.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"481\" y=\"-51.09\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.81,-18.11C112.81,-10.09 212.46,7.37 295,-3.79 354.8,-11.89 422.58,-34.06 457.12,-46.33\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"463.97,-48.79 456.32,-49.39 460.68,-47.61 457.39,-46.43 457.39,-46.43 457.39,-46.43 460.68,-47.61 458.45,-43.46 463.97,-48.79 463.97,-48.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-22.59\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-7.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M181.74,-96.84C177.35,-107.71 181.27,-118.79 193.5,-118.79 203.06,-118.79 207.54,-112.03 206.95,-103.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"205.26,-96.84 209.95,-102.91 206.07,-100.24 206.89,-103.64 206.89,-103.64 206.89,-103.64 206.07,-100.24 203.83,-104.38 205.26,-96.84 205.26,-96.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-122.59\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"341.5\" cy=\"-54.79\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"341.5\" y=\"-51.09\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M211.77,-81.89C231.95,-80.56 266.25,-77.48 295,-70.79 302.46,-69.06 310.4,-66.52 317.53,-63.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.33,-61.45 318.86,-66.84 321.05,-62.67 317.77,-63.89 317.77,-63.89 317.77,-63.89 321.05,-62.67 316.67,-60.93 324.33,-61.45 324.33,-61.45\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-97.59\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-82.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M469.17,-68.84C462.9,-75.96 454.39,-84.09 445,-88.79 384.65,-119.06 362.3,-107.44 295,-112.79 269.75,-114.8 262.19,-120.33 238,-112.79 229.1,-110.02 220.42,-104.73 213.18,-99.35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.46,-94.87 214.92,-96.71 210.22,-97.03 212.97,-99.19 212.97,-99.19 212.97,-99.19 210.22,-97.03 211.03,-101.67 207.46,-94.87 207.46,-94.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313\" y=\"-114.59\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M470.29,-69.59C466.81,-80.21 470.38,-90.79 481,-90.79 489.13,-90.79 493.13,-84.59 493,-76.91\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"491.71,-69.59 496.02,-75.93 492.31,-73.03 492.92,-76.48 492.92,-76.48 492.92,-76.48 492.31,-73.03 489.82,-77.03 491.71,-69.59 491.71,-69.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"456.5\" y=\"-109.59\" font-family=\"Lato\" font-size=\"14.00\">p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"473\" y=\"-94.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.71,-51.08C315.15,-49.28 304.56,-47.22 295,-45.79 217.31,-34.22 124.5,-26.65 81.32,-23.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"74.1,-22.96 81.3,-20.32 77.59,-23.21 81.08,-23.46 81.08,-23.46 81.08,-23.46 77.59,-23.21 80.85,-26.61 74.1,-22.96 74.1,-22.96\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-39.59\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M323.41,-52.2C302.72,-49.69 267.05,-47.36 238,-55.79 229.63,-58.22 221.3,-62.75 214.2,-67.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"208.06,-71.67 212.01,-65.1 210.93,-69.68 213.81,-67.68 213.81,-67.68 213.81,-67.68 210.93,-69.68 215.6,-70.27 208.06,-71.67 208.06,-71.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-59.59\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M359.64,-54.79C383.72,-54.79 427.72,-54.79 455.33,-54.79\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462.65,-54.79 455.65,-57.94 459.15,-54.79 455.65,-54.79 455.65,-54.79 455.65,-54.79 459.15,-54.79 455.65,-51.64 462.65,-54.79 462.65,-54.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"388\" y=\"-73.59\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"408.5\" y=\"-58.59\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"129.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"166.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"208.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"224.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"286.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"324.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"340.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"172pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 172.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 168)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-168 486,-168 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"193.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"214.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"230.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"268.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"284.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"209.5\" y=\"-135.8\" font-family=\"Lato\" font-size=\"14.00\">[Streett 1]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-53C2.79,-53 17.15,-53 30.63,-53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-53 30.94,-56.15 34.44,-53 30.94,-53 30.94,-53 30.94,-53 34.44,-53 30.94,-49.85 37.94,-53 37.94,-53\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-50.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-64.48C76.33,-69.68 84.24,-75.64 92,-80 123.14,-97.55 131.87,-102.45 167,-109 225.87,-119.99 246.74,-111.24 299,-82 304.66,-78.84 310.35,-74.76 315.44,-70.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-66.01 317.73,-72.9 318.42,-68.24 315.72,-70.48 315.72,-70.48 315.72,-70.48 318.42,-68.24 313.71,-68.05 321.11,-66.01 321.11,-66.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-56.86C92.57,-60.44 123.38,-64.35 149,-58 157.5,-55.9 166.15,-51.89 173.61,-47.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-43.94 175.63,-50.21 177.05,-45.72 174.04,-47.49 174.04,-47.49 174.04,-47.49 177.05,-45.72 172.44,-44.77 180.07,-43.94 180.07,-43.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-21\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-17.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-52.15C371.61,-49.8 402.44,-45.07 428,-37 432.35,-35.63 436.87,-33.85 441.15,-31.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-29.02 442.59,-34.79 444.46,-30.47 441.28,-31.93 441.28,-31.93 441.28,-31.93 444.46,-30.47 439.97,-29.06 447.64,-29.02 447.64,-29.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-28.22C157.68,-21.77 121.1,-13.52 92,-24 85.46,-26.36 79.27,-30.53 73.97,-34.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-39.87 71.67,-32.83 71.19,-37.51 73.78,-35.16 73.78,-35.16 73.78,-35.16 71.19,-37.51 75.9,-37.5 68.6,-39.87 68.6,-39.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-36.46C237.59,-39.98 282.36,-46.49 310.02,-50.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-51.53 309.62,-53.64 313.54,-51.03 310.07,-50.52 310.07,-50.52 310.07,-50.52 313.54,-51.03 310.53,-47.41 317,-51.53 317,-51.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-47.67C178.81,-58.66 182.78,-70 195.5,-70 205.44,-70 210.04,-63.08 209.3,-54.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-47.67 212.25,-53.64 208.31,-51.06 209.2,-54.44 209.2,-54.44 209.2,-54.44 208.31,-51.06 206.15,-55.24 207.42,-47.67 207.42,-47.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-15.47C440.95,-13.72 434.24,-11.98 428,-11 313.37,6.87 282.89,-1.61 167,-7 133.56,-8.56 121.91,1.04 92,-14 83.75,-18.16 76.53,-25.15 70.83,-32.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-37.83 68.19,-30.36 68.55,-35.05 70.68,-32.28 70.68,-32.28 70.68,-32.28 68.55,-35.05 73.18,-34.2 66.41,-37.83 66.41,-37.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-20.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-17.68C427.03,-14.74 395.67,-12.27 371,-22 363.88,-24.81 357.31,-29.81 351.84,-35.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-40.24 349.38,-33.03 349.19,-37.74 351.63,-35.23 351.63,-35.23 351.63,-35.23 349.19,-37.74 353.89,-37.43 346.75,-40.24 346.75,-40.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(minodd4, spot.cleanup_parity(minodd4))\n",
|
|
"display2(maxodd5, spot.cleanup_parity(maxodd5))\n",
|
|
"display2(maxodd4, spot.cleanup_parity(maxodd4))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Here Rabin 1, co-Büchi, and Streett 1, are respectively the same as \"min odd 2\", \"max odd 1\", \"max odd 2\".\n",
|
|
"\n",
|
|
"# Reduce parity\n",
|
|
"\n",
|
|
"The `reduce_parity()` function is a more elaborate version of `cleanup_parity()`. It implements an algorithm by Carton and Maceiras (*Computing the Rabin index of a parity automaton*, Informatique théorique et applications, 1999), to obtain the minimal parity acceptance condition for a given automaton. Why the original algorithm assume *max odd* parity, this version with work with the four types of parity acceptance. It will only try to preserve the kind (max/min) and may change the style if it allows saving one color. Furthermore, it can colorize (or uncolorize) automata at the same time,\n",
|
|
"making it a very nice replacement for both `cleanup_parity()` and `colorize_parity()`.\n",
|
|
"\n",
|
|
"It takes two arguments:\n",
|
|
"1. the automaton whose parity acceptance condition should be reduced\n",
|
|
"2. a Boolean indicating whether the output should be colored (`True`), or if transition with no color can be used (`False`).\n",
|
|
"\n",
|
|
"By default, the second argument is `False`, because acceptance sets is a scarse ressource in Spot."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"155pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 155.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 151)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-151 486,-151 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"238\" y=\"-131.8\" font-family=\"Lato\" font-size=\"14.00\">f</text>\n",
|
|
"<text text-anchor=\"start\" x=\"221.5\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">[none]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-43\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-39.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-43C2.79,-43 17.15,-43 30.63,-43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-43 30.94,-46.15 34.44,-43 30.94,-43 30.94,-43 30.94,-43 34.44,-43 30.94,-39.85 37.94,-43 37.94,-43\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.95,-52.16C92.48,-64.11 130.95,-84.27 167,-91 191.9,-95.65 199.07,-95.5 224,-91 255.67,-85.29 290.13,-71.02 311.88,-60.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"318.47,-57.82 313.49,-63.65 315.31,-59.31 312.14,-60.8 312.14,-60.8 312.14,-60.8 315.31,-59.31 310.8,-57.96 318.47,-57.82 318.47,-57.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.02,-43.27C92.53,-43.37 122.96,-42.98 149,-40 156.05,-39.19 163.64,-37.88 170.56,-36.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"177.75,-34.99 171.54,-39.51 174.32,-35.71 170.9,-36.42 170.9,-36.42 170.9,-36.42 174.32,-35.71 170.25,-33.34 177.75,-34.99 177.75,-34.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-46.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.27,-48.34C371.99,-46.22 402.6,-41.87 428,-34 432.36,-32.65 436.88,-30.88 441.16,-29.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.66,-26.05 442.6,-31.82 444.47,-27.5 441.29,-28.96 441.29,-28.96 441.29,-28.96 444.47,-27.5 439.98,-26.1 447.66,-26.05 447.66,-26.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.18,-25.73C157.66,-19.93 121.55,-12.48 92,-21 86.57,-22.57 81.17,-25.25 76.29,-28.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"70.43,-32.06 74.56,-25.59 73.36,-30.14 76.28,-28.22 76.28,-28.22 76.28,-28.22 73.36,-30.14 78.01,-30.85 70.43,-32.06 70.43,-32.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.33C237.59,-36.68 282.36,-42.86 310.02,-46.69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-47.65 309.64,-49.81 313.53,-47.17 310.07,-46.69 310.07,-46.69 310.07,-46.69 313.53,-47.17 310.5,-43.57 317,-47.65 317,-47.65\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-47.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 370.5,0.63 234.56,0.04 167,-4 133.49,-6 122.74,0.51 92,-13 85.54,-15.84 79.38,-20.28 74.08,-24.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.69,-29.87 71.69,-22.8 71.26,-27.49 73.83,-25.11 73.83,-25.11 73.83,-25.11 71.26,-27.49 75.97,-27.42 68.69,-29.87 68.69,-29.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.06,-14.75C427.08,-11.87 395.74,-9.46 371,-19 364.07,-21.67 357.62,-26.39 352.2,-31.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"347.13,-36.34 349.92,-29.18 349.63,-33.88 352.13,-31.43 352.13,-31.43 352.13,-31.43 349.63,-33.88 354.33,-33.68 347.13,-36.34 347.13,-36.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity min odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"219.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"258.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"209.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[co-Büchi]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(minodd4, spot.reduce_parity(minodd4))\n",
|
|
"display2(minodd4, spot.reduce_parity(minodd4, True))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"172pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 172.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 168)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-168 486,-168 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"190.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"213.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"229.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"271.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"287.5\" y=\"-149.8\" font-family=\"Lato\" font-size=\"14.00\">)</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-135.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 2]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-53\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-53C2.79,-53 17.15,-53 30.63,-53\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-53 30.94,-56.15 34.44,-53 30.94,-53 30.94,-53 30.94,-53 34.44,-53 30.94,-49.85 37.94,-53 37.94,-53\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-54\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-50.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-64.48C76.33,-69.68 84.24,-75.64 92,-80 123.14,-97.55 131.87,-102.45 167,-109 225.87,-119.99 246.74,-111.24 299,-82 304.66,-78.84 310.35,-74.76 315.44,-70.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-66.01 317.73,-72.9 318.42,-68.24 315.72,-70.48 315.72,-70.48 315.72,-70.48 318.42,-68.24 313.71,-68.05 321.11,-66.01 321.11,-66.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-116.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-34\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-30.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-56.86C92.57,-60.44 123.38,-64.35 149,-58 157.5,-55.9 166.15,-51.89 173.61,-47.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-43.94 175.63,-50.21 177.05,-45.72 174.04,-47.49 174.04,-47.49 174.04,-47.49 177.05,-45.72 172.44,-44.77 180.07,-43.94 180.07,-43.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-21\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-17.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-52.15C371.61,-49.8 402.44,-45.07 428,-37 432.35,-35.63 436.87,-33.85 441.15,-31.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-29.02 442.59,-34.79 444.46,-30.47 441.28,-31.93 441.28,-31.93 441.28,-31.93 444.46,-30.47 439.97,-29.06 447.64,-29.02 447.64,-29.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-28.22C157.68,-21.77 121.1,-13.52 92,-24 85.46,-26.36 79.27,-30.53 73.97,-34.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-39.87 71.67,-32.83 71.19,-37.51 73.78,-35.16 73.78,-35.16 73.78,-35.16 71.19,-37.51 75.9,-37.5 68.6,-39.87 68.6,-39.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-42.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-36.46C237.59,-39.98 282.36,-46.49 310.02,-50.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-51.53 309.62,-53.64 313.54,-51.03 310.07,-50.52 310.07,-50.52 310.07,-50.52 313.54,-51.03 310.53,-47.41 317,-51.53 317,-51.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-47.67C178.81,-58.66 182.78,-70 195.5,-70 205.44,-70 210.04,-63.08 209.3,-54.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-47.67 212.25,-53.64 208.31,-51.06 209.2,-54.44 209.2,-54.44 209.2,-54.44 208.31,-51.06 206.15,-55.24 207.42,-47.67 207.42,-47.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-88.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-73.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-15.47C440.95,-13.72 434.24,-11.98 428,-11 313.37,6.87 282.89,-1.61 167,-7 133.56,-8.56 121.91,1.04 92,-14 83.75,-18.16 76.53,-25.15 70.83,-32.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-37.83 68.19,-30.36 68.55,-35.05 70.68,-32.28 70.68,-32.28 70.68,-32.28 68.55,-35.05 73.18,-34.2 66.41,-37.83 66.41,-37.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-20.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-17.68C427.03,-14.74 395.67,-12.27 371,-22 363.88,-24.81 357.31,-29.81 351.84,-35.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-40.24 349.38,-33.03 349.19,-37.74 351.63,-35.23 351.63,-35.23 351.63,-35.23 349.19,-37.74 353.89,-37.43 346.75,-40.24 346.75,-40.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-25.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"169pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 169.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 165)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-165 486,-165 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"126.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"149.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"165.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"211.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"227.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"269.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"285.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">) & Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"327.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"343.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-132.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max even 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-51\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-47.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.99,-61.47C76.33,-66.68 84.24,-72.63 92,-77 123.14,-94.54 131.87,-99.44 167,-106 225.87,-116.98 246.74,-108.24 299,-79 304.66,-75.83 310.35,-71.76 315.44,-67.7\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.11,-63.01 317.73,-69.9 318.42,-65.24 315.72,-67.47 315.72,-67.47 315.72,-67.47 318.42,-65.24 313.71,-65.05 321.11,-63.01 321.11,-63.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M352.92,-49.14C371.61,-46.8 402.44,-42.07 428,-34 432.35,-32.63 436.87,-30.85 441.15,-28.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"447.64,-26.01 442.59,-31.79 444.46,-27.47 441.28,-28.92 441.28,-28.92 441.28,-28.92 444.46,-27.47 439.97,-26.06 447.64,-26.01 447.64,-26.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-33.45C237.59,-36.98 282.36,-43.49 310.02,-47.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-48.53 309.62,-50.64 313.54,-48.02 310.07,-47.52 310.07,-47.52 310.07,-47.52 313.54,-48.02 310.53,-44.4 317,-48.53 317,-48.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.81,-12.43C440.96,-10.67 434.25,-8.94 428,-8 386.76,-1.81 239.1,-0.64 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"254.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"270.5\" y=\"-5.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.03,-14.68C427.03,-11.74 395.67,-9.27 371,-19 363.88,-21.81 357.31,-26.8 351.84,-32.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"346.75,-37.24 349.38,-30.03 349.19,-34.73 351.63,-32.23 351.63,-32.23 351.63,-32.23 349.19,-34.73 353.89,-34.43 346.75,-37.24 346.75,-37.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div><div style='vertical-align:text-top;display:inline-block;width:50%;'><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
|
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
|
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
|
"<!-- Generated by graphviz version 2.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"490pt\" height=\"183pt\"\n",
|
|
" viewBox=\"0.00 0.00 490.00 183.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 179)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-179 486,-179 486,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"159.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"182.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"198.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"244.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"260.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"298.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"314.5\" y=\"-160.8\" font-family=\"Lato\" font-size=\"14.00\">))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-146.8\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 3]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-50\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-46.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-50C2.79,-50 17.15,-50 30.63,-50\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-50 30.94,-53.15 34.44,-50 30.94,-50 30.94,-50 30.94,-50 34.44,-50 30.94,-46.85 37.94,-50 37.94,-50\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"335\" cy=\"-62\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"335\" y=\"-58.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.79,-65.14C71.95,-74.36 81.03,-85.57 92,-92 121.25,-109.15 133.24,-102.88 167,-106 226.02,-111.46 245.23,-111.93 299,-87 304.43,-84.48 309.89,-81.09 314.83,-77.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"320.77,-73.24 317.01,-79.93 317.95,-75.32 315.14,-77.39 315.14,-77.39 315.14,-77.39 317.95,-75.32 313.27,-74.86 320.77,-73.24 320.77,-73.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-112.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"195.5\" cy=\"-31\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"195.5\" y=\"-27.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.9,-53.85C92.57,-57.43 123.38,-61.34 149,-55 157.5,-52.9 166.15,-48.89 173.61,-44.74\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"180.07,-40.94 175.63,-47.2 177.05,-42.71 174.04,-44.49 174.04,-44.49 174.04,-44.49 177.05,-42.71 172.44,-41.77 180.07,-40.94 180.07,-40.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-61.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"464\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"464\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M353.1,-62.47C372.22,-62.36 403.69,-60.23 428,-49 434.74,-45.89 441.14,-41.04 446.57,-36.09\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"451.66,-31.18 448.81,-38.31 449.14,-33.61 446.63,-36.04 446.63,-36.04 446.63,-36.04 449.14,-33.61 444.44,-33.77 451.66,-31.18 451.66,-31.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"373\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-64.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M178.34,-25.22C157.68,-18.77 121.1,-10.51 92,-21 85.46,-23.36 79.27,-27.53 73.97,-31.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"68.6,-36.86 71.67,-29.83 71.19,-34.51 73.78,-32.16 73.78,-32.16 73.78,-32.16 71.19,-34.51 75.9,-34.49 68.6,-36.86 68.6,-36.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-39.8\" font-family=\"Lato\" font-size=\"14.00\">p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112.5\" y=\"-24.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>3->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M213.36,-34.8C237.59,-40.26 282.36,-50.36 310.02,-56.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"317,-58.17 309.48,-59.7 313.59,-57.4 310.17,-56.63 310.17,-56.63 310.17,-56.63 313.59,-57.4 310.87,-53.56 317,-58.17 317,-58.17\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"242\" y=\"-71.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-56.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M183.58,-44.67C178.81,-55.66 182.78,-67 195.5,-67 205.44,-67 210.04,-60.08 209.3,-51.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"207.42,-44.67 212.25,-50.64 208.31,-48.05 209.2,-51.44 209.2,-51.44 209.2,-51.44 208.31,-48.05 206.15,-52.24 207.42,-44.67 207.42,-44.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"187.5\" y=\"-70.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M447.25,-11.4C441.33,-9.24 434.46,-7.11 428,-6 377.52,2.67 236.49,-0.76 167,-4 133.56,-5.56 121.91,4.05 92,-11 83.75,-15.15 76.53,-22.15 70.83,-29.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"66.41,-34.82 68.19,-27.35 68.55,-32.05 70.68,-29.27 70.68,-29.27 70.68,-29.27 68.55,-32.05 73.18,-31.2 66.41,-34.82 66.41,-34.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"244\" y=\"-19.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-4.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M446.09,-14.08C426.86,-10.52 395.03,-7.42 371,-19 361.6,-23.53 353.89,-31.93 348.12,-40.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.09,-46.26 345.29,-38.68 346.01,-43.33 347.93,-40.41 347.93,-40.41 347.93,-40.41 346.01,-43.33 350.56,-42.13 344.09,-46.26 344.09,-46.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"371\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">!p0 & !p1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.5\" y=\"-22.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display2(maxeven4, spot.reduce_parity(maxeven4))\n",
|
|
"display2(maxeven4, spot.reduce_parity(maxeven4, True))"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|