Alpha equivalence checker for arbitrary lambda terms
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4<!-- Generated by graphviz version 14.1.5 (0)
5 -->
6<!-- Title: parity Pages: 1 -->
7<svg width="931pt" height="556pt"
8 viewBox="0.00 0.00 931.00 556.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(18 538.21)">
10<title>parity</title>
11<polygon fill="white" stroke="none" points="-18,18 -18,-538.21 913.32,-538.21 913.32,18 -18,18"/>
12<!-- __start -->
13<g id="node1" class="node">
14<title>__start</title>
15<ellipse fill="black" stroke="black" cx="2.88" cy="-305.97" rx="2.88" ry="2.88"/>
16</g>
17<!-- start -->
18<g id="node2" class="node">
19<title>start</title>
20<ellipse fill="none" stroke="black" cx="143.25" cy="-305.97" rx="36.24" ry="36.24"/>
21<text xml:space="preserve" text-anchor="middle" x="143.25" y="-302.02" font-family="Times New Roman" font-size="16.00">start</text>
22</g>
23<!-- __start->start -->
24<g id="edge1" class="edge">
25<title>__start->start</title>
26<path fill="none" stroke="black" d="M5.84,-305.97C15.76,-305.97 61.44,-305.97 97.24,-305.97"/>
27<polygon fill="black" stroke="black" points="97.05,-308.77 105.05,-305.97 97.05,-303.17 97.05,-308.77"/>
28<text xml:space="preserve" text-anchor="middle" x="56.38" y="-312.17" font-family="Times New Roman" font-size="14.00">input</text>
29</g>
30<!-- even_0 -->
31<g id="node3" class="node">
32<title>even_0</title>
33<ellipse fill="none" stroke="black" cx="311.48" cy="-392.97" rx="53.74" ry="53.74"/>
34<ellipse fill="none" stroke="black" cx="311.48" cy="-392.97" rx="57.74" ry="57.74"/>
35<text xml:space="preserve" text-anchor="middle" x="311.48" y="-389.02" font-family="Times New Roman" font-size="16.00">even / 0</text>
36</g>
37<!-- start->even_0 -->
38<g id="edge2" class="edge">
39<title>start->even_0</title>
40<path fill="none" stroke="black" d="M175.91,-322.54C197.33,-333.75 226.26,-348.89 251.82,-362.27"/>
41<polygon fill="black" stroke="black" points="250.25,-364.61 258.64,-365.84 252.85,-359.65 250.25,-364.61"/>
42<text xml:space="preserve" text-anchor="middle" x="216.61" y="-350.46" font-family="Times New Roman" font-size="14.00">0</text>
43</g>
44<!-- odd_1 -->
45<g id="node6" class="node">
46<title>odd_1</title>
47<ellipse fill="none" stroke="black" cx="492.44" cy="-265.97" rx="48.97" ry="48.97"/>
48<text xml:space="preserve" text-anchor="middle" x="492.44" y="-262.02" font-family="Times New Roman" font-size="16.00">odd / 1</text>
49</g>
50<!-- start->odd_1 -->
51<g id="edge3" class="edge">
52<title>start->odd_1</title>
53<path fill="none" stroke="black" d="M179.21,-300.67C200.69,-297.51 228.77,-293.52 253.74,-290.47 315.31,-282.94 386.05,-275.85 434.24,-271.25"/>
54<polygon fill="black" stroke="black" points="434.37,-274.05 442.06,-270.51 433.84,-268.47 434.37,-274.05"/>
55<text xml:space="preserve" text-anchor="middle" x="311.48" y="-296.67" font-family="Times New Roman" font-size="14.00">1</text>
56</g>
57<!-- even_0->even_0 -->
58<g id="edge4" class="edge">
59<title>even_0->even_0</title>
60<path fill="none" stroke="black" d="M294.22,-448.4C291.83,-476.05 297.58,-500.71 311.48,-500.71 323.8,-500.71 329.72,-481.32 329.24,-457.65"/>
61<polygon fill="black" stroke="black" points="332.05,-457.75 328.82,-449.91 326.46,-458.05 332.05,-457.75"/>
62<text xml:space="preserve" text-anchor="middle" x="311.48" y="-506.91" font-family="Times New Roman" font-size="14.00">0</text>
63</g>
64<!-- even_0->odd_1 -->
65<g id="edge5" class="edge">
66<title>even_0->odd_1</title>
67<path fill="none" stroke="black" d="M359.03,-359.93C385.23,-341.33 417.87,-318.17 444.19,-299.5"/>
68<polygon fill="black" stroke="black" points="445.65,-301.89 450.55,-294.98 442.41,-297.33 445.65,-301.89"/>
69<text xml:space="preserve" text-anchor="middle" x="406.34" y="-331.86" font-family="Times New Roman" font-size="14.00">1</text>
70</g>
71<!-- even_1 -->
72<g id="node4" class="node">
73<title>even_1</title>
74<ellipse fill="none" stroke="black" cx="841.58" cy="-294.97" rx="53.74" ry="53.74"/>
75<text xml:space="preserve" text-anchor="middle" x="841.58" y="-291.02" font-family="Times New Roman" font-size="16.00">even / 1</text>
76</g>
77<!-- even_1->even_0 -->
78<g id="edge6" class="edge">
79<title>even_1->even_0</title>
80<path fill="none" stroke="black" d="M799.79,-329.35C786.29,-338.94 770.65,-348.28 754.84,-353.97 627.62,-399.73 467.13,-401.1 378.64,-397.42"/>
81<polygon fill="black" stroke="black" points="378.88,-394.63 370.77,-397.07 378.63,-400.22 378.88,-394.63"/>
82<text xml:space="preserve" text-anchor="middle" x="578.53" y="-398.05" font-family="Times New Roman" font-size="14.00">0</text>
83</g>
84<!-- even_1->odd_1 -->
85<g id="edge7" class="edge">
86<title>even_1->odd_1</title>
87<path fill="none" stroke="black" d="M788.58,-284.55C765.68,-280.38 738.39,-275.98 713.59,-273.47 658.64,-267.91 595.64,-266.23 551.14,-265.83"/>
88<polygon fill="black" stroke="black" points="551.19,-263.03 543.17,-265.77 551.15,-268.63 551.19,-263.03"/>
89<text xml:space="preserve" text-anchor="middle" x="664.62" y="-279.67" font-family="Times New Roman" font-size="14.00">1</text>
90</g>
91<!-- odd_0 -->
92<g id="node5" class="node">
93<title>odd_0</title>
94<ellipse fill="none" stroke="black" cx="664.62" cy="-48.97" rx="48.97" ry="48.97"/>
95<text xml:space="preserve" text-anchor="middle" x="664.62" y="-45.02" font-family="Times New Roman" font-size="16.00">odd / 0</text>
96</g>
97<!-- odd_0->even_1 -->
98<g id="edge9" class="edge">
99<title>odd_0->even_1</title>
100<path fill="none" stroke="black" d="M693.92,-88.76C723.97,-131.02 771.56,-197.92 804.33,-244"/>
101<polygon fill="black" stroke="black" points="801.86,-245.37 808.78,-250.26 806.43,-242.12 801.86,-245.37"/>
102<text xml:space="preserve" text-anchor="middle" x="750.71" y="-178.17" font-family="Times New Roman" font-size="14.00">1</text>
103</g>
104<!-- odd_0->odd_0 -->
105<g id="edge8" class="edge">
106<title>odd_0->odd_0</title>
107<path fill="none" stroke="black" d="M649.36,-95.8C646.25,-122.8 651.34,-147.93 664.62,-147.93 676.35,-147.93 681.68,-128.35 680.63,-105.18"/>
108<polygon fill="black" stroke="black" points="683.43,-105.06 680,-97.31 677.85,-105.51 683.43,-105.06"/>
109<text xml:space="preserve" text-anchor="middle" x="664.62" y="-154.13" font-family="Times New Roman" font-size="14.00">0</text>
110</g>
111<!-- odd_1->even_1 -->
112<g id="edge11" class="edge">
113<title>odd_1->even_1</title>
114<path fill="none" stroke="black" d="M535.61,-289.34C547.79,-295.09 561.33,-300.57 574.4,-303.97 652.19,-324.18 675.05,-325.6 754.84,-315.97 763.22,-314.96 771.96,-313.41 780.52,-311.6"/>
115<polygon fill="black" stroke="black" points="781.04,-314.35 788.24,-309.88 779.82,-308.89 781.04,-314.35"/>
116<text xml:space="preserve" text-anchor="middle" x="664.62" y="-327.93" font-family="Times New Roman" font-size="14.00">1</text>
117</g>
118<!-- odd_1->odd_0 -->
119<g id="edge10" class="edge">
120<title>odd_1->odd_0</title>
121<path fill="none" stroke="black" d="M523.47,-227.67C552.66,-190.44 597.01,-133.9 627.98,-94.41"/>
122<polygon fill="black" stroke="black" points="629.93,-96.46 632.67,-88.44 625.53,-93 629.93,-96.46"/>
123<text xml:space="preserve" text-anchor="middle" x="578.53" y="-163.67" font-family="Times New Roman" font-size="14.00">0</text>
124</g>
125</g>
126</svg>