Documentation

MIPRE.Background.LIDT.Bridge.Field

Bridge, part 1: parameters and the field coding #

The MIPStarRE development works with a coded field Fq params := Fin params.q together with a FieldModel params.q instance carrying an actual field K and an equivalence K ≃ Fin q; all arithmetic is transported through the coding (encodeScalar, decodeScalar, addCoord, ...). This file instantiates that setup for our finite field F: the parameters lidtParams F m d (with q = Fintype.card F) and the field model with K := F, and it records how the coding interacts with points, lines and the arithmetic of F.

@[reducible, inline]

The MIPStarRE parameters of the (m, q, d) test, q = |F|.

Equations
Instances For
    @[instance_reducible]

    The field model with carrier F itself, coded by an arbitrary enumeration.

    Equations

    Coding of scalars and points #

    @[reducible, inline]
    noncomputable abbrev MIPRE.LIDT.Bridge.enc {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (x : F) :

    Encode a scalar of F into the coded field of the parameters.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev MIPRE.LIDT.Bridge.dec {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (x : MIPStarRE.LDT.Fq (lidtParams F m d)) :
      F

      Decode a coded scalar into F.

      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev MIPRE.LIDT.Bridge.encP {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (u : Point F m) :

        Encode a point of F^m.

        Equations
        Instances For
          @[reducible, inline]
          noncomputable abbrev MIPRE.LIDT.Bridge.decP {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (u : MIPStarRE.LDT.Point (lidtParams F m d)) :
          Point F m

          Decode a coded point.

          Equations
          Instances For
            @[simp]
            theorem MIPRE.LIDT.Bridge.dec_enc {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (x : F) :
            dec (enc x) = x
            @[simp]
            theorem MIPRE.LIDT.Bridge.enc_dec {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (x : MIPStarRE.LDT.Fq (lidtParams F m d)) :
            enc (dec x) = x
            @[simp]
            theorem MIPRE.LIDT.Bridge.decP_encP {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (u : Point F m) :
            decP (encP u) = u
            @[simp]
            theorem MIPRE.LIDT.Bridge.encP_decP {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (u : MIPStarRE.LDT.Point (lidtParams F m d)) :
            encP (decP u) = u
            noncomputable def MIPRE.LIDT.Bridge.pointEquiv {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] :

            The coding of points, as an equivalence.

            Equations
            Instances For
              @[simp]
              theorem MIPRE.LIDT.Bridge.pointEquiv_apply {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (u : Point F m) :
              noncomputable def MIPRE.LIDT.Bridge.scalarEquiv {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] :

              The coding of scalars, as an equivalence.

              Equations
              Instances For
                @[simp]
                theorem MIPRE.LIDT.Bridge.scalarEquiv_apply {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {m d : } [NeZero m] (x : F) :

                Arithmetic through the coding #

                @[simp]
                @[simp]

                The decoded point at parameter t of an axis-parallel line.

                The decoded point at parameter t of a diagonal line.