Documentation

LeanPool.BooleanMultiplication.N4.SliceModels

Algebraic ANF models for zero-place slices #

The quartic exclusion compares restrictions to the six variables outside a₀,b₀. These models keep the six complementary variables in their original eight-coordinate positions and set the two anchor coefficients to zero. This lets the homogeneous projections already used by the exterior argument apply without introducing a second ANF type or enumerating Boolean functions.

Remove the two anchor coordinates from a linear form.

Equations
Instances For

    Evaluate the anchor-supported part of a linear form at fixed anchor values.

    Equations
    Instances For

      The product of the two leading input coefficients.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def UnrestrictedBooleanMul.N4.sliceZeroFactorModel (a : F₂) (ell : LinearForm) (x y : F₂) :
        ANF 8

        Restrict an affine factor plus the zero-place product to an anchor slice.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def UnrestrictedBooleanMul.N4.sliceOneFactorModel (a : F₂) (ell : LinearForm) (x y : F₂) :
          ANF 8

          Restrict an affine factor plus the evaluation-at-one product to an anchor slice.

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

            Restrict an affine factor plus the infinity-place product to an anchor slice.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              noncomputable def UnrestrictedBooleanMul.N4.sliceTypeBFactorModel (a : F₂) (ell : LinearForm) (x y : F₂) :
              ANF 8

              Restrict an affine factor with type-B quadratic part to an anchor slice.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                noncomputable def UnrestrictedBooleanMul.N4.sliceCorrectionModel (a : F₂) (ell : LinearForm) (alpha : Fin 3 → F₂) (x y : F₂) :
                ANF 8

                Restrict an affine-plus-rational-target correction to an anchor slice.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  noncomputable def UnrestrictedBooleanMul.N4.sliceTangentModel (a : F₂) (ell : LinearForm) (eps x y : F₂) :
                  ANF 8

                  Restrict an affine perturbation of a first-jet tangent target to an anchor slice.

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

                    Extract the six non-anchor input coordinates.

                    Equations
                    Instances For
                      theorem UnrestrictedBooleanMul.N4.sliceComplementLinear_other (ell : LinearForm) (i : Fin 8) (hi0 : i ≠ 0) (hi4 : i ≠ 4) :
                      @[simp]
                      theorem UnrestrictedBooleanMul.N4.eval_linearANF_formula (ell : LinearForm) (w : Fin 8 → F₂) :
                      eval (linearANF ell) w = ∑ i : Fin 8, ell i * w i
                      @[simp]
                      theorem UnrestrictedBooleanMul.N4.eval_affineANF_formula (a : F₂) (ell : LinearForm) (w : Fin 8 → F₂) :
                      eval (affineANF a ell) w = a + ∑ i : Fin 8, ell i * w i
                      theorem UnrestrictedBooleanMul.N4.eval_rationalANF_slice (alpha : Fin 3 → F₂) (x y : F₂) (z : Fin 6 → F₂) :
                      eval (rationalANF alpha) (sliceAssignment x y z) = alpha 0 * x * y + alpha 1 * (x + eval (linearANF sliceABar) (sliceAssignment x y z)) * (y + eval (linearANF sliceBBar) (sliceAssignment x y z)) + alpha 2 * eval (linearANF (placeA 2)) (sliceAssignment x y z) * eval (linearANF (placeB 2)) (sliceAssignment x y z)
                      theorem UnrestrictedBooleanMul.N4.eval_affineANF_linear_add (a : F₂) (ell m : LinearForm) (w : Fin 8 → F₂) :
                      eval (affineANF a (ell + m)) w = eval (affineANF a ell) w + eval (linearANF m) w
                      theorem UnrestrictedBooleanMul.N4.eval_affineANF_const_add (a b : F₂) (ell : LinearForm) (w : Fin 8 → F₂) :
                      eval (affineANF (a + b) ell) w = b + eval (affineANF a ell) w
                      theorem UnrestrictedBooleanMul.N4.eval_sliceCorrectionModel (a : F₂) (ell : LinearForm) (alpha : Fin 3 → F₂) (x y : F₂) (z : Fin 6 → F₂) :
                      eval (sliceCorrectionModel a ell alpha x y) (sliceAssignment x y z) = eval (representedLowFactor a ell alpha) (sliceAssignment x y z)

                      The Boolean function is unchanged when either anchor input is reassigned.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem UnrestrictedBooleanMul.N4.eval_eq_of_slice_eq {p q : ANF 8} {x y : F₂} (hp : AnchorsIndependent p) (hq : AnchorsIndependent q) (h : ∀ (z : Fin 6 → F₂), eval p (sliceAssignment x y z) = eval q (sliceAssignment x y z)) (w : Fin 8 → F₂) :
                        eval p w = eval q w