7.7. カーネル積分
可測空間 X に対して、\Measure(X) に
\left\{
\mu \in \Measure(X) \mid \mu(A) \in B
\right\}
で生成される σ-代数を入れることで、\Measure(X) を可測空間とみなす。
ただし A \subseteq X は可測、B \subseteq [0,\infty] は可測とする。
特に、任意の可測集合 A \subseteq X に対して評価写像
\mu \mapsto \mu(A)
は可測である。
Lean code
inductive Measure.MeasurableGen (X : Type*) [MeasurableSpace X] : Set (Set (Measure X))
| proj (A : Set X) (hs : MeasurableSet A) (B : Set ℝ≥0∞) (hB : MeasurableSet B) :
Measure.MeasurableGen X ({μ | μ A ∈ B})instance Measure.instMeasurableSpace : MeasurableSpace (Measure X) :=
MeasurableSpace.generateFrom (Measure.MeasurableGen X)theorem Measure.measurable_coe {A : Set X} (hA : MeasurableSet A) :
Measurable fun μ : Measure X ↦ μ A :=
fun {B} hB ↦ MeasurableSpace.measurableSet_generateFrom (MeasurableGen.proj A hA B hB)
写像 \mu : X \to \Measure(Y) が可測であることを示すには、任意の可測集合
A \subseteq Y に対してスカラー値写像
x \mapsto \mu(x)(A)
が可測であることを示せば十分である。
Lean code
theorem measurable_of_measurable_coe (μ : X → Measure Y)
(h : ∀ (s : Set Y), MeasurableSet s → Measurable fun x ↦ μ x s) : Measurable μ := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) s⊢ Measurable μ
intro s X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss:Set (Measure Y)hs:MeasurableSet s⊢ MeasurableSet (μ ⁻¹' s)
induction hs with
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss✝:Set (Measure Y)s:Set (Measure Y)hs:s ∈ Measure.MeasurableGen Y⊢ MeasurableSet (μ ⁻¹' s)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss✝:Set (Measure Y)s:Set Yhs:MeasurableSet st:Set ℝ≥0∞ht:MeasurableSet t⊢ MeasurableSet (μ ⁻¹' {μ | μ s ∈ t})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss✝:Set (Measure Y)s:Set Yhs:MeasurableSet st:Set ℝ≥0∞ht:MeasurableSet t⊢ Measurable fun a => (μ a) s ∈ t
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss:Set (Measure Y)⊢ MeasurableSet (μ ⁻¹' ∅) All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss✝:Set (Measure Y)s:Set (Measure Y)hs:MeasurableSpace.GenerateMeasurable (Measure.MeasurableGen Y) sih:MeasurableSet (μ ⁻¹' s)⊢ MeasurableSet (μ ⁻¹' sᶜ)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss✝:Set (Measure Y)s:Set (Measure Y)hs:MeasurableSpace.GenerateMeasurable (Measure.MeasurableGen Y) sih:MeasurableSet (μ ⁻¹' s)⊢ MeasurableSet (μ ⁻¹' s)ᶜ
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss:Set (Measure Y)A:ℕ → Set (Measure Y)hAd:∀ (n : ℕ), MeasurableSpace.GenerateMeasurable (Measure.MeasurableGen Y) (A n)ihA:∀ (n : ℕ), MeasurableSet (μ ⁻¹' A n)⊢ MeasurableSet (μ ⁻¹' ⋃ i, A i)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yμ:X → Measure Yh:∀ (s : Set Y), MeasurableSet s → Measurable fun x => (μ x) ss:Set (Measure Y)A:ℕ → Set (Measure Y)hAd:∀ (n : ℕ), MeasurableSpace.GenerateMeasurable (Measure.MeasurableGen Y) (A n)ihA:∀ (n : ℕ), MeasurableSet (μ ⁻¹' A n)⊢ MeasurableSet (⋃ i, μ ⁻¹' A i)
All goals completed! 🐙
f : X \to [0,\infty] が可測ならば、写像
\mu \mapsto \underline{\int}_{x \in X} f(x)\,d\mu
は \Measure(X) から [0,\infty] への可測写像である。
Lean code
@[fun_prop]
theorem Measure.measurable_lintegral {f : X → ℝ≥0∞} (hf : Measurable f) :
Measurable fun μ : Measure X ↦ ∫⁻ x, f x ∂μ := X:Type u_1inst✝:MeasurableSpace Xf:X → ℝ≥0∞hf:Measurable f⊢ Measurable fun μ => ∫⁻ (x : X), f x ∂μ
X:Type u_1inst✝:MeasurableSpace Xf:X → ℝ≥0∞hf:Measurable f⊢ Measurable fun μ => ⨆ n, ∑ x ∈ (SimpleFunc.eapprox f n).range, x * μ (⇑(SimpleFunc.eapprox f n) ⁻¹' {x})
X:Type u_1inst✝:MeasurableSpace Xf:X → ℝ≥0∞hf:Measurable fn:ℕi:ℝ≥0∞x✝:i ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun μ => i * μ (⇑(SimpleFunc.eapprox f n) ⁻¹' {i})
X:Type u_1inst✝:MeasurableSpace Xf:X → ℝ≥0∞hf:Measurable fn:ℕi:ℝ≥0∞x✝:i ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun μ => μ (⇑(SimpleFunc.eapprox f n) ⁻¹' {i})
All goals completed! 🐙
X と Y を可測空間とし、
\nu : X \to \Measure(Y) を可測写像とする。
X 上の測度 \mu に対して、Y 上の測度
\mathcal{K}_{\nu}(\mu) を、可測集合 A \subseteq Y に対して
\mathcal{K}_{\nu}(\mu)(A)
\coloneqq
\underline{\int}_{x \in X} \nu_x(A)\,d\mu
で定める。
Lean code
open Classical in
def Measure.bind (f : X → Measure Y) (μ : Measure X) : Measure Y :=
if hf : Measurable f then
Measure.ofMeasurable (fun A _ ↦ ∫⁻ x, f x A ∂μ) (X:Type u_1Y:Type u_2Z:Type u_3inst✝²:MeasurableSpace Xinst✝¹:MeasurableSpace Yinst✝:MeasurableSpace Zf:X → Measure Yμ:Measure Xhf:Measurable f⊢ (fun A x => ∫⁻ (x : X), (f x) A ∂μ) ∅ ⋯ = 0 All goals completed! 🐙) <| fun A hA hAd ↦
calc
∫⁻ (x : X), (f x) (⋃ i, A i) ∂μ
_ = ∫⁻ (x : X), ∑' (i : ℕ), (f x) (A i) ∂μ :=
lintegral_congr (fun x ↦ measure_iUnion hAd hA)
_ = ∑' (i : ℕ), ∫⁻ (x : X), (f x) (A i) ∂μ :=
lintegral_tsum (fun n ↦ ((measurable_coe (hA n)).comp hf).aemeasurable)
else 0@[simp]
theorem Measure.bind_apply (f : X → Measure Y) (hf : Measurable f) (μ : Measure X) (A : Set Y)
(hA : MeasurableSet A) :
bind f μ A = ∫⁻ x, f x A ∂μ := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yf:X → Measure Yhf:Measurable fμ:Measure XA:Set YhA:MeasurableSet A⊢ (bind f μ) A = ∫⁻ (x : X), (f x) A ∂μ
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Yf:X → Measure Yhf:Measurable fμ:Measure XA:Set YhA:MeasurableSet A⊢ (Measure.ofMeasurable (fun A x => ∫⁻ (x : X), (f x) A ∂μ) ⋯ ⋯) A = ∫⁻ (x : X), (f x) A ∂μ
All goals completed! 🐙
f : Y \to [0,\infty] を可測とする。
このとき
\underline{\int}_{y \in Y} f(y)\,d(\mathcal{K}_{\nu}(\mu))
=
\underline{\int}_{x \in X}
\underline{\int}_{y \in Y} f(y)\,d\nu_x\,d\mu.
が成り立つ。
Lean code
theorem lintegral_bind {m : Measure X} {μ : X → Measure Y} {f : Y → ℝ≥0∞} (hμ : Measurable μ)
(hf : Measurable f) : ∫⁻ y, f y ∂Measure.bind μ m = ∫⁻ x, ∫⁻ y, f y ∂μ x ∂m := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∫⁻ (y : Y), f y ∂Measure.bind μ m = ∫⁻ (x : X), ∫⁻ (y : Y), f y ∂μ x ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, (SimpleFunc.eapprox f n).lintegral (Measure.bind μ m) = ∫⁻ (x : X), ∫⁻ (y : Y), f y ∂μ x ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∑ x ∈ (SimpleFunc.eapprox f n).range, x * (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {x}) =
∫⁻ (x : X), ∫⁻ (y : Y), f y ∂μ x ∂m
calc
⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range,
a * (Measure.bind μ m) ((SimpleFunc.eapprox f n) ⁻¹' {a})
_ = ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range,
a * (∫⁻ x, μ x ((SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ (fun n => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = fun n =>
∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ (fun a => a * (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = fun a =>
a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞⊢ a * (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞⊢ (Measure.bind μ m) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) = ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞⊢ MeasurableSet (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
All goals completed! 🐙
_ = ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range,
(∫⁻ x, a * μ x ((SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ (fun n => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) = fun n =>
∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ ∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ (fun a => a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) = fun a =>
∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞⊢ a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞⊢ Measurable fun a_1 => (μ a_1) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
have : (fun x ↦ (μ x) ((SimpleFunc.eapprox f n) ⁻¹' {a})) =
((fun ν : Measure Y ↦ ν ((SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * ∫⁻ (x : X), (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞this:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ Measurable ((fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞this:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ Measurable fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞this:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ MeasurableSet (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
All goals completed! 🐙
_ = ⨆ n, (∫⁻ x, ∑ a ∈ (SimpleFunc.eapprox f n).range,
a * μ x ((SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
⨆ n, ∫⁻ (x : X), ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ (fun n => ∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) = fun n =>
∫⁻ (x : X), ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ ∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
∫⁻ (x : X), ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ ∀ b ∈ (SimpleFunc.eapprox f n).range, AEMeasurable (fun x => b * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {b})) m
intro a X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ AEMeasurable (fun x => a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => aX:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => a All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) have : (fun x ↦ (μ x) ((SimpleFunc.eapprox f n) ⁻¹' {a})) =
((fun ν : Measure Y ↦ ν ((SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, ∫⁻ (x : X), a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
⨆ n, ∫⁻ (x : X), ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).rangethis:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ Measurable ((fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).rangethis:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ Measurable fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).rangethis:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ MeasurableSet (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
All goals completed! 🐙
_ = (∫⁻ x, ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range,
a * μ x ((SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∫⁻ (x : X), ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
∫⁻ (x : X), ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∀ (n : ℕ), AEMeasurable (fun x => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) mX:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∀ᵐ (x : X) ∂m, Monotone fun n => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∀ (n : ℕ), AEMeasurable (fun x => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) m X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ AEMeasurable (fun x => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ Measurable fun x => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕ⊢ ∀ i ∈ (SimpleFunc.eapprox f n).range, Measurable fun x => i * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {i})
intro a X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).range⊢ Measurable fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
have : (fun x ↦ (μ x) ((SimpleFunc.eapprox f n) ⁻¹' {a})) =
((fun ν : Measure Y ↦ ν ((SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ) := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ⨆ n, ∫⁻ (x : X), ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
∫⁻ (x : X), ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).rangethis:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ Measurable ((fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).rangethis:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ Measurable fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fn:ℕa:ℝ≥0∞ha:a ∈ (SimpleFunc.eapprox f n).rangethis:(fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = (fun ν => ν (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) ∘ μ := Eq.refl fun x => (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})⊢ MeasurableSet (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∀ᵐ (x : X) ∂m, Monotone fun n => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) filter_upwards with a X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕ⊢ ∀ ⦃b : ℕ⦄,
i ≤ b →
(fun n => ∑ a_2 ∈ (SimpleFunc.eapprox f n).range, a_2 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_2})) i ≤
(fun n => ∑ a_2 ∈ (SimpleFunc.eapprox f n).range, a_2 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_2})) b X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕj:ℕ⊢ i ≤ j →
(fun n => ∑ a_2 ∈ (SimpleFunc.eapprox f n).range, a_2 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_2})) i ≤
(fun n => ∑ a_2 ∈ (SimpleFunc.eapprox f n).range, a_2 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_2})) j X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕj:ℕhij:i ≤ j⊢ (fun n => ∑ a_1 ∈ (SimpleFunc.eapprox f n).range, a_1 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_1})) i ≤
(fun n => ∑ a_1 ∈ (SimpleFunc.eapprox f n).range, a_1 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_1})) j
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕj:ℕhij:i ≤ j⊢ ∑ a_1 ∈ (SimpleFunc.eapprox f i).range, a_1 * (μ a) (⇑(SimpleFunc.eapprox f i) ⁻¹' {a_1}) ≤
∑ a_1 ∈ (SimpleFunc.eapprox f j).range, a_1 * (μ a) (⇑(SimpleFunc.eapprox f j) ⁻¹' {a_1})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕj:ℕhij:i ≤ j⊢ (SimpleFunc.eapprox f i).lintegral (μ a) ≤
∑ a_1 ∈ (SimpleFunc.eapprox f j).range, a_1 * (μ a) (⇑(SimpleFunc.eapprox f j) ⁻¹' {a_1})
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕj:ℕhij:i ≤ j⊢ (SimpleFunc.eapprox f i).lintegral (μ a) ≤ (SimpleFunc.eapprox f j).lintegral (μ a)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fa:Xi:ℕj:ℕhij:i ≤ j⊢ SimpleFunc.eapprox f i ≤ SimpleFunc.eapprox f j
All goals completed! 🐙
_ = ∫⁻ (a : X), ∫⁻ (x : Y), f x ∂μ a ∂m := X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∫⁻ (x : X), ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) ∂m =
∫⁻ (a : X), ∫⁻ (x : Y), f x ∂μ a ∂m
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable f⊢ ∀ (a : X),
⨆ n, ∑ a_1 ∈ (SimpleFunc.eapprox f n).range, a_1 * (μ a) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a_1}) = ∫⁻ (x : Y), f x ∂μ a
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) = ∫⁻ (x : Y), f x ∂μ x
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
∫⁻ (x : Y), ⨆ n, (SimpleFunc.eapprox f n) x ∂μ x
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
⨆ n, ∫⁻ (a : Y), (SimpleFunc.eapprox f n) a ∂μ xX:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ ∀ (n : ℕ), Measurable ⇑(SimpleFunc.eapprox f n)X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ Monotone fun n => ⇑(SimpleFunc.eapprox f n)
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ ⨆ n, ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
⨆ n, ∫⁻ (a : Y), (SimpleFunc.eapprox f n) a ∂μ x X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ (fun n => ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a})) = fun n =>
∫⁻ (a : Y), (SimpleFunc.eapprox f n) a ∂μ x
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:Xn:ℕ⊢ ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
∫⁻ (a : Y), (SimpleFunc.eapprox f n) a ∂μ x
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:Xn:ℕ⊢ ∑ a ∈ (SimpleFunc.eapprox f n).range, a * (μ x) (⇑(SimpleFunc.eapprox f n) ⁻¹' {a}) =
(SimpleFunc.eapprox f n).lintegral (μ x)
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ ∀ (n : ℕ), Measurable ⇑(SimpleFunc.eapprox f n) X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:Xn:ℕ⊢ Measurable ⇑(SimpleFunc.eapprox f n)
All goals completed! 🐙
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:X⊢ Monotone fun n => ⇑(SimpleFunc.eapprox f n) intro i X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:Xi:ℕj:ℕ⊢ i ≤ j → (fun n => ⇑(SimpleFunc.eapprox f n)) i ≤ (fun n => ⇑(SimpleFunc.eapprox f n)) j X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:Xi:ℕj:ℕhij:i ≤ j⊢ (fun n => ⇑(SimpleFunc.eapprox f n)) i ≤ (fun n => ⇑(SimpleFunc.eapprox f n)) j
X:Type u_1Y:Type u_2inst✝¹:MeasurableSpace Xinst✝:MeasurableSpace Ym:Measure Xμ:X → Measure Yf:Y → ℝ≥0∞hμ:Measurable μhf:Measurable fx:Xi:ℕj:ℕhij:i ≤ j⊢ ⇑(SimpleFunc.eapprox f i) ≤ ⇑(SimpleFunc.eapprox f j)
All goals completed! 🐙