Documentation

Complexitylib.Classes.PPoly.Oracle.Inlining.Defs

Inlining polynomial circuit oracles -- definitions #

For each round of an adaptive oracle program, a polynomial circuit oracle selects the family member at that round's query width. The generic adaptive compiler then replaces all oracle calls by those selected circuits.

def Complexity.PolynomialCircuitOracle.implementation {language : Language} (circuitOracle : PolynomialCircuitOracle language) {inputWidth outputWidth rounds : } [NeZero inputWidth] [NeZero outputWidth] (program : AdaptiveOracleProgram inputWidth outputWidth rounds) :

Select the circuit-family member matching each query width of an adaptive oracle program.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Complexity.AdaptiveOracleProgram.inlineCircuitOracle {language : Language} {inputWidth outputWidth rounds : } [NeZero inputWidth] [NeZero outputWidth] (program : AdaptiveOracleProgram inputWidth outputWidth rounds) (circuitOracle : PolynomialCircuitOracle language) :
    (internalGates : ) × Circuit Basis.andOr2 inputWidth outputWidth internalGates

    Replace every oracle call in program by the matching member of a polynomial-size circuit oracle.

    Equations
    Instances For