Documentation

MIPRE.Foundations.Introspection.AdaptiveResidual

The actual CL continuation on the unvisited registers #

The residual presentation follows a claimed output, including an off-image one. It acts only on the complement of the registers already visited. The next local map and register are computed from the original presentation.

def MIPRE.Introspection.CLChecks.residual {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} :
CL.CLFun F ι ℓ → (k : ℕ) → (ι → F) → CL.CLFun F ι (residualDepth k ℓ)

Continue after k reported components; the remaining depth is ℓ-k.

Equations
Instances For
    @[simp]
    theorem MIPRE.Introspection.CLChecks.residual_zero {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (P : CL.CLFun F ι ℓ) (y : ι → F) :
    residual P 0 y = P
    theorem MIPRE.Introspection.CLChecks.residual_supported {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.SupportedOn T) (k : ℕ) (y : ι → F) :

    Every continuation acts only on the coordinates that have not been read.

    theorem MIPRE.Introspection.CLChecks.residual_exactlyOn {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.ExactlyOn T) (k : ℕ) (hk : k ≤ ℓ) (y : ι → F) :

    Exact partitioning also survives passing to a continuation.

    theorem MIPRE.Introspection.CLChecks.residual_firstFactor {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (P : CL.CLFun F ι ℓ) (k : ℕ) (y : ι → F) :

    The first register of the continuation is the original next register.

    def MIPRE.Introspection.CLChecks.stageLinear {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (P : CL.CLFun F ι ℓ) (k : ℕ) (y : ι → F) :

    The local linear map at a claimed prefix, with its actual finite-set support.

    Equations
    Instances For
      theorem MIPRE.Introspection.CLChecks.stageLinear_toLinearMap {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (P : CL.CLFun F ι ℓ) (k : ℕ) (y : ι → F) :
      theorem MIPRE.Introspection.CLChecks.factorOfPrefix_subset_support {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.SupportedOn T) (k : ℕ) (y : ι → F) :
      P.factorOfPrefix k y ⊆ T
      theorem MIPRE.Introspection.CLChecks.stageFactor_subset_residual {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.SupportedOn T) (k : ℕ) (y : ι → F) :
      P.factorOfPrefix k y ⊆ T \ prefixRegister P k y

      This is the minimal residual support required by the product induction.

      theorem MIPRE.Introspection.CLChecks.prefixRegister_step {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (P : CL.CLFun F ι ℓ) (k : ℕ) (y : ι → F) :

      Passing one stage adds exactly its selected register to the prefix.

      theorem MIPRE.Introspection.CLChecks.residualRegister_step {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} (P : CL.CLFun F ι ℓ) (T : Finset ι) (k : ℕ) (y : ι → F) :
      (T \ prefixRegister P k y) \ P.factorOfPrefix k y = T \ prefixRegister P (k + 1) y

      Mixing removes precisely the current factor, giving the next residual register.

      theorem MIPRE.Introspection.CLChecks.stageFactor_congr {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.SupportedOn T) (k : ℕ) {y z : ι → F} (h : P.outputPrefix k y = P.outputPrefix k z) :

      Every next factor is determined by the already reported prefix.

      theorem MIPRE.Introspection.CLChecks.truncate_eval_step {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.SupportedOn T) (k : ℕ) (x : ι → F) :

      Adding the selected next linear answer advances the actual sampler prefix.

      theorem MIPRE.Introspection.CLChecks.coordinateRestrict_proj {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {U V : Finset ι} (hUV : U ⊆ V) (x : ι → F) :
      theorem MIPRE.Introspection.CLChecks.dualReadout_stageLinear {F : Type u_1} {ι : Type u_2} [Field F] [Fintype ι] [DecidableEq ι] {ℓ : ℕ} {P : CL.CLFun F ι ℓ} {T : Finset ι} (hP : P.SupportedOn T) (k : ℕ) (y x : ι → F) :

      The recursive dual answer is exactly the selected coordinate linear readout, transported back into the original register.