Documentation

Complexity.Computability.Circuit.Boolean.CarrySave.PolyTime

Native generation of carry-save circuits #

Fixed three-input formula templates generate each sum and carry bit. The lowest carry bit is a constant, so the carry blocks have different gate counts. appendCodes assembles their actual codes without padding. Composition then generates the existing four-to-two reducer.

The width is unary, and all emitted gate and output references are binary. These certificates charge the full code and hold uniformly at every width, including zero.

Main definitions #

Main results #

References #

The underlying carry-save circuits are formalized in Boolean.CarrySave, following Chandra, Stockmeyer and Vishkin and Vollmer, Chapter 1.

The sum-bit formula instantiated at three raw input references.

Instances For

    A carry-bit formula, including the constant lowest carry and total raw-index behavior.

    Instances For

      Generate the full three-to-two carry-save circuit code from its width.

      Instances For

        Generation preserves the exact existing circuit, including its unequal carry-bit blocks.

        The actual three-to-two reducer has a uniform native generator on unary widths.

        Generate the existing two-layer carry-save reducer, including all input wiring.

        Instances For

          The generated code is exactly the existing four-to-two circuit's code.

          The actual four-to-two reducer has a uniform native generator on unary widths.