Documentation

MIPRE.Foundations.CL.DetypingQueries

Query routing for the detyped CL presentation #

The semantic specification of all branches of types.tex, def:detyped-sampler. The level indices of factor and linear queries are zero based, as in CLFun. These are equalities of the actual presentations' queries, not extra assumptions on a future sampler program.

theorem MIPRE.CL.CLFun.truncate_concat_add {F : Type u_1} {ι : Type u_2} [Semiring F] [DecidableEq ι] {k ℓ : ℕ} (L : CLFun F ι k) (R : (ι → F) → CLFun F ι ℓ) (j : ℕ) :
truncate (j + k) (L.concat R) = L.concat fun (u : ι → F) => truncate j (R u)

Truncation after concatenation keeps the full first part and truncates the second.

theorem MIPRE.CL.CLFun.truncate_concat_le {F : Type u_1} {ι : Type u_2} [Semiring F] [DecidableEq ι] {k ℓ : ℕ} (L : CLFun F ι k) (R : (ι → F) → CLFun F ι ℓ) (j : ℕ) (hj : j ≤ k) :

Truncation inside the first part never visits a concatenation's continuation.

Expanding the first two levels exposes the exact prefix used for type selection.

theorem MIPRE.CL.Detyping.marginal_graph {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (j : ℕ) (hj : j ≤ 2) (x : Coord T ι → ZMod 2) :

Marginals through level two are precisely graph marginals with zero content.

theorem MIPRE.CL.Detyping.marginal_content {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (hP : ∀ (t : T), (P t).ExactlyOn Finset.univ) (hℓ : 0 < ℓ) (j : ℕ) (x : Coord T ι → ZMod 2) :

Later marginals pair the full graph question with the selected content marginal.

theorem MIPRE.CL.Detyping.factor_first {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (x : Coord T ι → ZMod 2) :

The first factor is the player's own two graph blocks.

theorem MIPRE.CL.Detyping.factor_second {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (x : Coord T ι → ZMod 2) :

The second factor is the entire opposite pair of graph blocks.

theorem MIPRE.CL.Detyping.factor_content {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (j : ℕ) (x : Coord T ι → ZMod 2) :

Later factors are exactly the selected content factors, read from the content prefix.

theorem MIPRE.CL.Detyping.linear_first {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (x y : Coord T ι → ZMod 2) :

The first linear query copies the player's own graph blocks.

theorem MIPRE.CL.Detyping.linear_second {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (x y : Coord T ι → ZMod 2) :

The second linear query keeps the neighbor bit selected by the graph prefix.

theorem MIPRE.CL.Detyping.linear_content {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (E : T → T → Prop) [DecidableRel E] (w : Bool) (P : T → CLFun (ZMod 2) ι ℓ) (j : ℕ) (x y : Coord T ι → ZMod 2) :

Later linear queries are exactly the selected typed queries, with zero graph output.