Documentation

Complexitylib.Metacomplexity.MCSP.Witness

Executable raw-circuit witnesses for MCSP #

This module exposes the finite witness relation underlying the eventual proof that MCSP is in NP. The relation reuses the existing canonical raw-circuit decoder and evaluator and is proved equivalent to the typed MCSP semantics.

@[simp]

The Boolean raw-circuit verifier decides its advertised witness relation.

theorem Complexity.MCSP.Instance.isRawCircuitWitness_encodeCircuit (inst : Instance) [NeZero inst.arity] {internalGates : } (circuit : Circuit Basis.andOr2 inst.arity 1 internalGates) (hsize : circuit.size inst.threshold) (hcomputes : circuit.Computes inst.function) :

Serializing any typed circuit within the threshold yields a valid raw MCSP witness with identical truth-table semantics.

Every valid positive-arity raw witness reconstructs a typed circuit within the instance threshold.

An instance has a sufficiently small typed circuit exactly when it has a finite canonical raw-circuit witness, including the zero-arity convention.

theorem Complexity.MCSP.Instance.IsRawCircuitWitness.mono (inst : Instance) {first second : } (hthreshold : first second) {code : List Bool} (hwitness : (inst.withThreshold first).IsRawCircuitWitness code) :

Increasing only the threshold preserves every valid raw-circuit witness.

Every valid raw witness satisfies the concrete serialization bound; this controls all accepted witnesses, not only a selected completeness witness.

Every MCSP yes-instance has a raw witness within the explicit serialization bound. Threshold normalization is still required before treating this as a polynomial bound in encoded instance length.