Documentation

Complexitylib.Circuits.Encoding.Machine

Serialized circuit-evaluator machine #

This module exposes the audited front end for a deterministic evaluator of serialized circuit families. It validates the outer self-delimiting pair, stages its code and input components on separate appendable work tapes, and exposes the verified quadratic-time memoized evaluator from raw input through its final verdict.

Main results #

@[simp]

Membership in the evaluator language is successful Boolean evaluation.

A canonical outer pair belongs to the evaluator language exactly when its tagged circuit code evaluates to true on the paired input.

Pairing a family's canonical member code with an input recognizes exactly the language decided by that family.

theorem Complexity.CircuitCode.Machine.PairStagePost.outputReady {bits : List Bool} {inp : Tape} {work : Fin workTapeCountTape} {out : Tape} (h : PairStagePost bits inp work out) :

Every staged endpoint leaves the output at cell one with the canonical left-marker invariant, ready for the evaluator core to overwrite its verdict.

The pair-staging machine validates every outer input and, in linear time, either rejects it without dirtying work tapes or exposes appendable code and input prefixes for the evaluator core.