Finite anti-checkers -- definitions #
An anti-checker for a target function is a finite list of inputs that catches every circuit up to a chosen size threshold: each such circuit disagrees with the target on at least one listed input. Lists are the concrete multiset representation used by the later generator. Repetitions and order are retained syntactically but do not affect the semantic predicate.
This first layer is for positive arity, matching the hardness-magnification application. SuccinctMCSP separately gives its zero-arity convention.
A circuit agrees with the target on every input in the finite list.
Equations
- Complexity.AntiChecker.AgreesOn circuit target inputs = ∀ input ∈ inputs, circuit.eval input 0 = target input
Instances For
A finite list is an anti-checker when it contains a counterexample to every circuit within the threshold.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prepend all-zero inputs until the list reaches targetLength. If the list
is already at least that long, leave it unchanged.
Equations
- Complexity.AntiChecker.padInputsTo targetLength inputs = (List.replicate (targetLength - inputs.length) fun (x : Fin arity) => false) ++ inputs