The Partial Minimum Circuit Size Problem (MCSP*) #
The Partial Minimum Circuit Size Problem (MCSP* or PartialMCSP) asks, given the truth table
of a partial Boolean function $f^* : \{0, 1\}^n \to \{0, 1, *\}$ on arity = n inputs and a size
threshold s, whether there exists a total Boolean function $f : \{0, 1\}^n \to \{0, 1\}$ that
extends $f^*$ (agreeing with $f^*$ on every input where $f^*(x) \ne *$) and has a circuit of size
at most s [Ilango2020FOCS, Section II.B; ECCC TR20-183, Section 2.2; Hirahara2022, ECCC TR22-119,
Definition 8.4, p. 30].
In PartialMCSP.Instance, the truth table has $2^n$ entries in Option Bool, where some b
requires the circuit to output b and none represents the "don't care" symbol * (also written
? in [Hirahara2022, ECCC TR22-119, Definition 8.4]).
Cslib.PartialMCSP uses the standard De Morgan all-gates size measure Circuit.size
(complexityOn interpretation x.definedInputs (single x.completion)), matching Cslib.MCSP and
Cslib.SuccinctMCSP. We also define Cslib.PartialMCSP.BinaryGate using
the AND/OR-only gate count c.program.cost binaryCost from [Ilango2020FOCS, Section II.B and
Section III.B, p. 427; ECCC TR20-183, Section 2.2] (where NOT and constant gates are free), and
prove the threshold-$n-1$ bridge theorems relating the two measures using the binary-cost support
bounds in Complexity.Computability.Circuit.Boolean.BinaryCost:
- Every yes-instance of
PartialMCSPis a yes-instance ofPartialMCSP.BinaryGate(PartialMCSP.mem_binaryGate_of_mem). - When all
ninput coordinates are essential for the partial function, no circuit with fewer thann - 1binary gates can agree with it (PartialMCSP.not_mem_binaryGate_of_threshold_lt), and at thresholdn - 1any all-gates circuit agreeing with it must have sizen - 1, binary costn - 1, and consist solely of binary AND/OR gates (PartialMCSP.isBinary_of_mem_of_threshold_le).
String encodings of PartialMCSP.Instance, membership in NP, and the polynomial-time many-one
reduction from MCSP to PartialMCSP are in Complexity.Computability.MCSP.PartialNP.
Main definitions #
Cslib.PartialMCSP.Instance: an instance of partial-function MCSP (arity,tableof length $2^{\text{arity}}$ overOption Bool, andthreshold).Cslib.PartialMCSP.Instance.AgreesWith: a total Boolean function extends the partial truth table.Cslib.PartialMCSP: yes-instances under the all-gates De Morgan circuit size measure.Cslib.PartialMCSP.BinaryGate: yes-instances under Ilango's AND/OR-only gate measure (binaryCost).Cslib.PartialMCSP.Instance.ofTotal,Cslib.PartialMCSP.Instance.toSuccinct,Cslib.PartialMCSP.Instance.restrictTable: embeddings intoPartialMCSPfromMCSP, fromPartialMCSPintoSuccinctMCSP, and by restricting a total truth table to a subset of inputs.
Main results #
Cslib.PartialMCSP.mem_iff_exists_circuit,Cslib.PartialMCSP.mem_iff_exists_total_extension: characterizations ofPartialMCSPvia circuits and via total function extensions.Cslib.PartialMCSP.mem_binaryGate_of_mem,Cslib.PartialMCSP.not_mem_binaryGate_of_threshold_lt,Cslib.PartialMCSP.isBinary_of_mem_of_threshold_le,Cslib.PartialMCSP.mem_iff_mem_binaryGate_of_all_isBinary: bridge theorems betweenPartialMCSPandPartialMCSP.BinaryGate.Cslib.PartialMCSP.ofTotal_mem_iff,Cslib.PartialMCSP.toSuccinct_mem_iff,Cslib.PartialMCSP.restrictTable_mem_iff: exact compatibility withMCSPandSuccinctMCSP.
References #
An instance of the Partial Minimum Circuit Size Problem (MCSP*): the truth table of a partial
Boolean function on arity inputs (none for * / don't-care, some b for a required output b)
and a circuit-size threshold [Ilango2020FOCS, Section II.B; ECCC TR20-183, Section 2.2;
Hirahara2022, ECCC TR22-119, Definition 8.4, p. 30].
- arity : ℕ
The number of input variables of the partial Boolean function.
The truth table of the partial Boolean function, indexed via
BitString.equivFin.- threshold : ℕ
The maximum number of gates allowed.
Instances For
The canonical total completion of x.partialFunction that maps undefined (*) entries to
false. On x.definedInputs, a circuit agrees with x if and only if it agrees with
x.completion.
Instances For
A total Boolean function f agrees with (extends) the partial truth table of x when f y = b
for every input y where x.partialFunction y = some b [Ilango2020FOCS, Section II.B;
ECCC TR20-183, Section 2.2].
Instances For
Agreement stated directly in terms of the table indices Fin (2 ^ x.arity).
A total function agrees with x iff it equals x.completion on x.definedInputs.
The canonical completion x.completion agrees with x.
A one-output circuit computes single x.completion on x.definedInputs if and only if its
output 0 agrees with x.
The Partial Minimum Circuit Size Problem (MCSP*) [Ilango2020FOCS, Section II.B;
ECCC TR20-183, Section 2.2; Hirahara2022, ECCC TR22-119, Definition 8.4, p. 30]: the
partial-function instances that can be computed on their defined inputs by a De Morgan circuit with
at most threshold gates.
Instances For
The Partial Minimum Circuit Size Problem under the binary-gate cost measure
[Ilango2020FOCS, Section II.B and Section III.B, p. 427; ECCC TR20-183, Section 2.2]: the
partial-function instances for which some De Morgan circuit using at most threshold binary
(AND/OR) gates agrees with the partial truth table.
Instances For
An instance is in PartialMCSP if and only if some De Morgan circuit of size at most
x.threshold agrees with x.partialFunction on all defined inputs.
Circuit characterization of PartialMCSP indexed by Fin (2 ^ x.arity).
Total-extension characterization of PartialMCSP [Ilango2020FOCS, Section II.B;
ECCC TR20-183, Section 2.2]: an instance is in PartialMCSP if and only if some total Boolean
function f agrees with x on all non-* entries and has circuit complexity at most
x.threshold.
An instance is in PartialMCSP if and only if some function in
computableFunctions x.arity x.threshold agrees with x.
Raising the threshold preserves membership in PartialMCSP.
Raising the threshold preserves membership in PartialMCSP.BinaryGate.
Bridge between all-gates PartialMCSP and binary-gate PartialMCSP.BinaryGate #
Every yes-instance under the all-gates measure is a yes-instance under the binary-gate measure,
since c.program.cost binaryCost ≤ c.size.
If coordinate i is essential for x, then i is essential for every total Boolean function
that agrees with x.
If coordinate i is essential for x, then i belongs to c.inputSupport for every circuit
c whose output agrees with x.
When all x.arity input coordinates are essential for x, every circuit agreeing with x has
full input support c.inputSupport = Finset.univ.
When all x.arity input coordinates are essential for x, every circuit agreeing with x
uses at least x.arity - 1 binary (AND/OR) gates (x.arity ≤ 1 + c.program.cost binaryCost).
When all x.arity coordinates are essential for x and x.threshold + 1 < x.arity
(i.e. x.threshold < x.arity - 1), x is a no-instance even under the binary-gate measure.
When all x.arity coordinates are essential for x and x.threshold + 1 < x.arity, x is a
no-instance of PartialMCSP.
Threshold-n - 1 rigidity. When all x.arity coordinates are
essential for x and x.threshold + 1 ≤ x.arity, any all-gates circuit c of size at most
x.threshold agreeing with x has c.program.cost binaryCost = x.arity - 1,
c.size = x.arity - 1, and consists exclusively of binary AND and OR gates (no NOT or constant
gates).
Any circuit whose gates are all binary AND/OR gates has c.size = c.program.cost binaryCost,
so a binary-gate witness without NOT or constant gates is immediately an all-gates witness of the
same size.
When all x.arity coordinates are essential for x, 1 ≤ x.arity, and
x.threshold = x.arity - 1, x ∈ PartialMCSP if and only if there is a circuit of size
x.arity - 1 whose gates are all binary AND/OR gates that agrees with x.
If every binary-gate circuit for x of cost at most x.threshold can be replaced by a
NOT-free, constant-free circuit of no greater binary cost (for example, in monotone reductions such
as [Ilango2020FOCS, Theorem I.3; ECCC TR20-183, Theorem 3] where yes-instances have read-once
monotone formulas of size n - 1 and no-instances require at least n binary gates), then
x ∈ PartialMCSP ↔ x ∈ BinaryGate.
Embeddings from MCSP and into SuccinctMCSP #
View a total MCSP.Instance as a PartialMCSP.Instance with no * (none) entries.
Instances For
A total instance belongs to PartialMCSP if and only if it belongs to MCSP.
View a PartialMCSP.Instance as a SuccinctMCSP.Instance whose samples are the defined entries
of its truth table.
Instances For
A partial truth table is in PartialMCSP if and only if its set of defined samples is in
SuccinctMCSP.
Viewing Instance.restrictTable T S s as a SuccinctMCSP.Instance via Instance.toSuccinct
yields SuccinctMCSP.Instance.ofFunction ((MCSP.truthTable n).symm T) S s.
The partial truth table Instance.restrictTable T S s is in PartialMCSP if and only if
SuccinctMCSP.Instance.ofFunction ((MCSP.truthTable n).symm T) S s is in SuccinctMCSP.