Documentation

Complexitylib.Algebraic.ConditionalComplexity.Counterexample

Strictness of the conditional chain bound #

In CSLib's Boolean basis (AND, OR, NOT, and constants, each of cost one), let f(x,y) = x ∧ y and g(x,y) = ¬(x ∧ y). Then C(f,g) = C(g) = 2, whereas C(f | g) = 1. The two-gate NAND circuit already contains the AND output. Supplying only NAND as a free input loses access to that intermediate wire.

All equalities are kernel-checked. The tiny one-gate lower bound enumerates the finite operation, wiring, output, and input choices using decide.

The two-input conjunction as a single-output target.

Equations
Instances For

    The negation of two-input conjunction as a single-output target.

    Equations
    Instances For

      Two gates with both the intermediate AND and final NAND exposed.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]

        The shared circuit has exactly two gates: the AND and the NOT that turns it into the NAND.

        Exposing the intermediate conjunction in the NAND circuit is free.