Alpha equivalence checker for arbitrary lambda terms
1{
2 "name": "matcher",
3 "rankdir": "LR",
4 "start": "scan",
5 "accepting": ["found"],
6 "states": [
7 {"id": "scan", "label": "scan"},
8 {"id": "l", "label": "l"},
9 {"id": "la", "label": "la"},
10 {"id": "lam", "label": "lam"},
11 {"id": "lamb", "label": "lamb"},
12 {"id": "lambda", "label": "lambda"},
13 {"id": "found", "label": "found", "accepting": true}
14 ],
15 "transitions": [
16 {"from": "scan", "to": "scan", "label": "Σ"},
17 {"from": "scan", "to": "l", "label": "l"},
18 {"from": "l", "to": "l", "label": "l"},
19 {"from": "l", "to": "la", "label": "a"},
20 {"from": "la", "to": "lam", "label": "m"},
21 {"from": "lam", "to": "lamb", "label": "b"},
22 {"from": "lamb", "to": "lambda", "label": "d"},
23 {"from": "lambda", "to": "found", "label": "a"},
24 {"from": "found", "to": "found", "label": "Σ"}
25 ]
26}