Documentation

TCSlib.CodingTheory.Basic

Code Definitions #

Code n 𝔽: a subset of 𝔽ⁿ. AsymptoticCodes 𝔽: a map from ℕ to Code n 𝔽.

@[inline, reducible]
abbrev CodingTheory.Codeword (n : ) (α : Type u_2) [Fintype α] [DecidableEq α] :
Type u_2

An element of 𝔽ⁿ.

Equations
Instances For
    Equations
    Instances For
      Equations
      Instances For
        Equations
        Instances For
          @[inline, reducible]
          abbrev CodingTheory.Codeword.Code (n : ) (α : Type u_2) [Fintype α] [DecidableEq α] :
          Type u_2

          Code Code n 𝔽 is a subset of 𝔽ⁿ.

          Equations
          Instances For
            def CodingTheory.Codeword.Linear_Code {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] {n : } {m : } (C : CodingTheory.Codeword.Code n α) (G : Matrix (Fin n) (Fin m) α) :

            Linear Code as a Code n 𝔽 with a Generator Matrix.

            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                noncomputable def CodingTheory.Codeword.qaryEntropy (q : ) (p : ) :
                Equations
                Instances For

                  AsymptoticCodes is a map from ℕ to Code n 𝔽.

                  Equations
                  Instances For

                    Perhaps add C.card >=2 -

                    Equations
                    Instances For
                      def CodingTheory.Codeword.weight {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] {n : } (c : CodingTheory.Codeword n α) :
                      Equations
                      Instances For
                        def CodingTheory.Codeword.max_size {α : Type u_1} [Fintype α] [DecidableEq α] (n : ) (d : ) (A : ) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem CodingTheory.Codeword.singleton_bound {α : Type u_1} [Fintype α] [Nonempty α] [DecidableEq α] {n : } (C : CodingTheory.Codeword.Code n α) (d : ) (h : CodingTheory.Codeword.distance C d) (hα : Nontrivial α) :
                          C.card Fintype.card α ^ (n - d + 1)
                          theorem CodingTheory.Codeword.hamming_ball_size_asymptotic {α : Type u_1} [Fintype α] [Nonempty α] [DecidableEq α] [Field α] (q : ) (n : ) (p : ) (hq : q = Fintype.card α) (hα : Nontrivial α) (hnp : n * p⌋₊ = n * p) (hp : 0 < p p 1 - 1 / q) (c : CodingTheory.Codeword n α) :
                          theorem CodingTheory.Codeword.hamming_ball_non_intersect {α : Type u_1} [Fintype α] [DecidableEq α] {n : } {d : } (C : CodingTheory.Codeword.Code n α) (h : CodingTheory.Codeword.distance C d) (h' : 0 < d) (c₁ : CodingTheory.Codeword n α) (c₂ : CodingTheory.Codeword n α) :
                          c₁ C c₂ C c₁ c₂c'CodingTheory.Codeword.hamming_ball (d - 1) / 2⌋₊ c₁, c'CodingTheory.Codeword.hamming_ball (d - 1) / 2⌋₊ c₂
                          theorem CodingTheory.Codeword.hamming_bound {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] {q : } (n : ) (d : ) (A : ) (C : CodingTheory.Codeword.Code n α) (h : CodingTheory.Codeword.distance C d) (h' : Fintype.card α = q) (h'' : Fintype.card α > 1) (hd : 0 < d) :
                          C.card Fintype.card α ^ n / Finset.sum (Finset.range ((d - 1) / 2⌋₊ + 1)) fun (i : ) => Nat.choose n i * (Fintype.card α - 1) ^ i
                          noncomputable def CodingTheory.Codeword.uniform_vector_dist (n : ) (α : Type u_2) [Fintype α] [DecidableEq α] :
                          Equations
                          Instances For
                            theorem CodingTheory.Codeword.finite_matrix_dist {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] (n : ) (k : ) (v : CodingTheory.Codeword n α) (x : CodingTheory.Codeword k α) :
                            Set.Finite {G : Matrix (Fin n) (Fin k) α | Matrix.mulVec G x = v}
                            noncomputable def CodingTheory.Codeword.matrix_dist {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] (n : ) (k : ) (x : CodingTheory.Codeword k α) :
                            Equations
                            Instances For
                              def CodingTheory.Codeword.get_matrix_row {α : Type u_1} (n : ) (k : ) (M : Matrix (Fin n) (Fin k) α) (i : Fin n) :
                              Matrix (Fin 1) (Fin k) α
                              Equations
                              Instances For
                                theorem CodingTheory.Codeword.uniformity_lemma {α : Type u_1} [Fintype α] [Nonempty α] [DecidableEq α] [Field α] (n : ) (k : ) (x : CodingTheory.Codeword k α) (h_x : x CodingTheory.Codeword.zero) (h_k : k 1) :
                                theorem CodingTheory.Codeword.prob_leq_ball_size {α : Type u_1} [Fintype α] [Nonempty α] [DecidableEq α] [Field α] {n : } {k : } (x : CodingTheory.Codeword k α) (d : ) (h_k : k 1) (h_x : x 0) (h_d : d > 0) :
                                (Set.toFinset {G : Matrix (Fin n) (Fin k) α | CodingTheory.Codeword.weight (Matrix.mulVec G x) < d}).card / (Fintype.card α) ^ (n * k) (CodingTheory.Codeword.hamming_ball (d - 1) CodingTheory.Codeword.zero).card / (Fintype.card α) ^ n
                                theorem CodingTheory.Codeword.existence_bound {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] {n : } {k : } (d : ) :
                                (Set.toFinset {G : Matrix (Fin n) (Fin k) α | ∃ (x : CodingTheory.Codeword k α), CodingTheory.Codeword.weight (Matrix.mulVec G x) < d}).card Fintype.card α ^ k * (CodingTheory.Codeword.hamming_ball (d - 1) CodingTheory.Codeword.zero).card
                                theorem CodingTheory.Codeword.gv_bound {α : Type u_1} [Fintype α] [DecidableEq α] [Field α] (n : ) (k : ) (q : ) (d : ) (h_q : q = Fintype.card α) (h_k : k n - Nat.clog q (CodingTheory.Codeword.hamming_ball (d - 1) CodingTheory.Codeword.zero).card - 1) :
                                (Set.toFinset {G : Matrix (Fin n) (Fin k) α | ∀ (x : CodingTheory.Codeword k α), x 0CodingTheory.Codeword.weight (Matrix.mulVec G x) d}).card 1