Theorem: MeasureTheory.lintegral_iSup'
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: simp_rw [← iSup_apply]
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
⊢ (∫⁻ (a : α), ⨆ (n : ℕ), f n a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: let p : α → (ℕ → ℝ≥0∞) → Prop := fun _ f' => Monotone f'
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
⊢ (∫⁻ (a : α), iSup (fun i => f i) a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: have hp : ∀ᵐ x ∂μ, p x fun i => f i x := h_mono
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
⊢ (∫⁻ (a : α), iSup (fun i => f i) a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: rw [lintegral_congr_ae (aeSeq.iSup hf hp).symm]
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
h_ae_seq_mono : Monotone (aeSeq hf p)
⊢ (∫⁻ (a : α), iSup (fun i => f i) a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: simp_rw [iSup_apply]
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
h_ae_seq_mono : Monotone (aeSeq hf p)
⊢ (∫⁻ (a : α), iSup (fun n => aeSeq hf (fun x => p x) n) a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: rw [@lintegral_iSup _ _ μ _ (aeSeq.measurable hf p) h_ae_seq_mono]
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
h_ae_seq_mono : Monotone (aeSeq hf p)
⊢ (∫⁻ (a : α), ⨆ (i : ℕ), aeSeq hf (fun x f' => Monotone f') i a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: congr
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
h_ae_seq_mono : Monotone (aeSeq hf p)
⊢ (⨆ (n : ℕ), ∫⁻ (a : α), aeSeq hf p n a ∂μ) = ⨆ (n : ℕ), ∫⁻ (a : α), f n a ∂μ

tactic: exact funext fun n => lintegral_congr_ae (aeSeq.aeSeq_n_eq_fun_n_ae hf hp n)
state_before: case e_s
α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
h_ae_seq_mono : Monotone (aeSeq hf p)
⊢ (fun n => ∫⁻ (a : α), aeSeq hf p n a ∂μ) = fun n => ∫⁻ (a : α), f n a ∂μ

tactic: intro n m hnm x
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
⊢ Monotone (aeSeq hf p)

tactic: by_cases hx : x ∈ aeSeqSet hf p
state_before: α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
n m : ℕ
hnm : n ≤ m
x : α
⊢ aeSeq hf p n x ≤ aeSeq hf p m x

tactic: exact aeSeq.prop_of_mem_aeSeqSet hf hx hnm
state_before: case pos
α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
n m : ℕ
hnm : n ≤ m
x : α
hx : x ∈ aeSeqSet hf p
⊢ aeSeq hf p n x ≤ aeSeq hf p m x

tactic: simp only [aeSeq, hx, if_false]
state_before: case neg
α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
n m : ℕ
hnm : n ≤ m
x : α
hx : ¬x ∈ aeSeqSet hf p
⊢ aeSeq hf p n x ≤ aeSeq hf p m x

tactic: exact le_rfl
state_before: case neg
α : Type u_1
β : Type ?u.480111
γ : Type ?u.480114
δ : Type ?u.480117
m✝ : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
hf : ∀ (n : ℕ), AEMeasurable (f n)
h_mono : ∀ᵐ (x : α) ∂μ, Monotone fun n => f n x
p : α → (ℕ → ℝ≥0∞) → Prop := fun x f' => Monotone f'
hp : ∀ᵐ (x : α) ∂μ, p x fun i => f i x
n m : ℕ
hnm : n ≤ m
x : α
hx : ¬x ∈ aeSeqSet hf p
⊢ Nonempty.some (_ : Nonempty ℝ≥0∞) ≤ Nonempty.some (_ : Nonempty ℝ≥0∞)