Orders as categories

This commit is contained in:
Boris Marinov 2021-02-24 18:39:55 +02:00
parent f9e3886ed0
commit ae171446c7
9 changed files with 1124 additions and 91 deletions

View File

@ -259,7 +259,7 @@ We can define a new function, that is the equivalent to performing the operation
Composition is the essence of all things categorical. The key insight is that the sum of two parts is no more complex than the parts themselves.
Question: The definition of functional composition (presented in the second paragraph) relies on the fact that functions are many-to-one relationships between sets. How could functional composition work for many-to-many relationships? Can it work at all?
**Question:** The definition of functional composition (presented in the second paragraph) relies on the fact that functions are many-to-one relationships between sets. How could functional composition work for many-to-many relationships? Can it work at all?
Representing Composition with Commutative Diagrams
---

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:i="&amp;#38;ns_ai;"
xmlns:ns0="foo"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
@ -22,6 +22,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@ -40,166 +41,173 @@
inkscape:window-height="818"
id="namedview2852"
showgrid="false"
inkscape:zoom="2.3349572"
inkscape:cx="297.64999"
inkscape:zoom="0.82553204"
inkscape:cx="-57.326316"
inkscape:cy="100"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="g2846" />
inkscape:current-layer="g2846"
inkscape:document-rotation="0" />
<switch
transform="translate(0 -159)"
id="switch2848">
<g
i:extraneous="self"
ns0:extraneous="self"
id="g2846"
transform="translate(-1.0910201,3.9272465)">
<path
d="m 182.118,208.736 c 0,0 2.582,-0.721 7.045,-1.815 2.348,-0.605 4.93,-1.326 8.101,-2.06 3.172,-0.734 6.577,-1.583 10.573,-2.446 15.392,-3.436 36.222,-6.77 57.093,-8.44 20.87,-1.672 42.14,-1.579 57.998,-0.481 7.813,0.606 14.554,0.903 19.058,1.47 l 2.842,0.272 3.671,-28.452 c 20.292,13.192 38.84,27.53 55.052,43.028 -22.313,5.471 -43.514,12.913 -63.027,21.759 l 3.438,-28.337 -2.842,-0.27 c -4.504,-0.568 -11.012,-0.981 -18.701,-1.369 -15.502,-0.994 -36.18,-1.1 -56.694,0.674 -20.637,1.556 -40.877,4.876 -56.036,8.197 -3.762,0.746 -7.167,1.596 -10.34,2.33 -3.171,0.733 -5.753,1.454 -7.867,1.943 -4.463,1.095 -6.81,1.7 -6.81,1.7 z"
d="m 221.9446,225.81021 c 0,0 1.71416,-0.47866 4.67711,-1.20496 1.55881,-0.40165 3.27297,-0.88031 5.37817,-1.36761 2.10586,-0.48729 4.3664,-1.05094 7.01931,-1.62387 10.21859,-2.28113 24.04742,-4.49454 37.90347,-5.60324 13.85538,-1.11002 27.97632,-1.04828 38.50429,-0.31933 5.18697,0.40232 9.66225,0.5995 12.65241,0.97592 l 1.88677,0.18058 2.43714,-18.889 c 13.47166,8.75804 25.78549,18.27689 36.54847,28.56586 -14.81337,3.63214 -28.8885,8.57281 -41.84299,14.44558 l 2.28246,-18.81265 -1.88678,-0.17925 c -2.99016,-0.37709 -7.31076,-0.65127 -12.4154,-0.90886 -10.29163,-0.65991 -24.01954,-0.73028 -37.63858,0.44746 -13.7007,1.03301 -27.13783,3.23713 -37.20174,5.4419 -2.49755,0.49527 -4.7581,1.05957 -6.86462,1.54687 -2.1052,0.48663 -3.81936,0.96529 -5.22282,1.28994 -2.96294,0.72696 -4.52109,1.12861 -4.52109,1.12861 z"
fill="#9d539f"
stroke-width="0.3"
stroke-width="0.199167"
id="path2810" />
<path
d="m 163.095,248.33 c 0,0 2.758,-0.678 7.525,-1.707 2.508,-0.569 5.266,-1.246 8.654,-1.936 3.389,-0.69 7.026,-1.489 11.295,-2.3 16.442,-3.23 38.693,-6.364 60.988,-7.935 22.295,-1.571 45.015,-1.484 61.955,-0.452 8.346,0.57 15.548,0.85 20.359,1.383 l 3.036,0.255 3.921,-26.75 c 21.676,12.404 41.49,25.884 58.809,40.454 -23.836,5.143 -46.484,12.14 -67.328,20.456 l 3.672,-26.64 -3.036,-0.255 c -4.81,-0.533 -11.763,-0.922 -19.977,-1.286 -16.559,-0.935 -38.648,-1.035 -60.562,0.633 -22.045,1.463 -43.665,4.584 -59.859,7.706 -4.019,0.702 -7.656,1.5 -11.045,2.19 -3.388,0.69 -6.146,1.368 -8.405,1.828 a 795.395,795.395 0 0 0 -7.275,1.597 z"
d="m 209.31542,252.09627 c 0,0 1.83101,-0.45011 4.99577,-1.13326 1.66504,-0.37775 3.49605,-0.8272 5.74531,-1.28529 2.24992,-0.45808 4.66449,-0.98853 7.49863,-1.52694 10.91568,-2.14437 25.6879,-4.225 40.48933,-5.26797 14.80142,-1.04297 29.885,-0.98521 41.1313,-0.30008 5.54082,0.37842 10.32216,0.56431 13.51613,0.91816 l 2.01557,0.16929 2.60312,-17.75905 c 14.39047,8.23489 27.54479,17.18412 39.0427,26.857 -15.82448,3.41439 -30.86026,8.05962 -44.69838,13.58053 l 2.4378,-17.68603 -2.01557,-0.16929 c -3.19331,-0.35385 -7.80934,-0.6121 -13.26253,-0.85376 -10.99335,-0.62074 -25.65802,-0.68713 -40.2065,0.42024 -14.63546,0.97127 -28.98876,3.04327 -39.73979,5.11594 -2.66817,0.46605 -5.08274,0.99583 -7.33267,1.45392 -2.24925,0.45808 -4.08026,0.9082 -5.57999,1.21359 a 528.05475,528.05475 0 0 0 -4.8298,1.06023 z"
fill="#e90909"
stroke-width="0.3"
stroke-width="0.199167"
id="path2812" />
<circle
cx="492.64886"
cy="260.71967"
r="83.388321"
cx="428.10294"
cy="260.32166"
r="55.360668"
id="circle268"
style="opacity:0.13;stroke:#000000;stroke-width:20.3386;stroke-miterlimit:10" />
style="opacity:0.13;stroke:#000000;stroke-width:13.5026;stroke-miterlimit:10" />
<path
d="m 155.226,317.83 c 0,0 2.964,0.743 8.088,1.869 2.696,0.622 5.66,1.365 9.302,2.12 3.642,0.754 7.552,1.628 12.14,2.514 17.672,3.532 41.582,6.94 65.534,8.622 23.952,1.682 48.354,1.528 66.546,0.344 8.962,-0.651 16.696,-0.979 21.861,-1.58 l 3.26,-0.29 4.308,29.573 c 23.238,-13.771 44.47,-28.73 63.02,-44.887 -25.62,-5.628 -49.97,-13.308 -72.388,-22.453 l 4.04,29.453 -3.26,0.29 c -5.166,0.601 -12.632,1.048 -21.452,1.472 -17.783,1.075 -41.508,1.241 -65.05,-0.548 -23.684,-1.562 -46.918,-4.96 -64.322,-8.372 -4.319,-0.766 -8.229,-1.64 -11.87,-2.394 -3.643,-0.755 -6.607,-1.497 -9.035,-2 -5.124,-1.126 -7.82,-1.748 -7.82,-1.748 z"
d="m 204.09127,298.23662 c 0,0 1.96777,0.49327 5.36954,1.24082 1.78985,0.41293 3.75762,0.9062 6.17551,1.40744 2.41789,0.50057 5.0137,1.08081 8.05962,1.66902 11.73227,2.34486 27.60587,4.6074 43.50737,5.72406 15.90149,1.11666 32.10173,1.01442 44.17922,0.22838 5.94978,-0.43219 11.0843,-0.64995 14.5133,-1.04895 l 2.16428,-0.19253 2.86003,19.63322 c 15.42748,-9.14243 29.52319,-19.07356 41.83835,-29.80003 -17.00886,-3.73637 -33.17458,-8.83504 -48.05767,-14.90632 l 2.68212,19.55355 -2.16428,0.19253 c -3.42966,0.399 -8.38626,0.69576 -14.24177,0.97725 -11.80595,0.71368 -27.55674,0.82388 -43.18604,-0.36381 -15.72357,-1.037 -31.14839,-3.2929 -42.70273,-5.55809 -2.86734,-0.50854 -5.46315,-1.08878 -7.88037,-1.58935 -2.41855,-0.50124 -4.38632,-0.99385 -5.99825,-1.32778 -3.40177,-0.74754 -5.19162,-1.16048 -5.19162,-1.16048 z"
fill="#0e2db8"
stroke-width="0.3"
stroke-width="0.199167"
id="path2814" />
<path
d="m 181.978,289.46 c 0,0 2.575,0.472 7.009,1.13 2.336,0.377 4.91,0.849 8.057,1.271 3.147,0.423 6.532,0.94 10.489,1.41 15.255,1.923 35.752,3.17 56.103,2.7 20.35,-0.47 40.888,-2.798 56.087,-5.592 7.48,-1.445 13.96,-2.459 18.247,-3.516 l 2.716,-0.577 6.73,28.917 c 18.128,-15.716 34.442,-32.43 48.372,-50.093 -22.17,-3.292 -43.485,-8.731 -63.326,-15.793 l 6.492,28.822 -2.716,0.578 c -4.287,1.057 -10.529,2.165 -17.914,3.371 -14.865,2.651 -34.831,4.931 -54.848,5.257 -20.112,0.564 -40.038,-0.731 -55.055,-2.56 -3.718,-0.374 -7.103,-0.892 -10.25,-1.314 -3.146,-0.423 -5.72,-0.894 -7.818,-1.176 -4.434,-0.659 -6.77,-1.035 -6.77,-1.035 z"
d="m 221.85166,279.40207 c 0,0 1.70951,0.31335 4.6532,0.75019 1.55085,0.25029 3.2597,0.56365 5.34896,0.84381 2.08926,0.28082 4.33653,0.62405 6.96354,0.93608 10.12765,1.27666 23.7354,2.10453 37.24622,1.7925 13.51016,-0.31202 27.14513,-1.85756 37.2356,-3.71247 4.96589,-0.95932 9.2679,-1.6325 12.114,-2.33424 l 1.80312,-0.38306 4.46798,19.19771 c 12.035,-10.4337 22.8657,-21.52996 32.11369,-33.25624 -14.71844,-2.18553 -28.86926,-5.79643 -42.0415,-10.48482 l 4.30998,19.13464 -1.80313,0.38373 c -2.8461,0.70173 -6.9901,1.43732 -11.89292,2.23797 -9.86873,1.75997 -23.12396,3.27364 -36.41304,3.49007 -13.35216,0.37443 -26.58083,-0.4853 -36.55046,-1.69956 -2.46834,-0.24829 -4.71561,-0.59219 -6.80487,-0.87235 -2.0886,-0.28083 -3.79745,-0.59352 -5.1903,-0.78073 -2.94368,-0.43751 -4.49453,-0.68713 -4.49453,-0.68713 z"
fill="#04bd3d"
stroke-width="0.3"
stroke-width="0.199167"
id="path2816" />
<circle
cx="120.35165"
cy="260.81131"
r="83.388321"
cx="180.93854"
cy="260.38248"
r="55.360668"
id="circle268-6"
style="opacity:0.13;stroke:#000000;stroke-width:20.3386;stroke-miterlimit:10" />
style="opacity:0.13;stroke:#000000;stroke-width:13.5026;stroke-miterlimit:10" />
<circle
cy="192.70348"
cx="197.34406"
cy="170.53233"
cx="257.52014"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="89.626999"
r="59.502464"
fill="#dbdb8b"
stroke="#878578"
stroke-width="10.544"
stroke-width="7.00006"
id="circle2818" />
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="199.41701"
y="216.16499"
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.66389"
x="225.62718"
y="239.03592"
transform="rotate(-4.889)"
font-weight="700"
font-size="26.667px"
font-size="17.704px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
id="text2822"><tspan
x="199.41701"
y="216.16499"
id="tspan2820">isEven</tspan></text>
x="225.62718"
y="239.03592"
id="tspan2820"
style="stroke-width:0.66389">isEven</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="196.388"
y="251.784"
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.66389"
x="224.71373"
y="261.5994"
transform="rotate(-4.227)"
font-weight="700"
font-size="26.667px"
font-size="17.704px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#e90909"
id="text2826"><tspan
x="196.388"
y="251.784"
id="tspan2824">isOdd</tspan></text>
x="224.71373"
y="261.5994"
id="tspan2824"
style="stroke-width:0.66389">isOdd</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="202.427"
y="295.548"
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.66389"
x="232.00917"
y="287.25305"
transform="rotate(-2.197)"
font-weight="700"
font-size="26.667px"
font-size="17.704px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#04bd3d"
id="text2830"><tspan
x="202.427"
y="295.548"
id="tspan2828">isPrime</tspan></text>
x="232.00917"
y="287.25305"
id="tspan2828"
style="stroke-width:0.66389">isPrime</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="256.15302"
y="321.49701"
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.66389"
x="272.09683"
y="299.49792"
transform="rotate(0.662)"
font-weight="700"
font-size="26.667px"
font-size="17.704px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#0e2db8"
id="text2834"><tspan
x="256.15302"
y="321.49701"
id="tspan2832">&gt;0</tspan></text>
x="272.09683"
y="299.49792"
id="tspan2832"
style="stroke-width:0.66389">&gt;0</tspan></text>
<circle
cy="51.771999"
cx="545.72998"
cy="76.969345"
cx="488.81006"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="89.626999"
r="59.502464"
fill="#d9d98d"
stroke="#878578"
stroke-width="10.544"
stroke-width="7.00006"
id="circle2836" />
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="43.948681"
y="260.72006"
x="130.5511"
y="259.93155"
transform="rotate(0.221)"
font-weight="700"
font-size="30.308px"
font-size="20.1212px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
stroke-width="1.137"
stroke-width="0.754843"
id="text2840"><tspan
x="43.948681"
y="260.72006"
x="130.5511"
y="259.93155"
fill="#797979"
id="tspan2838">number</tspan></text>
id="tspan2838"
style="stroke-width:0.501133">number</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="420.13199"
y="260.224"
x="380.29541"
y="259.6022"
transform="rotate(0.221)"
font-weight="700"
font-size="30.308px"
font-size="20.1212px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
stroke-width="1.137"
stroke-width="0.754843"
id="text2844"><tspan
x="420.13199"
y="260.224"
x="380.29541"
y="259.6022"
fill="#797979"
id="tspan2842">boolean</tspan></text>
id="tspan2842"
style="stroke-width:0.501133">boolean</tspan></text>
</g>
</switch>
</svg>

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -99,6 +99,11 @@ This touches a programming concept which is very popular in category-theory insp
In general, we use monoids and related structures as a way to model how a set of (associative) actions that are performed on a given object (or objects) alter it's state. We can do that, provided that the object's state is determined solely by the actions that are performed on it, this allows us to leave the object out of the equation and concentrate on how the actions are combined. And as per usual, the actions (and elements) can be anything, from mixing colors in paint, or adding a quantities to a given set of things etc.
<!--
Free Monoids
===
-->
Other monoid-like objects
===
@ -275,8 +280,6 @@ Those two operations and their composite results in a group called **Dih3** that
**Question:** Besides having two main actions, what is the defining factor that makes this and any other group non-abelian?
Monoids as Categories
===

View File

@ -159,9 +159,7 @@ Give two elements, the smallest element that is bigger than both of them (i.e. t
![Join](join.svg)
In a totally ordered set, the *join* of any subset of elements is just their the *maximum* element.
And, like with the maxumum element, if two elements have several upper bounds that are equally big, then none of them is a *join* (a join must be unique).
Given any two elements in which one is bigger than the other (e.g. **A ≤ B**), the join is the bigger element (in this case **B**). In a totally ordered set, the *join* of any subset of elements is just their the *maximum* element. And, like with the maxumum element, if two elements have several upper bounds that are equally big, then none of them is a *join* (a join must be unique).
![A non-join diagram](non_join.svg)
@ -196,42 +194,78 @@ This allows us to compare any two points by just seeing which one is above the o
Preorder
===
In the last chapter, we saw how removing the law of totality from the laws of *(linear) order* produces a different (and somewhat more interesting) structure, called *partial order*. Now let's see what will happen if we remove another one of the laws, namely the *antisymmetry* law. If you recall, the antisymmetry law mandated that you cannot have an object that is at the same time smaller and bigger than another one. (or that **a ≤ b ⟺ b ≰ a**) and removing it leaves us with just one law - transitivity - **a ≤ b and b ≤ c ➞ a ≤ c** (two, if we count reflexivity).
In the last chapter, we saw how removing the law of totality from the laws of *(linear) order* produces a different (and somewhat more interesting) structure, called *partial order*. Now let's see what will happen if we remove another one of the laws, namely the *antisymmetry* law. If you recall, the antisymmetry law mandated that you cannot have an object that is at the same time smaller and bigger than another one. (or that **a ≤ b ⟺ b ≰ a**).
| **Total order** | reflexive | transitive | antisymmetric | total |
| **Partial order** | reflexive | transitive | antisymmetric | ~~total~~ |
| **Preorder** | reflexive | transitive | ~~antisymmetric~~ | ~~total~~ |
| **Total order** | reflexive | transitive | antisymmetric | total | Either **a ≤ b** or **b ≤ a**
| **Partial order** | reflexive | transitive | antisymmetric | ~~total~~ | Either **a ≤ b** or **b ≤ a** or they are unrelated.
| **Preorder** | reflexive | transitive | ~~antisymmetric~~ | ~~total~~ | Both **a ≤ b** and **b ≤ a** are possible.
This results in something called a preorder which is not exactly an order, as it can have arrows coming from any point to any other. If a partial order can be used to model who is better at who in soccer, then a preorder can be used to model who has beaten who, either directly (by playing him) or indirectly
This results in something called a preorder which is not exactly an order, as it can have arrows coming from any point to any other: if a partial order can be used to model who is better at who in soccer, then a preorder can be used to model who has beaten who, either directly (by playing him) or indirectly.
![preorder](preorder.svg)
An interesting consequence of the reflexivity property is that all indirect wins (ones that are wins not against the player directly, but against someone who had beat them) are added as a direct result of its application, as seen here (we show indirect wins in lighter tone).
Preorders have just one law - transitivity **a ≤ b and b ≤ c ➞ a ≤ c** (two, if we count reflexivity). The part about the indirect wins is a result of this law. Due to it, all indirect wins (ones that are wins not against the player directly, but against someone who had beat them) are added as a direct result of its application, as seen here (we show indirect wins in lighter tone).
![preorder in sport](preorder_sports.svg)
Also, notice that all "circle" relationships (e.g. where you have a weaker player beating a stronger one) result in just a bunch of objects that are all connected to one another, due to which, we can convert the preorder into partial order, by grouping all objects that have arrows to one another in sets and then create an order from those sets.
And as a result of that, all "circle" relationships (e.g. where you have a weaker player beating a stronger one) result in just a bunch of objects that are all connected to one another, due to which, we can convert the preorder into partial order, by grouping all objects that have arrows to one another in sets and then create an order from those sets (they are called *equivalence classes*, by the way).
![preorder](preorder_equivalence.svg)
Those sets are called *equivalence classes*.
All of that structure arizes naturally from the simple law of transitivity.
![Transitivity](transitivity.svg)
Orders as categories
===
Now let's look at transitivity law again, but from a different perspective. What it tells us that if we have two pairs of relationship **a ≤ b** and **b ≤ c**, then we automatically have a third one **a ≤ c**. In other words, it tells us that the **≤** relationship composes i.e. if we view the "bigger than" relationship as a morphism we would see that it fits the categorical definition of composition.
![Transitivity as functional composition](transitivity_composition.svg)
(we have to also verify that the relation is associative, but that's easy)
What about that other law that was required in order to be a category - the identity law? We have it too, under the name *reflexivity*.
![Reflexivity](reflexivity.svg)
So it's official - preoders are categories. And since partial orders and total orders are preorders too (as they obey those two laws), they are categories as well.
Starting to compare the categories of preorders, and partial and linear orders to other categories, like the (quintessential) category of sets, immediately sets them apart. In other categories there can be *many different morphisms (arrows)* between two objects and in orders can have *at most one morphism*. That is, for two objects **a** **b** we either we have **a ≤ b** or we do not.
![Orders compared to other categories](arrows_one_arrow.svg)
That is in the contrast with the category of sets where there are potentially inifinite amount of functions from, say, the set of integers and the set of boolean values, as well as a lot of functions that go the other way around, and the existence of either of these functions does not imply that one set is "bigger" than the other one.
![Orders compared to other categories](order_category.svg)
Products and sums
---
While we are rehashing diagrams from the previous chapters, let's look at the diagram defining the *sum* of two objects in a category
![Joins as coproduct](coproduct_morphisms.svg)
The set inclusion order
===
Do some sets form some kind of order as established by the functions between them?
Let's revisit our color-mixing monoid and create a color-mixing poset
![A color mixing poset](color_mixing_poset.svg)
Orders as powersets
===
Lattices
===
Order as powersets
---
The poset N+ under the divisibility ordering is a lattice!
Indeed, it turns out that the meet operation corresponds
to greatest common divisor and the join operation corresponds to least common multiple.
Logic
===

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ns="foo"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="595.3"
height="150"
version="1.1"
id="svg1893"
sodipodi:docname="arrows_one_arrow.svg"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata1899">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs1897" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview1895"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:snap-global="true"
inkscape:zoom="2.3349572"
inkscape:cx="234.09975"
inkscape:cy="50.881862"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="g1889"
inkscape:document-rotation="0" />
<switch
transform="translate(0 -209)"
id="switch1891">
<g
ns:extraneous="self"
id="g1889"
transform="translate(10.178158,5.8979328)">
<circle
cx="365.00427"
cy="279.2048"
r="22.439915"
id="circle266-9-1"
style="opacity:0.13;stroke:#000000;stroke-width:5.47315;stroke-miterlimit:10" />
<circle
cy="116.39262"
cx="436.76218"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="23.96932"
fill="#999491"
stroke="#858585"
stroke-width="5.84598"
id="circle1877-2" />
<circle
cx="231.4711"
cy="280.03275"
r="22.439915"
id="circle266-9-3-7"
style="opacity:0.13;stroke:#000000;stroke-width:5.47315;stroke-miterlimit:10" />
<path
d="m 243.66303,271.4892 c 0,0 1.04732,-0.25783 2.85653,-0.64786 0.95218,-0.21643 1.9995,-0.47354 3.28578,-0.73501 1.28555,-0.26147 2.66697,-0.56506 4.28734,-0.87301 6.24182,-1.22672 14.68867,-2.4164 23.15224,-3.01269 8.46356,-0.59629 17.08836,-0.56288 23.51974,-0.17141 3.16812,0.21644 5.9019,0.32248 7.72782,0.52512 l 1.15264,0.0966 1.48891,-10.15438 c 8.22897,4.70859 15.7498,9.82537 22.32498,15.35686 -9.04896,1.9523 -17.64616,4.60837 -25.55846,7.76559 l 1.39376,-10.11371 -1.15263,-0.0966 c -1.82664,-0.20264 -4.46601,-0.35007 -7.58402,-0.48807 -6.28611,-0.35444 -14.67124,-0.3922 -22.99027,0.2404 -8.36841,0.55562 -16.57632,1.74022 -22.72372,2.92554 -1.52522,0.26655 -2.90664,0.56941 -4.19292,0.83161 -1.28555,0.26147 -2.33287,0.51858 -3.19063,0.69361 -1.80921,0.39003 -2.76139,0.60646 -2.76139,0.60646 z"
fill="#e90909"
stroke-width="0.21789"
id="path1881-9"
style="fill:#1a1a1a" />
<circle
cy="168.46315"
cx="314.76355"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="23.96932"
fill="#b5b5b1"
stroke="#878578"
stroke-width="5.84598"
id="circle1887-0" />
</g>
<circle
cx="390.29419"
cy="297.34653"
r="31.458786"
id="circle266"
style="opacity:0.13;stroke:#000000;stroke-width:7.67287;stroke-miterlimit:10"
transform="translate(13.672047,18.04996)" />
</switch>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 595.3 317.5"
version="1.1"
id="svg12626"
sodipodi:docname="coproduct_morphisms.svg"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata12632">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs12630" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2131"
inkscape:window-height="1067"
id="namedview12628"
showgrid="false"
inkscape:zoom="2.3349572"
inkscape:cx="297.64999"
inkscape:cy="158.75"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="svg12626" />
<switch
id="switch12624">
<g
id="g12622">
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="319.5"
cy="282.1"
r="30.9"
id="circle12562" />
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="437.6"
cy="77.1"
r="30.9"
id="circle12564" />
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="311.5"
cy="158.7"
r="30.9"
id="circle12566" />
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="230.1"
cy="226.8"
r="31.4"
id="circle12568" />
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="393.9"
cy="223.8"
r="32.1"
id="circle12570" />
<path
d="M389.193 187.495s.21-1.427.625-4.057c.325-2.587.898-6.288 1.261-10.663.776-8.885 1.215-20.82-.23-32.526-.146-1.479-.383-2.916-.62-4.352-.237-1.437-.474-2.873-.802-4.267-.237-1.437-.745-2.745-1.072-4.139l-1.254-4.053c-1.81-5.229-3.761-10.057-5.643-14.035-1.834-4.11-3.597-7.37-4.799-9.677-.342-.723-.603-1.042-.603-1.042l-10.273 5.412c.543-8.443.466-17.257.433-25.98 7.599 4.37 15.197 8.741 22.872 13.74l-10.273 5.412s.171.361.604 1.042c1.202 2.307 2.917 5.7 4.841 9.767 1.834 4.111 3.92 8.988 5.724 14.44.508 1.308.836 2.702 1.296 4.143.37 1.484.789 2.836 1.068 4.363.37 1.484.608 2.92.887 4.447.28 1.527.427 3.007.707 4.534 1.482 12.02 1.038 24.178.215 33.196-.412 4.509-.851 8.256-1.267 10.887-.415 2.63-.715 4.1-.715 4.1z"
fill="#dfeaa8"
id="path12572" />
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="231.2"
cy="70.2"
r="30.9"
id="circle12574" />
<path
d="M216.8 192s-.1-1.2-.3-3.2c-.2-2-.5-4.9-.7-8.4-.5-7-1-16.3-.9-25.6 0-9.3.5-18.7 1-25.6.3-3.5.6-6.4.8-8.4.1-.7.1-1.1.1-1.1l-11.5-1.3c5.3-7.4 10.8-14.4 16.7-21 2.7 8.3 5.9 16.3 9.5 24l-11.5-1.3s0 .4-.1 1.1c-.2 2-.5 4.9-.8 8.3-.6 6.9-1 16.1-1 25.4 0 9.2.4 18.5.9 25.4.3 3.5.5 6.3.7 8.3.2 2 .3 3.2.3 3.2z"
fill="#e0f3fd"
stroke-width=".1"
id="path12576" />
<path
d="M370.35 197.55s-1-2.2-2.7-5.9c-1.8-3.8-4.2-9.1-7.3-15.5-6.2-12.8-14.8-29.7-25.7-45.1-5.4-7.7-11.4-15-17.5-21.3-3-3.2-6.2-6-9.3-8.6-3.1-2.6-6.2-4.8-9.1-6.8-5.8-4-10.9-6.9-14.5-8.9l-1.2-.6-5.5 10.2c-4.1-7.2-9-14.3-14.4-21.2 8.7-1.3 17.6-2 26.9-2l-5.5 10.2 1.2.6c3.7 2 8.9 5 14.8 9.1 3 2 6.1 4.4 9.3 7 3.2 2.6 6.5 5.6 9.5 8.8 6.3 6.4 12.4 13.9 17.8 21.7 11 15.6 19.7 32.6 25.9 45.5 3.1 6.4 5.6 11.8 7.4 15.6 1.7 3.8 2.7 5.9 2.7 5.9z"
fill="#dfeaa8"
id="path12578" />
<path
d="M226.832 190.597s.663-1.803 1.83-4.935a90.235 90.235 0 012.145-5.567c.884-2.088 1.83-4.619 2.998-7.118 4.513-10.471 11.71-23.949 20.142-36.574 8.432-12.625 18.225-24.335 26.123-32.564 1.927-2.12 3.855-3.924 5.434-5.507 1.675-1.614 3.097-3.038 4.297-4.178.569-.506.98-.855.98-.855l-7.882-8.436c2.245-.54 4.395-1.047 6.64-1.587l6.607-1.366 3.257-.667 3.32-.477 6.545-.923-2.398 6.074-1.199 3.037-1.072 3.1-2.082 6.073c-.599 1.993-1.166 4.08-1.765 6.073l-7.882-8.436s-.316.317-.885.823c-1.232 1.045-2.654 2.469-4.233 4.052-1.58 1.582-3.507 3.386-5.34 5.475-7.835 8.103-17.47 19.654-25.838 32.152-8.369 12.499-15.409 25.818-19.858 36.163-1.136 2.594-2.114 5.03-2.998 7.118-.884 2.088-1.514 3.986-2.145 5.567-1.168 3.132-1.767 4.809-1.767 4.809z"
fill="#e0f3fd"
id="path12580" />
<path
d="M405.784 198.707s.363-1.081 1.143-2.966c.78-1.884 1.756-4.6 2.844-7.843 2.315-6.514 5.188-15.3 7.59-24.282 2.486-8.926 4.445-17.963 5.762-24.784.7-3.382 1.065-6.266 1.458-8.29l.14-1.109-11.45-1.77c5.42-6.479 10.703-13.291 15.598-20.604a239.3 239.3 0 0110.437 24.676l-11.452-1.769-.14 1.11c-.392 2.023-.759 4.907-1.458 8.29-1.234 6.875-3.331 15.94-5.79 25.005-2.402 8.982-5.331 17.851-7.701 24.448-1.227 3.27-2.203 5.986-2.9 7.926-.697 1.94-1.143 2.966-1.143 2.966z"
fill="#dfeaa8"
id="path12582" />
<path
d="M239.142 195.043s1.236-2.85 3.216-7.77c.439-1.224 1.134-2.568 1.863-4.006.73-1.438 1.432-3.099 2.228-4.725.736-1.755 1.755-3.408 2.747-5.283.526-.873.992-1.875 1.552-2.842.56-.968 1.026-1.97 1.68-2.903 4.581-8.024 10.637-16.9 18.052-25.712 7.415-8.813 16.248-17.435 26.035-24.865 9.787-7.43 20.372-13.828 30.888-18.552 5.244-2.473 10.414-4.442 15.421-6.257 5.069-1.686 9.847-3.158 14.268-4.226 8.97-2.198 16.587-3.288 21.943-3.702.982-.073 1.52-.092 1.52-.092l-.841-11.565c4.416 1.905 8.577 3.93 12.541 6.204 3.965 2.274 7.829 4.83 11.147 7.721-4.147 1.486-7.924 3.424-11.512 5.43-3.59 2.004-7.03 4.487-10.217 6.85l-.875-11.471s-.538.02-1.426.125c-5.26.448-12.75 1.478-21.498 3.65-4.421 1.068-9.072 2.48-14.012 4.105-4.88 1.754-10.016 3.629-15.132 6.042-10.294 4.697-20.717 10.942-30.248 18.25-9.625 7.276-18.297 15.743-25.55 24.402-7.253 8.658-13.275 17.44-17.695 25.309l-1.68 2.903c-.56.968-.992 1.875-1.518 2.748-.959 1.781-1.917 3.562-2.713 5.189-.797 1.626-1.56 3.159-2.195 4.63-.729 1.439-1.296 2.723-1.863 4.007-2.074 4.886-3.182 7.676-3.182 7.676zM249.302 246.096l.864.71c.517.427 1.34 1.046 2.244 1.848 1.858 1.472 4.498 3.472 7.149 5.248 2.69 1.868 5.34 3.644 7.433 4.903 1.045.63 1.868 1.249 2.437 1.543.568.294.873.487.873.487l6-9.89c1.888 3.757 3.869 7.472 6.083 10.975 2.163 3.635 4.377 7.137 7.362 10.406-4.294.925-8.914 1.118-13.443 1.271-4.569.062-9.087-.008-13.686-.262l5.999-9.89s-.305-.193-.873-.487c-.61-.386-1.524-.965-2.57-1.594-2.132-1.35-4.782-3.127-7.473-4.994-2.691-1.868-5.331-3.868-7.322-5.39-.995-.762-1.817-1.381-2.376-1.9-.558-.517-.863-.71-.863-.71z"
fill="#e0f3fd"
id="path12584" />
<path
d="M368.851 248.004l-1.312 2.458c-.26.471-.409.856-.669 1.327l-1.04 1.08-.694.72 8.033 8.352s-.533.237-1.364.436c-.843.298-1.984.56-3.335.896-2.704.673-6.09 1.16-9.463 1.548-3.373.388-6.734.677-9.165.778-2.53.09-4.143.092-4.143.092s.78-1.415 1.956-3.587c1.077-2.184 2.55-5.125 3.813-7.992 1.262-2.866 2.338-5.857 2.894-7.904.334-1.067.432-1.86.605-2.444l.11-.893 8.034 8.352.57-.534.806-.807c.248-.373.384-.658.532-1.043l1.189-2.27z"
fill="#dfeaa8"
id="path12586" />
<path
d="M246.018 198.082c3.2-6.9 7.5-13.2 12.7-18.7l.6-.7-8.3-8s1.8-.7 4.4-1.5c2.6-.8 6.2-1.7 9.9-2.3 3.7-.6 7.4-.6 10.1-.1 1.3.2 2.3.5 3 .8.7.3 1.1.4 1.1.4s-.3.3-.9.7c-.5.5-1.2 1.1-2 2-1.5 1.8-2.9 4.3-3.8 7-1 2.7-1.7 5.5-2.2 7.7-.5 2.1-.6 3.5-.6 3.5l-8.3-8-.6.7c-4.9 5.3-9.1 11.3-12.1 17.9z"
fill="#808285"
id="path12588" />
<ellipse
fill="#E8CAE1"
stroke="#BCBEC0"
stroke-width="6"
stroke-miterlimit="10"
cx="435.1"
cy="75.9"
rx="30.1"
ry="30.9"
id="ellipse12590" />
<ellipse
fill="#FEDDBF"
stroke="#BCBEC0"
stroke-width="6"
stroke-miterlimit="10"
cx="316.5"
cy="279.1"
rx="30.1"
ry="30.9"
id="ellipse12592" />
<path
d="M366.66 196.76c-2.9-5.2-6.8-9.9-11.3-13.8l-.7-.6-7.4 8.9s-.1-.3-.2-.9c-.1-.6-.4-1.4-.7-2.4-.6-2-1.7-4.7-3.2-7.3-1.4-2.6-3.2-5.2-4.8-7-.8-1-1.4-1.7-1.9-2.2l-.8-.8s.4-.1 1.1-.3c.7-.2 1.7-.4 3-.6 2.5-.5 6-.8 9.6-.7 3.6 0 7.3.5 10.1 1 1.4.3 2.6.5 3.4.7.8.2 1.3.3 1.3.3l-7.4 8.9.7.6c4.8 4.2 8.9 9.1 12 14.7z"
fill="#808285"
id="path12594" />
<circle
opacity=".14"
stroke="#000"
stroke-width="6"
stroke-miterlimit="10"
cx="339"
cy="61"
r="30.9"
id="circle12596" />
<circle
fill="#CAEBFC"
stroke="#808285"
stroke-width="6"
stroke-miterlimit="10"
cx="226"
cy="224.8"
r="31.4"
id="circle12598" />
<circle
fill="#E2F3F0"
stroke="#BCBEC0"
stroke-width="6"
stroke-miterlimit="10"
cx="335.7"
cy="60"
r="30.9"
id="circle12600" />
<circle
fill="#F8F7CB"
stroke="#808285"
stroke-width="6"
stroke-miterlimit="10"
cx="390.7"
cy="221.8"
r="32.1"
id="circle12602" />
<circle
opacity=".99"
fill="#CAEBFC"
stroke="#9D9FA2"
stroke-width="6"
stroke-miterlimit="10"
cx="324.5"
cy="52.9"
r="11.9"
id="circle12604" />
<circle
opacity=".99"
fill="#F8F7CB"
stroke="#9D9FA2"
stroke-width="6"
stroke-miterlimit="10"
cx="348.5"
cy="53.6"
r="12.2"
id="circle12606" />
<circle
opacity=".99"
fill="#F7A8B3"
stroke="#9D9FA2"
stroke-width="6"
stroke-miterlimit="10"
cx="335.7"
cy="74.2"
r="12.2"
id="circle12608" />
<circle
fill="#CAEBFC"
stroke="#BCBEC0"
stroke-width="6"
stroke-miterlimit="10"
cx="228"
cy="68.3"
r="30.9"
id="circle12610" />
<path
d="M287.39 134.29l-.594-1.204c-.395-.802-.99-1.806-1.682-3.11-1.487-2.508-3.568-5.82-5.95-8.933-2.384-3.113-4.867-6.127-6.855-8.238-.994-1.106-1.89-1.91-2.486-2.514-.498-.403-.696-.704-.696-.704l-8.046 8.256c-1.657-7.81-4.513-15.626-8.77-23.35 8.699.149 17.99 1.6 27.175 4.552l-8.046 8.255.696.704 2.585 2.614c2.088 2.212 4.67 5.327 7.153 8.54 2.382 3.214 4.663 6.626 6.148 9.235a42.71 42.71 0 011.783 3.21c.395.802.693 1.204.693 1.204zM316.742 126.504c1.04-3.78 2.178-7.544 3.613-11.258l.346-.854 10.747 4.236s-.36-1.48-.703-3.666a69.457 69.457 0 01-1.01-8.485c-.47-6.264-.068-12.889-.068-12.889s-.33.148-1.004.542c-.658.295-1.562.853-2.664 1.378-2.238 1.247-5.05 2.904-7.913 4.858-5.709 3.808-11.074 8.586-11.074 8.586l10.747 4.236-.346.855c-1.45 3.812-2.704 7.658-3.662 11.553zM331.808 132.915s.715-.727 1.981-1.93c.66-.643 1.376-1.37 2.284-2.21.908-.84 1.872-1.763 3.028-2.799 4.432-4.03 10.687-9.019 17.28-13.428 6.592-4.409 13.66-8.267 19.131-10.781 2.708-1.215 5-2.344 6.604-2.967l.995-.424-4.332-10.726c9.3.95 18.244 2.623 26.641 5.133a131.33 131.33 0 00-16.649 19.22l-4.387-10.642-.995.424c-1.603.623-3.841 1.668-6.466 2.938-5.332 2.485-12.207 6.23-18.661 10.61-6.538 4.326-12.6 9.202-16.977 13.15-1.102.952-2.065 1.875-2.973 2.714-.908.84-1.623 1.567-2.229 2.127a240.348 240.348 0 00-1.926 1.846z"
fill="#d1d3d4"
id="path12612" />
<circle
fill="#CEE7CC"
stroke="#808285"
stroke-width="6"
stroke-miterlimit="10"
cx="309.2"
cy="157.8"
r="30.9"
id="circle12614" />
<circle
fill="#CAEBFC"
stroke="#808285"
stroke-width="6"
stroke-miterlimit="10"
cx="293.6"
cy="156.8"
r="15"
id="circle12616" />
<circle
fill="#F8F7CB"
stroke="#808285"
stroke-width="6"
stroke-miterlimit="10"
cx="324.1"
cy="157.8"
r="15.4"
id="circle12618" />
<path
d="M309.029 192.52s-.074 1.9-.287 4.793c-.113 2.898-.365 6.791-.417 10.692-.052 3.9-.004 7.806.182 10.715.042 1.503.195 2.71.264 3.513.076.604.06 1.003.06 1.003l-11.545.951c4.992 8 10.815 15.233 17.084 21.282 2.233-8.52 5.239-16.308 9.12-23.462l-11.545.95s.015-.4-.061-1.003c-.069-.803-.122-2.006-.167-3.409-.087-2.905-.239-6.714-.19-10.515.047-3.801.2-7.698.412-10.592.113-2.898.287-4.793.287-4.793z"
fill="#d1d3d4"
id="path12620" />
</g>
</switch>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,245 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:foo="foo"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="595.3"
height="200"
version="1.1"
id="svg2850"
sodipodi:docname="order_category.svg"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata2856">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs2854" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview2852"
showgrid="false"
inkscape:zoom="3.3021282"
inkscape:cx="294.10033"
inkscape:cy="100.74849"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="switch2848"
inkscape:document-rotation="0" />
<switch
transform="translate(0 -159)"
id="switch2848">
<g
foo:extraneous="self"
id="g2846"
transform="translate(3.5669904,3.3024829)">
<path
d="m 233.90488,242.24453 c 0,0 1.41544,-0.39525 3.86203,-0.99497 1.28716,-0.33166 2.70259,-0.7269 4.44092,-1.12928 1.73887,-0.40237 3.60547,-0.86779 5.79605,-1.34088 8.4378,-1.88359 19.85667,-3.71127 31.29803,-4.62676 11.4408,-0.91658 23.10088,-0.8656 31.79414,-0.26368 4.28303,0.33221 7.97841,0.49502 10.44747,0.80585 l 1.55796,0.14911 2.01242,-15.59721 c 11.12395,7.23177 21.29185,15.09177 30.17916,23.58768 -12.23184,2.99916 -23.85409,7.07882 -34.551,11.92814 l 1.88469,-15.53416 -1.55797,-0.14801 c -2.46906,-0.31138 -6.03671,-0.53778 -10.25176,-0.75048 -8.49811,-0.5449 -19.83365,-0.60301 -31.0793,0.36948 -11.31308,0.85299 -22.40852,2.673 -30.71859,4.49354 -2.0623,0.40896 -3.9289,0.87492 -5.66832,1.2773 -1.73832,0.40183 -3.15376,0.79707 -4.31264,1.06514 -2.44658,0.60027 -3.73319,0.93193 -3.73319,0.93193 z"
fill="#9d539f"
stroke-width="0.164458"
id="path2810" />
<path
d="m 223.47659,263.94971 c 0,0 1.51192,-0.37167 4.12516,-0.93576 1.37487,-0.31192 2.88679,-0.68305 4.74407,-1.06131 1.85783,-0.37825 3.85161,-0.81626 6.19185,-1.26084 9.0134,-1.77067 21.21126,-3.48871 33.43324,-4.34992 12.22198,-0.86121 24.67694,-0.81351 33.96334,-0.24778 4.57523,0.31247 8.52332,0.46597 11.16068,0.75815 l 1.66431,0.13979 2.14948,-14.66418 c 11.88264,6.7998 22.74455,14.18944 32.23872,22.17663 -13.06675,2.81936 -25.48224,6.65507 -36.90879,11.21385 l 2.01297,-14.60389 -1.66432,-0.13978 c -2.63681,-0.29219 -6.4484,-0.50543 -10.95127,-0.70498 -9.07753,-0.51256 -21.18659,-0.56738 -33.1997,0.347 -12.08494,0.80201 -23.93689,2.51292 -32.81433,4.22439 -2.20319,0.38483 -4.19697,0.82229 -6.05481,1.20054 -1.85727,0.37825 -3.36919,0.74993 -4.60756,1.0021 a 436.03056,436.03056 0 0 0 -3.98811,0.87547 z"
fill="#e90909"
stroke-width="0.164458"
id="path2812" />
<circle
cx="404.13599"
cy="270.74164"
r="45.712955"
id="circle268"
style="opacity:0.13;stroke:#000000;stroke-width:11.1495;stroke-miterlimit:10" />
<path
d="m 219.16286,302.04918 c 0,0 1.62484,0.4073 4.43379,1.02458 1.47793,0.34097 3.10278,0.74827 5.0993,1.16216 1.99652,0.41334 4.13996,0.89246 6.65507,1.37816 9.68768,1.93622 22.79499,3.80447 35.92533,4.72653 13.13034,0.92206 26.50736,0.83764 36.4801,0.18858 4.91291,-0.35687 9.15264,-0.53668 11.98407,-0.86615 l 1.78711,-0.15898 2.36161,16.21174 c 12.73893,-7.54918 24.37818,-15.74961 34.54717,-24.60678 -14.04472,-3.08523 -27.39324,-7.29535 -39.68265,-12.30859 l 2.21471,16.14595 -1.78711,0.15898 c -2.83198,0.32946 -6.92479,0.57451 -11.75986,0.80694 -9.74852,0.58931 -22.75442,0.6803 -35.66,-0.30041 -12.98342,-0.85628 -25.72015,-2.71904 -35.26092,-4.58948 -2.36765,-0.41991 -4.51108,-0.89903 -6.50705,-1.31237 -1.99707,-0.41389 -3.62192,-0.82065 -4.95294,-1.09639 -2.80894,-0.61726 -4.28687,-0.95824 -4.28687,-0.95824 z"
fill="#0e2db8"
stroke-width="0.164458"
id="path2814" />
<path
d="m 233.82814,286.49693 c 0,0 1.41159,0.25874 3.84229,0.61945 1.28058,0.20667 2.69163,0.46542 4.41679,0.69676 1.72517,0.23188 3.5808,0.5153 5.75001,0.77295 8.3627,1.05417 19.59902,1.73777 30.75531,1.48012 11.15574,-0.25765 22.41454,-1.53384 30.74655,-3.0655 4.10048,-0.79214 7.65278,-1.348 10.00289,-1.92745 l 1.48889,-0.3163 3.68934,15.85212 c 9.93766,-8.61542 18.88089,-17.77793 26.51723,-27.46067 -12.15345,-1.80466 -23.83821,-4.78629 -34.71492,-8.65763 l 3.55888,15.80004 -1.4889,0.31686 c -2.35011,0.57944 -5.77193,1.18684 -9.82034,1.84796 -8.1489,1.45326 -19.09414,2.70314 -30.06733,2.88185 -11.02528,0.30918 -21.94858,-0.40072 -30.1808,-1.40337 -2.03819,-0.20502 -3.89382,-0.48899 -5.61899,-0.72033 -1.72462,-0.23189 -3.13567,-0.49009 -4.28578,-0.64467 -2.43069,-0.36127 -3.71127,-0.56739 -3.71127,-0.56739 z"
fill="#04bd3d"
stroke-width="0.164458"
id="path2816" />
<circle
cx="200.04495"
cy="270.79187"
r="45.712955"
id="circle268-6"
style="opacity:0.13;stroke:#000000;stroke-width:11.1495;stroke-miterlimit:10" />
<circle
cy="173.33594"
cx="280.60294"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="49.132961"
fill="#dbdb8b"
stroke="#878578"
stroke-width="5.78016"
id="circle2818" />
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.548194"
x="232.00705"
y="257.27814"
transform="rotate(-4.889)"
font-weight="700"
font-size="14.6187px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
id="text2822"><tspan
x="232.00705"
y="257.27814"
id="tspan2820"
style="stroke-width:0.548194">isEven</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.548194"
x="231.94179"
y="275.37747"
transform="rotate(-4.227)"
font-weight="700"
font-size="14.6187px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#e90909"
id="text2826"><tspan
x="231.94179"
y="275.37747"
id="tspan2824"
style="stroke-width:0.548194">isOdd</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.548194"
x="240.03967"
y="294.87997"
transform="rotate(-2.197)"
font-weight="700"
font-size="14.6187px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#04bd3d"
id="text2830"><tspan
x="240.03967"
y="294.87997"
id="tspan2828"
style="stroke-width:0.548194">isPrime</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;stroke-width:0.548194"
x="275.95825"
y="302.50186"
transform="rotate(0.662)"
font-weight="700"
font-size="14.6187px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#0e2db8"
id="text2834"><tspan
x="275.95825"
y="302.50186"
id="tspan2832"
style="stroke-width:0.548194">&gt;0</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="158.65335"
y="270.22379"
transform="rotate(0.221)"
font-weight="700"
font-size="16.6147px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
stroke-width="0.623296"
id="text2840"><tspan
x="158.65335"
y="270.22379"
fill="#797979"
id="tspan2838"
style="stroke-width:0.4138">number</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;fill:#d45500;stroke-width:0.548194"
x="311.70355"
y="157.6181"
transform="rotate(5.4347187)"
font-weight="700"
font-size="14.6187px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
id="text2822-2"><tspan
x="311.70355"
y="157.6181"
id="tspan2820-9"
style="fill:#d45500;stroke-width:0.548194">toBit</tspan></text>
<circle
cy="96.078194"
cx="471.58591"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="49.132961"
fill="#d9d98d"
stroke="#878578"
stroke-width="5.78016"
id="circle2836" />
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="364.87466"
y="269.95184"
transform="rotate(0.221)"
font-weight="700"
font-size="16.6147px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
stroke-width="0.623296"
id="text2844"><tspan
x="364.87466"
y="269.95184"
fill="#797979"
id="tspan2842"
style="stroke-width:0.4138">boolean</tspan></text>
<g
id="g9775"
transform="matrix(0.82572983,0,0,0.82572983,58.271082,98.983539)">
<path
d="m 218.22815,109.35527 c -7.38305,14.27163 -13.38355,28.63245 -17.65523,42.89629 14.6729,-4.16347 29.35072,-6.82454 43.51498,-8.12144 z"
fill="#9d539f"
stroke-width="0.199167"
id="path2810-6"
style="fill:#d45500"
sodipodi:nodetypes="cccc" />
<path
style="fill:#000000;fill-opacity:0;stroke:#d45500;stroke-width:4.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 227.78876,129.15039 c 47.69223,-35.157956 129.04722,-22.13645 156.55801,19.40978"
id="path9756"
sodipodi:nodetypes="cc" />
</g>
</g>
</switch>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,207 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ns="&amp;#38;#38;ns_ai;"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="595.3"
height="200"
version="1.1"
id="svg2850"
sodipodi:docname="set_arrows.svg"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata2856">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs2854" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1871"
inkscape:window-height="818"
id="namedview2852"
showgrid="false"
inkscape:zoom="2.3349572"
inkscape:cx="297.64999"
inkscape:cy="100"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="g2846"
inkscape:document-rotation="0" />
<switch
transform="translate(0 -159)"
id="switch2848">
<g
ns:extraneous="self"
id="g2846"
transform="translate(-1.0910201,3.9272465)">
<path
d="m 182.118,208.736 c 0,0 2.582,-0.721 7.045,-1.815 2.348,-0.605 4.93,-1.326 8.101,-2.06 3.172,-0.734 6.577,-1.583 10.573,-2.446 15.392,-3.436 36.222,-6.77 57.093,-8.44 20.87,-1.672 42.14,-1.579 57.998,-0.481 7.813,0.606 14.554,0.903 19.058,1.47 l 2.842,0.272 3.671,-28.452 c 20.292,13.192 38.84,27.53 55.052,43.028 -22.313,5.471 -43.514,12.913 -63.027,21.759 l 3.438,-28.337 -2.842,-0.27 c -4.504,-0.568 -11.012,-0.981 -18.701,-1.369 -15.502,-0.994 -36.18,-1.1 -56.694,0.674 -20.637,1.556 -40.877,4.876 -56.036,8.197 -3.762,0.746 -7.167,1.596 -10.34,2.33 -3.171,0.733 -5.753,1.454 -7.867,1.943 -4.463,1.095 -6.81,1.7 -6.81,1.7 z"
fill="#9d539f"
stroke-width="0.3"
id="path2810" />
<path
d="m 163.095,248.33 c 0,0 2.758,-0.678 7.525,-1.707 2.508,-0.569 5.266,-1.246 8.654,-1.936 3.389,-0.69 7.026,-1.489 11.295,-2.3 16.442,-3.23 38.693,-6.364 60.988,-7.935 22.295,-1.571 45.015,-1.484 61.955,-0.452 8.346,0.57 15.548,0.85 20.359,1.383 l 3.036,0.255 3.921,-26.75 c 21.676,12.404 41.49,25.884 58.809,40.454 -23.836,5.143 -46.484,12.14 -67.328,20.456 l 3.672,-26.64 -3.036,-0.255 c -4.81,-0.533 -11.763,-0.922 -19.977,-1.286 -16.559,-0.935 -38.648,-1.035 -60.562,0.633 -22.045,1.463 -43.665,4.584 -59.859,7.706 -4.019,0.702 -7.656,1.5 -11.045,2.19 -3.388,0.69 -6.146,1.368 -8.405,1.828 a 795.395,795.395 0 0 0 -7.275,1.597 z"
fill="#e90909"
stroke-width="0.3"
id="path2812" />
<circle
cx="492.64886"
cy="260.71967"
r="83.388321"
id="circle268"
style="opacity:0.13;stroke:#000000;stroke-width:20.3386;stroke-miterlimit:10" />
<path
d="m 155.226,317.83 c 0,0 2.964,0.743 8.088,1.869 2.696,0.622 5.66,1.365 9.302,2.12 3.642,0.754 7.552,1.628 12.14,2.514 17.672,3.532 41.582,6.94 65.534,8.622 23.952,1.682 48.354,1.528 66.546,0.344 8.962,-0.651 16.696,-0.979 21.861,-1.58 l 3.26,-0.29 4.308,29.573 c 23.238,-13.771 44.47,-28.73 63.02,-44.887 -25.62,-5.628 -49.97,-13.308 -72.388,-22.453 l 4.04,29.453 -3.26,0.29 c -5.166,0.601 -12.632,1.048 -21.452,1.472 -17.783,1.075 -41.508,1.241 -65.05,-0.548 -23.684,-1.562 -46.918,-4.96 -64.322,-8.372 -4.319,-0.766 -8.229,-1.64 -11.87,-2.394 -3.643,-0.755 -6.607,-1.497 -9.035,-2 -5.124,-1.126 -7.82,-1.748 -7.82,-1.748 z"
fill="#0e2db8"
stroke-width="0.3"
id="path2814" />
<path
d="m 181.978,289.46 c 0,0 2.575,0.472 7.009,1.13 2.336,0.377 4.91,0.849 8.057,1.271 3.147,0.423 6.532,0.94 10.489,1.41 15.255,1.923 35.752,3.17 56.103,2.7 20.35,-0.47 40.888,-2.798 56.087,-5.592 7.48,-1.445 13.96,-2.459 18.247,-3.516 l 2.716,-0.577 6.73,28.917 c 18.128,-15.716 34.442,-32.43 48.372,-50.093 -22.17,-3.292 -43.485,-8.731 -63.326,-15.793 l 6.492,28.822 -2.716,0.578 c -4.287,1.057 -10.529,2.165 -17.914,3.371 -14.865,2.651 -34.831,4.931 -54.848,5.257 -20.112,0.564 -40.038,-0.731 -55.055,-2.56 -3.718,-0.374 -7.103,-0.892 -10.25,-1.314 -3.146,-0.423 -5.72,-0.894 -7.818,-1.176 -4.434,-0.659 -6.77,-1.035 -6.77,-1.035 z"
fill="#04bd3d"
stroke-width="0.3"
id="path2816" />
<circle
cx="120.35165"
cy="260.81131"
r="83.388321"
id="circle268-6"
style="opacity:0.13;stroke:#000000;stroke-width:20.3386;stroke-miterlimit:10" />
<circle
cy="192.70348"
cx="197.34406"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="89.626999"
fill="#dbdb8b"
stroke="#878578"
stroke-width="10.544"
id="circle2818" />
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="199.41701"
y="216.16499"
transform="rotate(-4.889)"
font-weight="700"
font-size="26.667px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
id="text2822"><tspan
x="199.41701"
y="216.16499"
id="tspan2820">isEven</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="196.388"
y="251.784"
transform="rotate(-4.227)"
font-weight="700"
font-size="26.667px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#e90909"
id="text2826"><tspan
x="196.388"
y="251.784"
id="tspan2824">isOdd</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="202.427"
y="295.548"
transform="rotate(-2.197)"
font-weight="700"
font-size="26.667px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#04bd3d"
id="text2830"><tspan
x="202.427"
y="295.548"
id="tspan2828">isPrime</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="256.15302"
y="321.49701"
transform="rotate(0.662)"
font-weight="700"
font-size="26.667px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#0e2db8"
id="text2834"><tspan
x="256.15302"
y="321.49701"
id="tspan2832">&gt;0</tspan></text>
<circle
cy="51.771999"
cx="545.72998"
stroke-miterlimit="10"
transform="rotate(22.196)"
r="89.626999"
fill="#d9d98d"
stroke="#878578"
stroke-width="10.544"
id="circle2836" />
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="43.948681"
y="260.72006"
transform="rotate(0.221)"
font-weight="700"
font-size="30.308px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
stroke-width="1.137"
id="text2840"><tspan
x="43.948681"
y="260.72006"
fill="#797979"
id="tspan2838">number</tspan></text>
<text
style="line-height:1.25;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start"
x="420.13199"
y="260.224"
transform="rotate(0.221)"
font-weight="700"
font-size="30.308px"
font-family="sans-serif"
letter-spacing="0"
word-spacing="0"
fill="#9d539f"
stroke-width="1.137"
id="text2844"><tspan
x="420.13199"
y="260.224"
fill="#797979"
id="tspan2842">boolean</tspan></text>
</g>
</switch>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 595.3 177"
version="1.1"
id="svg3397"
sodipodi:docname="transitivity_composition.svg"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata3403">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3401" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview3399"
showgrid="false"
inkscape:zoom="1.6510641"
inkscape:cx="278.22652"
inkscape:cy="92.993053"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg3397"
inkscape:document-rotation="0" />
<circle
cx="253.69379"
cy="50.630054"
r="23.414963"
id="circle3369-8"
style="opacity:0.13;stroke:#000000;stroke-width:5.71096;stroke-miterlimit:10" />
<circle
cx="345.84607"
cy="48.742092"
r="23.414963"
id="circle3371-6"
style="opacity:0.13;stroke:#000000;stroke-width:5.71096;stroke-miterlimit:10" />
<g
id="g6309"
transform="translate(-53.037607,14.793482)">
<circle
cx="398.71777"
cy="123.619"
r="23.414963"
id="circle3365-3"
style="opacity:0.13;stroke:#000000;stroke-width:5.71096;stroke-miterlimit:10" />
<circle
fill="#fce600"
stroke="#ffdd00"
cx="394.14893"
cy="117.71769"
r="23.414963"
id="circle3379-0"
style="stroke-width:5.71096;stroke-miterlimit:10" />
</g>
<circle
fill="#f58235"
stroke="#e76524"
cx="341.27731"
cy="42.745564"
r="23.414963"
id="circle3385-3"
style="stroke-width:5.71096;stroke-miterlimit:10" />
<g
style="display:inline;fill:#dddddd;stroke:#838383;stroke-width:6.389;stroke-miterlimit:10"
id="g1482-7-0-6"
transform="matrix(0.30683524,-0.00497167,0.02965308,0.37229267,207.68125,-41.139166)">
<path
style="stroke-width:35.526"
inkscape:connector-curvature="0"
id="path1478-7-9-1"
transform="matrix(0.4768,-0.02932,0.03214,0.42867,147.58,197.367)"
d="m 315.1,101.79 c 10.682,-4.135 21.77,-7.738 33.127,-11.074 -8.518,-8.139 -17.577,-16.01 -27.178,-23.616 -2.04,12.119 -3.103,21.663 -5.949,34.69 z" />
<path
style="stroke-width:10.649;paint-order:markers fill stroke"
inkscape:connector-curvature="0"
id="path1480-1-3-8"
transform="matrix(0.89574,0,0,0.81736,18.384,154.236)"
d="m 197.036,89.49 c 39.237,-9.724 89.303,-9.828 120.462,-3.317" />
</g>
<g
style="display:inline;fill:#dddddd;stroke:#838383;stroke-width:6.389;stroke-miterlimit:10"
id="g1482-7-0-7-7"
transform="matrix(-0.00614453,0.26689501,-0.3730438,0.01027459,429.32811,15.213978)"
inkscape:transform-center-x="11.563043"
inkscape:transform-center-y="-86.95815">
<path
style="stroke-width:35.526"
inkscape:connector-curvature="0"
id="path1478-7-9-4-0"
transform="matrix(0.4768,-0.02932,0.03214,0.42867,147.58,197.367)"
d="m 315.1,101.79 c 10.682,-4.135 21.77,-7.738 33.127,-11.074 -8.518,-8.139 -17.577,-16.01 -27.178,-23.616 -2.04,12.119 -3.103,21.663 -5.949,34.69 z" />
<path
style="stroke-width:10.649;paint-order:markers fill stroke"
inkscape:connector-curvature="0"
id="path1480-1-3-3-5"
transform="matrix(0.89574,0,0,0.81736,18.384,154.236)"
d="m 197.036,89.49 c 39.237,-9.724 89.303,-9.828 120.462,-3.317" />
</g>
<g
style="display:inline;fill:#dddddd;stroke:#838383;stroke-width:6.389;stroke-miterlimit:10"
id="g1482-7-0-6-6"
transform="matrix(0.20945509,0.19073034,0.27625318,-0.2843355,185.68394,122.83838)"
inkscape:transform-center-x="48.254454"
inkscape:transform-center-y="8.7943644">
<path
style="stroke-width:35.526"
inkscape:connector-curvature="0"
id="path1478-7-9-1-7"
transform="matrix(0.4768,-0.02932,0.03214,0.42867,147.58,197.367)"
d="m 315.1,101.79 c 10.682,-4.135 21.77,-7.738 33.127,-11.074 -8.518,-8.139 -17.577,-16.01 -27.178,-23.616 -2.04,12.119 -3.103,21.663 -5.949,34.69 z" />
<path
style="fill:none;stroke-width:10.649;paint-order:markers fill stroke"
inkscape:connector-curvature="0"
id="path1480-1-3-8-5"
transform="matrix(0.89574,0,0,0.81736,18.384,154.236)"
d="M 27.946343,105.9368 C 85.642899,85.788626 237.50639,72.773685 317.498,86.173"
sodipodi:nodetypes="cc" />
</g>
<circle
fill="#d71920"
stroke="#be1e2d"
cx="249.125"
cy="42.729877"
r="23.414963"
id="circle3383-3"
style="stroke-width:5.71096;stroke-miterlimit:10" />
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB