Documentation

MIPRE.Foundations.SAT.GateFieldEval

Uniform field evaluation of a routed gate #

Field elements are coefficient vectors modulo a supplied binary monic polynomial. Gate indices stay binary, including on malformed inputs.

@[reducible, inline]

Circuit-facing zero coefficients, implemented by generic quotient arithmetic.

Equations
Instances For
    @[reducible, inline]

    Circuit-facing one coefficients, implemented by generic quotient arithmetic.

    Equations
    Instances For

      Gate arithmetic on coefficient vectors. The input reader is supplied separately so that the same arithmetic supports the routed copy links.

      Equations
      Instances For
        def MIPRE.SAT.Circuit.gateValue {R : Type u_1} [CommRing R] (x w : ℕ → R) :
        Gate → R

        The corresponding field expression in characteristic two.

        Equations
        Instances For
          theorem MIPRE.SAT.Circuit.length_gateBits (p : Cost.BitStr) (x : ℕ → Cost.BitStr) (w : List Cost.BitStr) (g : Gate) (hx : ∀ (i : ℕ), g = Gate.input i → List.length (x i) = List.length p) (hw : ∀ j ∈ g.refs, List.length (w.getD j []) = List.length p) :

          Correctness of all five gate operations over every characteristic-two ring containing a root of the supplied modulus.

          theorem MIPRE.SAT.Circuit.gateValue_eq_eval_gateArith {F : Type u_2} [Field F] [CharP F 2] (C : Circuit) (k : ℕ) (g : Gate) (x w : ℕ → F) :
          gateValue (fun (i : ℕ) => Sum.elim x w (C.inputRef k i)) w g = (MvPolynomial.eval (Sum.elim x w)) (C.gateArith k g)
          @[reducible, inline]

          Modulus, external coordinates, gate coordinates, and preceding gate/value pairs.

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

              Uniform polynomial-time field evaluation of one routed gate.

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