Theorem: MeasureTheory.Measure.LebesgueDecomposition.iSup_mem_measurableLE
File: Mathlib/MeasureTheory/Decomposition/Lebesgue.lean

tactic: induction' n with m hm
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
n : ℕ
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ n), f k x) ∈ measurableLE μ ν
state_after: case zero
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x) ∈ measurableLE μ ν

case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ m + 1), f k x) ∈ measurableLE μ ν

tactic: constructor
state_before: case zero
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x) ∈ measurableLE μ ν
state_after: case zero.left
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
⊢ Measurable fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x

case zero.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
⊢ ∀ (A : Set α), MeasurableSet A → ∫⁻ (x : α) in A, (fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x) x ∂μ ≤ ν A

tactic: simp [(hf 0).1]
state_before: case zero.left
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
⊢ Measurable fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x
state_after: no goals

tactic: intro A hA
state_before: case zero.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
⊢ ∀ (A : Set α), MeasurableSet A → ∫⁻ (x : α) in A, (fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x) x ∂μ ≤ ν A
state_after: case zero.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (x : α) in A, (fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x) x ∂μ ≤ ν A

tactic: simp [(hf 0).2 A hA]
state_before: case zero.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (x : α) in A, (fun x => ⨆ k, ⨆ (_ : k ≤ 0), f k x) x ∂μ ≤ ν A
state_after: no goals

tactic: have :
  (fun a : α ↦ ⨆ (k : ℕ) (_ : k ≤ m + 1), f k a) = fun a ↦
    f m.succ a ⊔ ⨆ (k : ℕ) (_ : k ≤ m), f k a :=
  funext fun _ ↦ iSup_succ_eq_sup _ _ _
state_before: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ m + 1), f k x) ∈ measurableLE μ ν
state_after: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
this : (fun a => ⨆ k, ⨆ (_ : k ≤ m + 1), f k a) = fun a => f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ m + 1), f k x) ∈ measurableLE μ ν

tactic: refine ⟨measurable_iSup fun n ↦ Measurable.iSup_Prop _ (hf n).1, fun A hA ↦ ?_⟩
state_before: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
this : (fun a => ⨆ k, ⨆ (_ : k ≤ m + 1), f k a) = fun a => f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a
⊢ (fun x => ⨆ k, ⨆ (_ : k ≤ m + 1), f k x) ∈ measurableLE μ ν
state_after: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
this : (fun a => ⨆ k, ⨆ (_ : k ≤ m + 1), f k a) = fun a => f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (x : α) in A, (fun x => ⨆ k, ⨆ (_ : k ≤ m + 1), f k x) x ∂μ ≤ ν A

tactic: rw [this]
state_before: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
this : (fun a => ⨆ k, ⨆ (_ : k ≤ m + 1), f k a) = fun a => f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (x : α) in A, (fun x => ⨆ k, ⨆ (_ : k ≤ m + 1), f k x) x ∂μ ≤ ν A
state_after: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
this : (fun a => ⨆ k, ⨆ (_ : k ≤ m + 1), f k a) = fun a => f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (a : α) in A, f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a ∂μ ≤ ν A

tactic: exact (sup_mem_measurableLE (hf m.succ) hm).2 A hA
state_before: case succ
α : Type u_1
β : Type u_2
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), f n ∈ measurableLE μ ν
m : ℕ
hm : (fun x => ⨆ k, ⨆ (_ : k ≤ m), f k x) ∈ measurableLE μ ν
this : (fun a => ⨆ k, ⨆ (_ : k ≤ m + 1), f k a) = fun a => f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (a : α) in A, f m.succ a ⊔ ⨆ k, ⨆ (_ : k ≤ m), f k a ∂μ ≤ ν A
state_after: no goals