An append-only program under construction, with cached values and checked provenance. References share earlier nodes instead of expanding earlier words. The invariant proof is erased during compilation.
Instances For
def
Hex.PermGroup.Program.Builder.push
{n : Nat}
{S : Array (Perm n)}
(b : Builder S)
(node : Node)
(p : { p : Perm n // Generated S p })
(h : evalNode S b.values node = some p)
:
Builder S
Append one node and its known value. The proof only relates this node to cached earlier values; it never re-evaluates the preceding program at runtime.
Instances For
Equations
- b.id = b.push Hex.PermGroup.Node.id ⟨Hex.Perm.id n, ⋯⟩ ⋯