Documentation

Complexitylib.Classes.PPoly.Uniform.Unrolling.Generator.Transition.Step

Verified direct packed-step generation #

This module exposes the complete deterministic transition-layer generator. Its contracts cover the concrete machine, its clean entry domain, exact register effect, restored scratch convention, and byte-for-byte emitted packed transition fragment.

Complete deterministic packed-step generation is sound.

theorem Complexity.CircuitUnrolling.Serializer.DirectGenerator.emitStep_requires {k : } (tm : TM k) (values : BinaryValues WorkCount) (hclean : StepClean values) (hhorizon : 0 < values Work.horizon) :
(emitStep tm).requires values

A clean work vector and positive tableau horizon satisfy the complete step generator's explicit domain.

@[simp]

The complete step advances the wire frontier by the exact numeric schedule size, records the packed successor base, and clears both gate bookkeeping registers.

A complete step restores the reusable clean-entry convention.

theorem Complexity.CircuitUnrolling.Serializer.DirectGenerator.emitStep_spaceBoundByWidth {k : } (tm : TM k) {initialSpace : } {values : BinaryValues WorkCount} {width : } (hclean : ∀ (inputLength : ), StepClean (values inputLength)) (hhorizon : ∀ (inputLength : ), 0 < values inputLength Work.horizon) (henvelope : ∀ (inputLength : ), StepWidthEnvelope tm.toNTM (values inputLength) (width inputLength)) :
(emitStep tm).SpaceBoundByWidthAt initialSpace values width

A complete deterministic transition layer has an advertised all-prefix auxiliary-space bound controlled by one shared numeric width envelope.

@[simp]

The emitted word is exactly the encoded canonical packed transition fragment, with deterministic choice wire zero.