Small Coproducts of Quasi-Borel Spaces #
This file defines small coproducts of quasi-borel spaces by giving a
QuasiBorelSpace instance for the Σ type.
See [HKSY17], Proposition 17.
structure
QuasiBorelSpace.Sigma.Var
(I : Type u_8)
(P : I → Type u_9)
[(i : I) → QuasiBorelSpace (P i)]
:
Type (max u_8 u_9)
Represents a variable for a Σ-type. Intuitively, a variable in Σi, P i is a
gluing of a countable number of variables, each in some P i.
- embed : ℕ → I
Each index represents some
I. Obtains the index of the underlying variable, given the intended input.
The family of variables.
Each variable is, in fact, a variable.
- measurable_index : Measurable self.index
The index function is measurable.
Instances For
@[simp]
theorem
QuasiBorelSpace.Sigma.Var.apply_mk
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{f : ℕ → I}
{i : ℝ → ℕ}
{φ : (i : ℕ) → ℝ → P (f i)}
{r : ℝ}
(hφ : ∀ (i : ℕ), IsHom (φ i))
(hi : Measurable i)
:
def
QuasiBorelSpace.Sigma.Var.mk'
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
(Index : Type u_8)
[Encodable Index]
(embed : Index → I)
(index : ℝ → Index)
(var : (i : Index) → ℝ → P (embed i))
(isHom_var : ∀ (i : Index), IsHom (var i))
(measurable_index : Measurable index)
:
Var I P
A Var can be constructed from any Encodable index type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
QuasiBorelSpace.Sigma.Var.apply_mk'
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{J : Type u_8}
[Encodable J]
{f : J → I}
{i : ℝ → J}
{φ : (i : J) → ℝ → P (f i)}
{r : ℝ}
(hφ : ∀ (i : J), IsHom (φ i))
(hi : Measurable i)
:
instance
QuasiBorelSpace.Sigma.Var.instCoeFunForallRealSigma
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
:
def
QuasiBorelSpace.Sigma.Var.const
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
(x : Sigma P)
:
Var I P
The constant variable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
QuasiBorelSpace.Sigma.Var.const_apply
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
(x : Sigma P)
(r : ℝ)
:
def
QuasiBorelSpace.Sigma.Var.comp
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{f : ℝ → ℝ}
(hf : Measurable f)
(x : Var I P)
:
Var I P
Composition under measurable functions.
Equations
Instances For
@[simp]
theorem
QuasiBorelSpace.Sigma.Var.comp_apply
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{f : ℝ → ℝ}
(hf : Measurable f)
(x : Var I P)
(r : ℝ)
:
def
QuasiBorelSpace.Sigma.Var.cases
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{ix : ℝ → ℕ}
(hix : Measurable ix)
(φ : ℕ → Var I P)
:
Var I P
Gluing of a countable number of variables.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
QuasiBorelSpace.Sigma.Var.cases_apply
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{ix : ℝ → ℕ}
(hix : Measurable ix)
(φ : ℕ → Var I P)
(r : ℝ)
:
def
QuasiBorelSpace.Sigma.Var.distrib
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{A : Type u_5}
[QuasiBorelSpace A]
{φ₁ : ℝ → A}
(hφ₁ : IsHom φ₁)
(φ₂ : Var I P)
:
Normal QuasiBorelSpace.Vars can be pushed 'inside' a Var.
Equations
Instances For
instance
QuasiBorelSpace.Sigma.instSigma
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
:
QuasiBorelSpace ((i : I) × P i)
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
QuasiBorelSpace.Sigma.isHom_mk
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
(i : I)
:
theorem
QuasiBorelSpace.Sigma.isHom_mk'
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{A : Type u_5}
[QuasiBorelSpace A]
{i : I}
{f : A → P i}
(hf : IsHom f)
:
theorem
QuasiBorelSpace.Sigma.isHom_elim
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{A : Type u_5}
[QuasiBorelSpace A]
{f : Sigma P → A}
(hf : ∀ (i : I), IsHom fun (x : P i) => f ⟨i, x⟩)
:
IsHom f
theorem
QuasiBorelSpace.Sigma.isHom_elim'
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{A : Type u_5}
{B : Type u_6}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
{f : (i : I) → P i → B}
(hf : ∀ (i : I), IsHom (f i))
{g : A → (i : I) × P i}
(hg : IsHom g)
:
@[simp]
theorem
QuasiBorelSpace.Sigma.isHom_fst
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
[QuasiBorelSpace I]
:
theorem
QuasiBorelSpace.Sigma.isHom_map
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
{J : Type u_3}
{Q : J → Type u_4}
[(j : J) → QuasiBorelSpace (Q j)]
{f : I → J}
{g : (i : I) → P i → Q (f i)}
(hg : ∀ (i : I), IsHom (g i))
:
instance
QuasiBorelSpace.Sigma.instMeasurableQuasiBorelSpaceSigmaOfCountable
{I : Type u_1}
{P : I → Type u_2}
[(i : I) → QuasiBorelSpace (P i)]
[Countable I]
[(i : I) → MeasurableSpace (P i)]
[∀ (i : I), MeasurableQuasiBorelSpace (P i)]
: