Theorem: MeasureTheory.setToFun_nonneg
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: by_cases hfi : Integrable f μ
state_before: α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
⊢ 0 ≤ setToFun μ T hT f

tactic: simp_rw [setToFun_eq _ hfi]
state_before: case pos
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
⊢ 0 ≤ setToFun μ T hT f

tactic: refine' L1.setToL1_nonneg hT hT_nonneg _
state_before: case pos
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
⊢ 0 ≤ ↑(L1.setToL1 hT) (Integrable.toL1 f hfi)

tactic: rw [← Lp.coeFn_le]
state_before: case pos
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
⊢ 0 ≤ Integrable.toL1 f hfi

tactic: have h0 := Lp.coeFn_zero G' 1 μ
state_before: case pos
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
⊢ ↑↑0 ≤ᵐ[μ] ↑↑(Integrable.toL1 f hfi)

tactic: have h := Integrable.coeFn_toL1 hfi
state_before: case pos
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
h0 : ↑↑0 =ᵐ[μ] 0
⊢ ↑↑0 ≤ᵐ[μ] ↑↑(Integrable.toL1 f hfi)

tactic: filter_upwards [h0, h, hf] with _ h0a ha hfa
state_before: case pos
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
h0 : ↑↑0 =ᵐ[μ] 0
h : ↑↑(Integrable.toL1 f hfi) =ᵐ[μ] f
⊢ ↑↑0 ≤ᵐ[μ] ↑↑(Integrable.toL1 f hfi)

tactic: rw [h0a, ha]
state_before: case h
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
h0 : ↑↑0 =ᵐ[μ] 0
h : ↑↑(Integrable.toL1 f hfi) =ᵐ[μ] f
a✝ : α
h0a : ↑↑0 a✝ = OfNat.ofNat 0 a✝
ha : ↑↑(Integrable.toL1 f hfi) a✝ = f a✝
hfa : OfNat.ofNat 0 a✝ ≤ f a✝
⊢ ↑↑0 a✝ ≤ ↑↑(Integrable.toL1 f hfi) a✝

tactic: exact hfa
state_before: case h
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : Integrable f
h0 : ↑↑0 =ᵐ[μ] 0
h : ↑↑(Integrable.toL1 f hfi) =ᵐ[μ] f
a✝ : α
h0a : ↑↑0 a✝ = OfNat.ofNat 0 a✝
ha : ↑↑(Integrable.toL1 f hfi) a✝ = f a✝
hfa : OfNat.ofNat 0 a✝ ≤ f a✝
⊢ OfNat.ofNat 0 a✝ ≤ f a✝

tactic: simp_rw [setToFun_undef _ hfi]
state_before: case neg
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : ¬Integrable f
⊢ 0 ≤ setToFun μ T hT f

tactic: rfl
state_before: case neg
α : Type u_1
E : Type ?u.1531625
F : Type ?u.1531628
F' : Type ?u.1531631
G : Type ?u.1531634
𝕜 : Type ?u.1531637
p : ℝ≥0∞
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace ℝ F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝⁵ : CompleteSpace F
T✝ T' T'' : Set α → E →L[ℝ] F
C✝ C' C'' : ℝ
f✝ g : α → E
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f : α → G'
hf : 0 ≤ᵐ[μ] f
hfi : ¬Integrable f
⊢ 0 ≤ 0