The Minimum Circuit Size Problem #
This module exposes a canonical, total MCSP syntax and its exact relationship to the library's Boolean circuit complexity measure.
Main definitions #
MCSP.Instance-- arity, a structurally exact truth table, and thresholdMCSP.Instance.encode/decode?-- canonical total binary codecMCSP.Instance.ofFunction-- exact function-to-truth-table packagingMCSP.Instance.function-- little-endian truth-table semanticsMCSP.Instance.HasCircuitAtMost-- direct circuit-witness predicateMCSP.Instance.verifyRawCircuit-- executable canonical witness checkerMCSP.Instance.normalizeThreshold-- semantics-preserving threshold capMCSP.atThreshold-- arity-indexed canonical threshold slicesGapMCSP.problem-- two-threshold MCSP promise with explicit relaxationGapMCSP.sliceProblem-- conventionalGapMCSP[s_yes, s_no]slicesMCSP-- encoded language, with malformed strings rejected
The zero-arity case is explicit: its one truth-table bit is stored directly and
has size zero, matching CircuitFamily. Positive arities use
Basis.andOr2 and agree exactly with Circuit.sizeComplexity.
Converting a truth-table index to an input and back recovers the index.
Converting a fixed-length input to its truth-table index and back recovers the input.
Evaluating the represented function on index k returns truth-table entry
k under the canonical little-endian enumeration.
Reading the canonical truth table of a packaged Boolean function recovers that function exactly.
Changing the threshold does not change the represented function.
Canonical MCSP instance encoding is injective.
Zero-input Boolean functions use the explicit size-zero family convention.
At every positive arity, MCSP uses exactly the existing fan-in-two circuit complexity measure.
Every zero-arity instance is a yes-instance at every natural threshold.
At positive arity, the direct circuit-witness semantics agrees with the minimum circuit-size inequality.
The total witness semantics agrees with the total minimum-size convention, including arity zero.
Increasing the threshold preserves MCSP yes-instances.
A canonical instance code belongs to MCSP exactly when the decoded instance has a circuit at most its threshold.
Membership of a canonical code is exactly its total minimum-size inequality, including the explicit zero-arity convention.
At positive arity, canonical encoded MCSP membership agrees exactly with the library's existing fan-in-two size complexity.
Every malformed instance code is rejected by the total MCSP language.
Decoded language membership has an explicit unique-instance witness.