Documentation

LeanPool.BooleanMultiplication.N4.SliceProjection

Homogeneous projections of the slice models #

These lemmas calculate only the degree-three, degree-two, and degree-one parts used by the manuscript. The fixed coordinate checks concern the two explicit complementary quadratics; there is no search over circuits or Boolean functions.

Extract the coefficient of one linear monomial.

Equations
Instances For

    Equality of Boolean functions determines the homogeneous linear projection.

    noncomputable def UnrestrictedBooleanMul.N4.sliceTypeAFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
    ANF 8

    The full sliced type-A product, including its affine and rational-target correction.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def UnrestrictedBooleanMul.N4.sliceTypeBFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
      ANF 8

      The full sliced type-B product, including its affine and rational-target correction.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def UnrestrictedBooleanMul.N4.sliceTypeInfinityFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
        ANF 8

        The full sliced infinity-type product, including its affine and rational-target correction.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem UnrestrictedBooleanMul.N4.anchorsIndependent_sliceTypeAFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          AnchorsIndependent (sliceTypeAFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y)
          theorem UnrestrictedBooleanMul.N4.anchorsIndependent_sliceTypeBFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          AnchorsIndependent (sliceTypeBFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y)
          theorem UnrestrictedBooleanMul.N4.anchorsIndependent_sliceTypeInfinityFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          AnchorsIndependent (sliceTypeInfinityFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y)
          @[simp]
          theorem UnrestrictedBooleanMul.N4.anfThreeProjection_sliceTypeAFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfThreeProjection (sliceTypeAFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = vectorWedgeTwo (sliceComplementLinear leftLinear) sliceQuadraticA
          @[simp]
          theorem UnrestrictedBooleanMul.N4.anfThreeProjection_sliceTypeBFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfThreeProjection (sliceTypeBFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = vectorWedgeTwo (sliceComplementLinear leftLinear) sliceQuadraticB
          @[simp]
          theorem UnrestrictedBooleanMul.N4.anfThreeProjection_sliceTypeInfinityFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfThreeProjection (sliceTypeInfinityFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = vectorWedgeTwo (sliceComplementLinear leftLinear) sliceInfinityQuadratic
          theorem UnrestrictedBooleanMul.N4.anfTwoProjection_sliceTypeAFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfTwoProjection (sliceTypeAFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = (leftConst + sliceAnchorValue leftLinear x y + x * y) • sliceQuadraticA + vectorWedge (sliceComplementLinear leftLinear) (sliceComplementLinear rightLinear + sliceVaryingLinear x y) + booleanContraction (sliceComplementLinear leftLinear) sliceQuadraticA + correctionCoeff 1 • sliceQuadraticA + correctionCoeff 2 • sliceInfinityQuadratic
          theorem UnrestrictedBooleanMul.N4.anfTwoProjection_sliceTypeBFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfTwoProjection (sliceTypeBFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = (leftConst + sliceAnchorValue leftLinear x y + x * y) • sliceQuadraticB + vectorWedge (sliceComplementLinear leftLinear) (sliceComplementLinear rightLinear + sliceVaryingLinear x y) + booleanContraction (sliceComplementLinear leftLinear) sliceQuadraticB + correctionCoeff 1 • sliceQuadraticA + correctionCoeff 2 • sliceInfinityQuadratic
          theorem UnrestrictedBooleanMul.N4.anfTwoProjection_sliceTypeInfinityFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfTwoProjection (sliceTypeInfinityFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = (leftConst + sliceAnchorValue leftLinear x y + x * y) • sliceInfinityQuadratic + vectorWedge (sliceComplementLinear leftLinear) (sliceComplementLinear rightLinear) + booleanContraction (sliceComplementLinear leftLinear) sliceInfinityQuadratic + correctionCoeff 1 • sliceQuadraticA + correctionCoeff 2 • sliceInfinityQuadratic
          theorem UnrestrictedBooleanMul.N4.anfLinearProjection_sliceTypeAFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfLinearProjection (sliceTypeAFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = sliceProductLinear (leftConst + sliceAnchorValue leftLinear x y + x * y) (rightConst + sliceAnchorValue rightLinear x y + x * y) (sliceComplementLinear leftLinear) (sliceComplementLinear rightLinear + sliceVaryingLinear x y) (sliceComplementLinear correctionLinear) (correctionCoeff 1) x y
          theorem UnrestrictedBooleanMul.N4.anfLinearProjection_sliceTypeBFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfLinearProjection (sliceTypeBFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = sliceProductLinear (leftConst + sliceAnchorValue leftLinear x y + x * y) (rightConst + sliceAnchorValue rightLinear x y + x * y) (sliceComplementLinear leftLinear) (sliceComplementLinear rightLinear + sliceVaryingLinear x y) (sliceComplementLinear correctionLinear) (correctionCoeff 1) x y
          theorem UnrestrictedBooleanMul.N4.anfLinearProjection_sliceTypeInfinityFullModel (leftConst : F₂) (leftLinear : LinearForm) (rightConst : F₂) (rightLinear : LinearForm) (correctionConst : F₂) (correctionLinear : LinearForm) (correctionCoeff : Fin 3 → F₂) (x y : F₂) :
          anfLinearProjection (sliceTypeInfinityFullModel leftConst leftLinear rightConst rightLinear correctionConst correctionLinear correctionCoeff x y) = sliceProductLinear (leftConst + sliceAnchorValue leftLinear x y + x * y) (rightConst + sliceAnchorValue rightLinear x y) (sliceComplementLinear leftLinear) (sliceComplementLinear rightLinear) (sliceComplementLinear correctionLinear) (correctionCoeff 1) x y