The upper approximation is primitive recursive #
primrec_upperSeq: the numerators upperSeq T t of the upper approximation of the ergodic value
are a primitive recursive function of the test and the stage — the polytope optimum over the grid
is a finite list computation (Lemma I:1105, with linear programming replaced by enumeration).
Each construction of Stage.lean is a composition of list operations; List.all, List.any
and List.sum are folds (primrec_all, primrec_any, primrec_sum_map), and List.zip is a
map over the indices (zip_eq_range).
Folds #
theorem
MIPRE.Tailored.Sofic.Measure.primrec_all
{α β : Type}
[Primcodable α]
[Primcodable β]
{L : α → List β}
{f : α → β → Bool}
(hL : Primrec L)
(hf : Primrec₂ f)
:
theorem
MIPRE.Tailored.Sofic.Measure.primrec_any
{α β : Type}
[Primcodable α]
[Primcodable β]
{L : α → List β}
{f : α → β → Bool}
(hL : Primrec L)
(hf : Primrec₂ f)
:
theorem
MIPRE.Tailored.Sofic.Measure.primrec_sum_map
{α β : Type}
[Primcodable α]
[Primcodable β]
{L : α → List β}
{f : α → β → ℕ}
(hL : Primrec L)
(hf : Primrec₂ f)
:
theorem
MIPRE.Tailored.Sofic.Measure.primrec_zip
{α β : Type}
[Primcodable α]
[Primcodable β]
[Inhabited α]
[Inhabited β]
:
Words #
@[reducible, inline]
The arguments (T, t).
Instances For
Patterns #
theorem
MIPRE.Tailored.Sofic.Measure.primrec_extW :
Primrec fun (x : List SubgroupTestValue.Word × List Bool × SubgroupTestValue.Word) => extW x.1 x.2.1 x.2.2
theorem
MIPRE.Tailored.Sofic.Measure.primrec_extW'
{γ : Type}
[Primcodable γ]
{W : γ → List SubgroupTestValue.Word}
{p : γ → List Bool}
{u : γ → SubgroupTestValue.Word}
(hW : Primrec W)
(hp : Primrec p)
(hu : Primrec u)
:
extW with its arguments given by primitive recursive functions.
@[reducible, inline]
The arguments (s, W, p) of goodP.
Equations
Instances For
Grid points #
@[reducible, inline]
The arguments ((T, t), g, n) of invErr.
Equations
Instances For
@[reducible, inline]
The arguments ((T, t), n).
Instances For
theorem
MIPRE.Tailored.Sofic.Measure.primrecRel_inv :
PrimrecRel fun (g : SubgroupTestValue.Letter) (x : NArgs) => invErr x.1.1 x.1.2 g x.2 ≤ 4 * stageP x.1.1 x.1.2
theorem
MIPRE.Tailored.Sofic.Measure.primrecPred_feas1 :
PrimrecPred fun (x : NArgs) => x.2.sum = stageM x.1.1 x.1.2
theorem
MIPRE.Tailored.Sofic.Measure.primrecPred_feasible :
PrimrecPred fun (x : NArgs) => Feasible x.1.1 x.1.2 x.2
The upper approximation is primitive recursive.