Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Aggregate.Geometry.Inversion.Encoding

Boolean coordinates for binary-field inversion #

A linear coordinate equivalence supplies an arbitrary basis over the two-element field. Encoding and decoding use actual Boolean bits, and inversion fixes zero.

The two Boolean values as elements of the prime field.

Equations
Instances For

    Boolean XOR is addition in the two-element field.

    noncomputable def Algebraic.Aggregate.Geometry.Inversion.encode {K : Type u_1} [Field K] [Algebra (ZMod 2) K] {n : ℕ} (e : (Fin n → ZMod 2) ≃ₗ[ZMod 2] K) :
    (Fin n → Bool) ≃ K

    Encode the Boolean cube in an arbitrary linear basis of a binary field.

    Equations
    Instances For
      theorem Algebraic.Aggregate.Geometry.Inversion.encode_xorThree {K : Type u_1} [Field K] [Algebra (ZMod 2) K] {n : ℕ} (e : (Fin n → ZMod 2) ≃ₗ[ZMod 2] K) (x y z : Fin n → Bool) :
      (encode e) (xorThree x y z) = (encode e) x + (encode e) y + (encode e) z

      Encoding converts the affine ternary operation into field addition.

      noncomputable def Algebraic.Aggregate.Geometry.Inversion.inverseFunction {K : Type u_1} [Field K] [Algebra (ZMod 2) K] {n : ℕ} (e : (Fin n → ZMod 2) ≃ₗ[ZMod 2] K) (x : Fin n → Bool) :
      Fin n → Bool

      Finite-field inversion expressed in Boolean coordinates, with zero fixed.

      Equations
      Instances For

        The encoded inversion map is a permutation.

        theorem Algebraic.Aggregate.Geometry.Inversion.encode_inverseFunction {K : Type u_1} [Field K] [Algebra (ZMod 2) K] {n : ℕ} (e : (Fin n → ZMod 2) ≃ₗ[ZMod 2] K) (x : Fin n → Bool) :

        Decoding inversion recovers exactly the field inverse.