Documentation

MIPRE.Foundations.CL.Closure

Closure properties of conditionally linear functions, and CL distributions #

Paper linear.tex: concatenation (lem:cl-concat) and direct sums (lem:cl-func-prod) of conditionally linear functions, and the conditionally linear distribution of a pair of CL functions (def:cl-dist); blueprint def:cl-function and lem:cl-closure, ledger node 1.1.2.

Both constructions are on presentations (MIPRE.CL.CLFun) and are hypothesis-free; the hypotheses of the paper's lemmas — the pieces live on disjoint register subspaces — enter only in the evaluation lemmas (SupportedOn.eval_concat, SupportedOn.eval_directSum), which say that the constructions present the functions the paper writes down, and in the support lemmas. The paper's statements about functions follow as IsCLFun.concat and IsCLFun.directSum.

The paper's third closure property, downsizing to 𝔽₂ (lem:cl-downsize), needs the self-dual bases of blueprint lem:self-dual-basis and is not here.

Concatenation (lem:cl-concat) #

def MIPRE.CL.CLFun.concat {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ k : ℕ} :
CLFun F ι k → ((ι → F) → CLFun F ι ℓ) → CLFun F ι (ℓ + k)

The concatenation of L (level k) with the family R (level ℓ): run L, then the R_u selected by its output u. The paper's T(x) = L(x^U) + R_{L(x^U)}(x^V); here U and V are the supports of the two sides (SupportedOn.eval_concat).

Equations
Instances For
    @[simp]
    theorem MIPRE.CL.CLFun.concat_zero {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ : ℕ} (R : (ι → F) → CLFun F ι ℓ) :
    zero.concat R = R 0
    @[simp]
    theorem MIPRE.CL.CLFun.concat_cons {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {k ℓ : ℕ} {S : Finset ι} (L₁ : RegLinear F S) (next : (ι → F) → CLFun F ι k) (R : (ι → F) → CLFun F ι ℓ) :
    (cons S L₁ next).concat R = cons S L₁ fun (v : ι → F) => (next v).concat fun (w : ι → F) => R (v + w)
    theorem MIPRE.CL.CLFun.SupportedOn.concat {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {k ℓ : ℕ} {L : CLFun F ι k} {R : (ι → F) → CLFun F ι ℓ} {U W : Finset ι} (hL : L.SupportedOn U) (hR : ∀ (u : ι → F), (R u).SupportedOn W) (hUW : Disjoint U W) :
    (L.concat R).SupportedOn (U ∪ W)
    theorem MIPRE.CL.CLFun.ExactlyOn.concat {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {k ℓ : ℕ} {L : CLFun F ι k} {R : (ι → F) → CLFun F ι ℓ} {U W : Finset ι} (hL : L.ExactlyOn U) (hR : ∀ (u : ι → F), (R u).ExactlyOn W) (hUW : Disjoint U W) :
    (L.concat R).ExactlyOn (U ∪ W)

    Direct sums (lem:cl-func-prod) #

    def MIPRE.CL.CLFun.directSum {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ : ℕ} :
    CLFun F ι ℓ → CLFun F ι ℓ → CLFun F ι ℓ

    The direct sum of two presentations of the same level (lem:cl-func-prod, two summands; liftN pads to a common level): stage by stage, the register subspaces are joined and the continuations run side by side, each selected by its own component of the joint output.

    Equations
    Instances For
      @[simp]
      theorem MIPRE.CL.CLFun.directSum_cons {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ : ℕ} {S S' : Finset ι} (L₁ : RegLinear F S) (L₁' : RegLinear F S') (next next' : (ι → F) → CLFun F ι ℓ) :
      (cons S L₁ next).directSum (cons S' L₁' next') = cons (S ∪ S') (L₁.directSum L₁') fun (v : ι → F) => (next ((proj S) v)).directSum (next' ((proj S') v))
      theorem MIPRE.CL.CLFun.union_sdiff_union {ι : Type v} [DecidableEq ι] {S S' T T' : Finset ι} (hS : S ⊆ T) (hS' : S' ⊆ T') (hTT' : Disjoint T T') :
      (T ∪ T') \ (S ∪ S') = T \ S ∪ T' \ S'

      The remainders of a direct sum of presentations on disjoint V_T, V_{T'}.

      theorem MIPRE.CL.CLFun.SupportedOn.directSum {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ : ℕ} {P Q : CLFun F ι ℓ} {T T' : Finset ι} (hP : P.SupportedOn T) (hQ : Q.SupportedOn T') (hTT' : Disjoint T T') :
      theorem MIPRE.CL.CLFun.ExactlyOn.directSum {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ : ℕ} {P Q : CLFun F ι ℓ} {T T' : Finset ι} (hP : P.ExactlyOn T) (hQ : Q.ExactlyOn T') (hTT' : Disjoint T T') :
      (P.directSum Q).ExactlyOn (T ∪ T')

      Evaluation #

      theorem MIPRE.CL.CLFun.SupportedOn.eval_concat {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {k ℓ : ℕ} [Fintype ι] {L : CLFun F ι k} {R : (ι → F) → CLFun F ι ℓ} {U W : Finset ι} (hL : L.SupportedOn U) (hR : ∀ (u : ι → F), (R u).SupportedOn W) (hUW : Disjoint U W) (x : ι → F) :
      (L.concat R).eval x = L.eval x + (R (L.eval x)).eval x

      The concatenation presents x ↦ L(x) + R_{L(x)}(x), when L is on V_U, the R_u on V_W, and U, W are disjoint.

      theorem MIPRE.CL.CLFun.SupportedOn.eval_directSum {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] {ℓ : ℕ} [Fintype ι] {P Q : CLFun F ι ℓ} {T T' : Finset ι} (hP : P.SupportedOn T) (hQ : Q.SupportedOn T') (hTT' : Disjoint T T') (x : ι → F) :
      (P.directSum Q).eval x = P.eval x + Q.eval x

      The direct sum presents the sum of the two functions, when they are on disjoint register subspaces.

      The paper's statements #

      theorem MIPRE.CL.IsCLFun.concat {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] [Fintype ι] {k ℓ : ℕ} {U W : Finset ι} {f : (ι → F) → ι → F} {g : (ι → F) → (ι → F) → ι → F} (hf : IsCLFun k U f) (hg : ∀ (u : ι → F), IsCLFun ℓ W (g u)) (hUW : Disjoint U W) :
      IsCLFun (ℓ + k) (U ∪ W) fun (x : ι → F) => f x + g (f x) x

      lem:cl-concat: if f is a k-level CL function on V_U and each g u an ℓ-level one on V_W, U and W disjoint, then x ↦ f x + g (f x) x is a (k + ℓ)-level CL function on V_{U ∪ W}.

      theorem MIPRE.CL.IsCLFun.directSum {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] [Fintype ι] {ℓ : ℕ} {T T' : Finset ι} {f g : (ι → F) → ι → F} (hf : IsCLFun ℓ T f) (hg : IsCLFun ℓ T' g) (hTT' : Disjoint T T') :
      IsCLFun ℓ (T ∪ T') (f + g)

      lem:cl-func-prod, two summands of the same level: the sum of an ℓ-level CL function on V_T and one on V_{T'}, T and T' disjoint, is an ℓ-level CL function on V_{T ∪ T'}.

      theorem MIPRE.CL.IsCLFun.directSum' {F : Type u} [Semiring F] {ι : Type v} [DecidableEq ι] [Fintype ι] {k ℓ : ℕ} {T T' : Finset ι} {f g : (ι → F) → ι → F} (hf : IsCLFun k T f) (hg : IsCLFun ℓ T' g) (hTT' : Disjoint T T') :
      IsCLFun (max k ℓ) (T ∪ T') (f + g)

      lem:cl-func-prod with summands of different levels: the sum is CL of level the maximum.

      Conditionally linear distributions (def:cl-dist) #

      noncomputable def MIPRE.CL.clDist {F : Type u} [Fintype F] [DecidableEq F] {ι : Type v} [DecidableEq ι] [Fintype ι] (L R : (ι → F) → ι → F) (a b : ι → F) :

      The conditionally linear distribution of a pair of functions (def:cl-dist): the law of (L x, R x) for x uniform in F^ι, as a real-valued probability mass function on pairs, the format of the question distribution of a MIPRE.Game.

      Equations
      Instances For
        theorem MIPRE.CL.clDist_nonneg {F : Type u} [Fintype F] [DecidableEq F] {ι : Type v} [DecidableEq ι] [Fintype ι] (L R : (ι → F) → ι → F) (a b : ι → F) :
        0 ≤ clDist L R a b
        theorem MIPRE.CL.sum_clDist {F : Type u} [Fintype F] [DecidableEq F] {ι : Type v} [DecidableEq ι] [Fintype ι] [Nonempty F] (L R : (ι → F) → ι → F) :
        ∑ a : ι → F, ∑ b : ι → F, clDist L R a b = 1