Documentation

MIPRE.Tailored.Sofic.Measure.Lower

The sofic value is approximable from below (Main Theorem I (1)) #

Paper I, Main Theorem I clause (1) (I:592) and its proof (I:1148–1168): enumerate the finite actions and take the running maximum of their values.

A finite action is coded by (N, P), P the list of the rows [σ_i(0), …, σ_i(N − 1)] of its permutations (ActCode). ValidC s c is the decidable condition that a code is one (each row a list of length N with entries below N and every point below N among them), decodeAct reads off the action, and codeOf writes one down. On codes the value is a ratio of naturals (value_eq_numC), the action of a word being computed letter by letter (applyWord, the inverse of a row by List.idxOf).

The approximation is dyadic: lowerSeq T t / 2^t is the largest value of the actions with code number at most t, rounded down to the grid of step 2^{-t}. It is primitive recursive (primrec_lowerSeq), non-decreasing, at most the sofic value, and tends to it (mainTheoremI_one).

Codes of finite actions #

@[reducible, inline]

A code of a finite action: the number of points and the rows of the permutations.

Equations
Instances For

    A letter acting on a point through the rows P; letters beyond the rows act as the identity, an inverted letter by the position of the point in its row.

    Equations
    Instances For

      A word acting on a point, its last letter first, as in FiniteAction.wordPerm.

      Equations
      Instances For

        The literal (i, b) at the point y.

        Equations
        Instances For

          The point y passes the challenge (K, cl).

          Equations
          Instances For

            The number of points passing a challenge.

            Equations
            Instances For

              The weighted number of passing points, the numerator of the value.

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

                A code is the code of a finite action on s generators.

                Equations
                Instances For

                  The code c represents the action σ.

                  Instances For
                    theorem MIPRE.Tailored.Sofic.Measure.Represents.mem_row {s : ℕ} {σ : SubgroupTestValue.FiniteAction s} {c : ActCode} (h : Represents σ c) {i : ℕ} (hi : i < s) (y : Fin σ.N) :
                    ↑y ∈ c.2.getD i []
                    theorem MIPRE.Tailored.Sofic.Measure.Represents.litC_eq {s : ℕ} {σ : SubgroupTestValue.FiniteAction s} {c : ActCode} (h : Represents σ c) (K : List SubgroupTestValue.Word) (y : Fin σ.N) (lit : ℕ × Bool) :
                    litC c.2 K (↑y) lit = decide (σ.LitHolds K y lit)
                    theorem MIPRE.Tailored.Sofic.Measure.list_sum_map_div {ι : Type u_1} (l : List ι) (f : ι → ℝ) (a : ℝ) :
                    (List.map (fun (i : ι) => f i / a) l).sum = (List.map f l).sum / a

                    On a code the value is a ratio of naturals.

                    theorem MIPRE.Tailored.Sofic.Measure.ValidC.row {s : ℕ} {c : ActCode} (h : ValidC s c) {i : ℕ} (hi : i < s) :
                    (c.2.getD i []).length = c.1 ∧ (∀ v ∈ c.2.getD i [], v < c.1) ∧ ∀ y < c.1, y ∈ c.2.getD i []

                    The row i of a valid code.

                    theorem MIPRE.Tailored.Sofic.Measure.ValidC.getD_lt {s : ℕ} {c : ActCode} (h : ValidC s c) {i : ℕ} (hi : i < s) {x : ℕ} (hx : x < c.1) :
                    (c.2.getD i []).getD x 0 < c.1
                    def MIPRE.Tailored.Sofic.Measure.rowFun {s : ℕ} {c : ActCode} (h : ValidC s c) (i : Fin s) (x : Fin c.1) :
                    Fin c.1

                    The map of the row i of a valid code.

                    Equations
                    Instances For

                      The action of a valid code.

                      Equations
                      Instances For

                        The code of a finite action.

                        Equations
                        Instances For

                          The lower approximation #

                          The value of a code rounded down to the grid of step 2^{-t}, as a numerator; 0 for an invalid code.

                          Equations
                          Instances For

                            The lower approximation at stage t: the numerator over 2^t of the largest rounded value of the codes numbered at most t.

                            Equations
                            Instances For
                              noncomputable def MIPRE.Tailored.Sofic.Measure.dyadic (n t : ℕ) :

                              The dyadic number n / 2^t.

                              Equations
                              Instances For
                                theorem MIPRE.Tailored.Sofic.Measure.floor_bounds (a b t : ℕ) :
                                dyadic (2 ^ t * a / b) t ≤ ↑a / ↑b ∧ ↑a / ↑b - 1 / 2 ^ t ≤ dyadic (2 ^ t * a / b) t

                                Rounding down to the grid.