Documentation

Complexitylib.Metacomplexity.MCSP.Shannon

Shannon bounds for canonical MCSP #

The classical circuit-counting frontier is exposed directly through canonical MCSP codes. At arity at least six, some truth table is rejected at threshold 2^n / (5n). At arity at least sixteen, every truth table is accepted at threshold 18 * 2^n / n.

These are finite statements in the library's exact fan-in-two circuit model; they do not assert hardness of deciding MCSP.

theorem Complexity.MCSP.exists_minimumSize_gt_shannonLower (arity : ) (harity : 6 arity) :
∃ (inst : Instance), inst.arity = arity inst.threshold = 2 ^ arity / (5 * arity) inst.minimumSize > 2 ^ arity / (5 * arity)

At every arity at least six, some canonical truth table has minimum circuit size strictly above the Shannon lower threshold.

theorem Complexity.MCSP.exists_not_mem_at_shannonLower (arity : ) (harity : 6 arity) :
∃ (inst : Instance), inst.arity = arity inst.threshold = 2 ^ arity / (5 * arity) inst.encodeMCSP

The Shannon lower bound gives an actual canonical MCSP no-instance at its explicit threshold.

theorem Complexity.MCSP.exists_ofFunction_not_mem_at_shannonLower (arity : ) (harity : 6 arity) :
∃ (f : BitString arityBool), (Instance.ofFunction arity (2 ^ arity / (5 * arity)) f).encodeMCSP

Equivalently, a Boolean function packaged by the canonical truth-table constructor is rejected at the Shannon lower threshold.

theorem Complexity.MCSP.mem_encode_of_shannonUpper_le_threshold (inst : Instance) (harity : 16 inst.arity) (hthreshold : 18 * 2 ^ inst.arity / inst.arity inst.threshold) :

Every canonical MCSP instance whose threshold reaches the explicit Shannon upper bound is a yes-instance.

theorem Complexity.MCSP.ofFunction_mem_at_shannonUpper (arity : ) (harity : 16 arity) (f : BitString arityBool) :
(Instance.ofFunction arity (18 * 2 ^ arity / arity) f).encode MCSP

Packaging any Boolean function at the Shannon upper threshold produces a canonical MCSP yes-instance.

theorem Complexity.MCSP.shannon_threshold_window (arity : ) (harity : 16 arity) :
(∃ (f : BitString arityBool), (Instance.ofFunction arity (2 ^ arity / (5 * arity)) f).encodeMCSP) ∀ (f : BitString arityBool), (Instance.ofFunction arity (18 * 2 ^ arity / arity) f).encode MCSP

The exact finite Shannon window for canonical MCSP: at the lower threshold some truth table is rejected, while at the upper threshold every truth table is accepted. The two constants and the truth-table arity remain explicit.