digraph lambda_sub_cfg { rankdir=TB; bgcolor="transparent"; node [fontname=Inter, fontsize=10, fontcolor="#c9d1bb"]; edge [fontname=Inter, fontsize=9, color="#8f9780", fontcolor="#c9d1bb"]; start [label="term", shape=oval, style=filled, fillcolor="transparent", color="#a9b492"]; beta [label="(lambda x. t) u", shape=box, style="rounded,filled", fillcolor="transparent", color="#a9b492", fontcolor="#c9d1bb"]; es [label="t[x/u]", shape=box, style="rounded,filled", fillcolor="transparent", color="#a9b492", fontcolor="#c9d1bb"]; pure [label="pure term", shape=oval, style=filled, fillcolor="transparent", color="#a9b492"]; nf [label="normal form", shape=doublecircle, style=filled, fillcolor="#2a3a22", color="#8fb071"]; start -> beta [label="App(Lam,_)"]; start -> es [label="ESub"]; start -> pure [label="BVar/FVar/Lam"]; beta -> es [label="B", color="#dfe7cc"]; es -> es [label="R (one occurrence)", color="#a9b492"]; es -> pure [label="Gc (x not in fv)", color="#8fb071"]; pure -> pure [label="B under context", color="#dfe7cc"]; es -> nf [label="R/Gc normalisation", color="#a9b492"]; }