Alpha equivalence checker for arbitrary lambda terms
1{
2 "name": "parity",
3 "rankdir": "LR",
4 "start": "start",
5 "start_label": "input",
6 "accepting": ["even_0"],
7 "states": [
8 {"id": "start", "label": "start"},
9 {"id": "even_0", "label": "even / 0", "accepting": true},
10 {"id": "even_1", "label": "even / 1"},
11 {"id": "odd_0", "label": "odd / 0"},
12 {"id": "odd_1", "label": "odd / 1"}
13 ],
14 "transitions": [
15 {"from": "start", "to": "even_0", "label": "0"},
16 {"from": "start", "to": "odd_1", "label": "1"},
17 {"from": "even_0", "to": "even_0", "label": "0"},
18 {"from": "even_0", "to": "odd_1", "label": "1"},
19 {"from": "even_1", "to": "even_0", "label": "0"},
20 {"from": "even_1", "to": "odd_1", "label": "1"},
21 {"from": "odd_0", "to": "odd_0", "label": "0"},
22 {"from": "odd_0", "to": "even_1", "label": "1"},
23 {"from": "odd_1", "to": "odd_0", "label": "0"},
24 {"from": "odd_1", "to": "even_1", "label": "1"}
25 ]
26}