Documentation

LeanPool.BooleanMultiplication.N3TruthTable

Independent truth-table cross-check for the n = 3 lower bound #

This module validates the concrete 64-bit encodings used while developing the algebraic proof. Nothing in N3.lean or the final theorem depends on it.

Interpret a Boolean bit as an element of the two-element field.

Equations
Instances For

    Convert a field element to its Boolean bit.

    Equations
    Instances For
      @[simp]
      @[simp]

      Pack a field-valued coefficient vector with coordinate zero as the least significant bit.

      Equations
      Instances For
        theorem UnrestrictedBooleanMul.coeffBits_getLsb {n : ℕ} (c : Fin n → F₂) (i : Fin n) :
        (coeffBits c).getLsb i = f2Bit (c i)
        @[simp]
        theorem UnrestrictedBooleanMul.coeffBits_getElem {n : ℕ} (c : Fin n → F₂) (i : ℕ) (h : i < n) :
        (coeffBits c)[i] = f2Bit (c ⟨i, h⟩)

        Select a truth table when the coefficient bit is set, and the zero table otherwise.

        Equations
        Instances For
          theorem UnrestrictedBooleanMul.bitF2_sel_getLsb (c : F₂) (x : BitVec 64) (q : Fin 64) :
          bitF2 ((sel (f2Bit c) x).getLsb q) = c * bitF2 (x.getLsb q)
          theorem UnrestrictedBooleanMul.bitF2_sel_getElem (c : F₂) (x : BitVec 64) (q : Fin 64) :
          bitF2 (sel (f2Bit c) x)[q] = c * bitF2 x[q]
          @[simp]
          theorem UnrestrictedBooleanMul.bitF2_sel_getElemNat (c : F₂) (x : BitVec 64) (i : ℕ) (h : i < 64) :
          bitF2 (sel (f2Bit c) x)[i] = c * bitF2 x[i]

          Truth-table column for input variable 0, in least-significant-bit assignment order.

          Equations
          Instances For

            Truth-table column for input variable 1, in least-significant-bit assignment order.

            Equations
            Instances For

              Truth-table column for input variable 2, in least-significant-bit assignment order.

              Equations
              Instances For

                Truth-table column for input variable 3, in least-significant-bit assignment order.

                Equations
                Instances For

                  Truth-table column for input variable 4, in least-significant-bit assignment order.

                  Equations
                  Instances For

                    Truth-table column for input variable 5, in least-significant-bit assignment order.

                    Equations
                    Instances For
                      theorem UnrestrictedBooleanMul.bitF2_allOnes_getElem (q : Fin 64) :
                      bitF2 (18446744073709551615#64)[q] = 1
                      @[simp]
                      theorem UnrestrictedBooleanMul.bitF2_allOnes_getElemNat (i : ℕ) (h : i < 64) :
                      bitF2 (18446744073709551615#64)[i] = 1

                      Truth table for coefficient 0 of the product of two three-term polynomials.

                      Equations
                      Instances For

                        Truth table for coefficient 2 of the product of two three-term polynomials.

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

                          Truth table for coefficient 4 of the product of two three-term polynomials.

                          Equations
                          Instances For

                            The six input-variable truth tables, in input order.

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

                              The six Boolean input values encoded by a truth-table row.

                              Equations
                              Instances For

                                Truth table of a linear combination in the rational-place basis.

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

                                  Truth table of a linear combination in the affine-plus-target basis.

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