A successful bounded computation retains the exact result of its unbounded counterpart. The equality is erased; it never runs the reference computation.
Equations
- Hex.PermGroup.Build.Computation budget value = Hex.PermGroup.Execution.Run budget { result : α // result = value }
Instances For
Stream the same Schreier candidates as State.scan. Every candidate reserves
its permutation work before evaluation, and its word only after a failed sift.
The recursive extender uses the caller's meter.
Equations
Instances For
Reserve the work of one level scan and assemble it, as complete does.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reserve normalization work in whole bounded batches.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reserve orbit work in whole bounded batches. The point allowance covers the full degree, including declared fixed points.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reserve the provenance transfer of resume: one index search per old level
generator, and one substitution per retained suffix generator.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extend a complete suffix within the caller's meter.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The budgeted counterpart of empty.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The budgeted counterpart of build, sharing the caller's meter with every
recursive extension.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a group using the current producer meter, including every recursive suffix extension.
Equations
- Hex.PermGroup.Group.construct S = do let c ← Hex.PermGroup.Build.bounded 0 ⋯ S ⋯ let G : Hex.PermGroup.Group n := { generators := S, chain := c.val.chain, valid := ⋯ } pure ⟨G, ⋯⟩
Instances For
Construct a checked group within one shared producer budget. Exhaustion has
no group output, so it cannot supply an ambient order or negative membership.
Successful output is exactly ofGenerators S, with its acceptance proof.
Equations
- Hex.PermGroup.Group.buildBudgeted budget S = Hex.PermGroup.Execution.run budget (Hex.PermGroup.Group.construct S)