Documentation

Complexitylib.Metacomplexity.MCSP.AntiChecker.GoodString.Circuit

Good-string circuit bridge #

Every canonical survivor code decodes to a typed circuit of the advertised size. Packing a survivor tuple and composing strict majority therefore gives a single circuit bounded by survivorTupleMajoritySizeBound. Target hardness above that bound supplies the every-tuple coverage premise used by the good-string counting argument.

theorem Complexity.AntiChecker.exists_survivorCodeCircuit {arity : } [NeZero arity] (target : BitString arityBool) (threshold : ) (inputs : List (BitString arity)) (code : (SurvivorCode target threshold inputs)) :
∃ (internalGates : ) (circuit : Circuit Basis.andOr2 arity 1 internalGates), circuit.size threshold ∀ (input : BitString arity), circuit.eval input 0 = survivorCodeOutput target threshold inputs code input

A canonical survivor code has a typed circuit witness of size at most the survivor threshold, with output equal to survivorCodeOutput.

theorem Complexity.AntiChecker.exists_survivorTupleMajorityCircuit {arity : } [NeZero arity] (target : BitString arityBool) (threshold : ) (inputs : List (BitString arity)) (tuple : Fin arity(SurvivorCode target threshold inputs)) :
∃ (internalGates : ) (circuit : Circuit Basis.andOr2 arity 1 internalGates), circuit.size survivorTupleMajoritySizeBound arity threshold ∀ (input : BitString arity), circuit.eval input 0 = majority fun (i : Fin arity) => survivorCodeOutput target threshold inputs (tuple i) input

Pointwise strict majority of a survivor tuple is computed by one circuit within the explicit packing-plus-majority size bound.

theorem Complexity.AntiChecker.everySurvivorTupleCaught_of_circuitHardness {arity threshold hardnessThreshold : } [NeZero arity] (target : BitString arityBool) (inputs : List (BitString arity)) (hfits : survivorTupleMajoritySizeBound arity threshold hardnessThreshold) (hhard : ¬(MCSP.Instance.ofFunction arity hardnessThreshold target).HasCircuitAtMost) :
EverySurvivorTupleCaught target threshold inputs

If the target is hard above the packing-plus-majority size bound, every survivor tuple is caught by some input.