Theorem: MeasureTheory.Measure.setIntegral_toReal_rnDeriv_le
File: Mathlib/MeasureTheory/Decomposition/RadonNikodym.lean

tactic: set t := toMeasurable μ s with ht
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ (μ s).toReal
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ (μ s).toReal

tactic: have ht_m : MeasurableSet t := measurableSet_toMeasurable μ s
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ (μ s).toReal
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ (μ s).toReal

tactic: have hμt : μ t ≠ ∞ := by rwa [ht, measure_toMeasurable s]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ (μ s).toReal
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ (μ s).toReal

tactic: rwa [ht, measure_toMeasurable s]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
⊢ μ t ≠ ⊤
state_after: no goals

tactic: refine setIntegral_mono_set ?_ ?_ (HasSubset.Subset.eventuallyLE (subset_toMeasurable _ _))
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν ≤ ∫ (x : α) in t, (μ.rnDeriv ν x).toReal ∂ν
state_after: case refine_1
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ IntegrableOn (fun x => (μ.rnDeriv ν x).toReal) t ν

case refine_2
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ 0 ≤ᶠ[ae (ν.restrict t)] fun x => (μ.rnDeriv ν x).toReal

tactic: exact integrableOn_toReal_rnDeriv hμt
state_before: case refine_1
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ IntegrableOn (fun x => (μ.rnDeriv ν x).toReal) t ν
state_after: no goals

tactic: exact ae_of_all _ (by simp)
state_before: case refine_2
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ 0 ≤ᶠ[ae (ν.restrict t)] fun x => (μ.rnDeriv ν x).toReal
state_after: no goals

tactic: simp
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ ∀ (a : α), 0 a ≤ (fun x => (μ.rnDeriv ν x).toReal) a
state_after: no goals

tactic: gcongr
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ ((ν.withDensity (μ.rnDeriv ν)) t).toReal ≤ (μ t).toReal
state_after: case hb
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ μ t ≠ ⊤

case h
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ (ν.withDensity (μ.rnDeriv ν)) t ≤ μ t

tactic: exact hμt
state_before: case hb
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ μ t ≠ ⊤
state_after: no goals

tactic: apply withDensity_rnDeriv_le
state_before: case h
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ (ν.withDensity (μ.rnDeriv ν)) t ≤ μ t
state_after: no goals

tactic: rw [measure_toMeasurable s]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝ : SigmaFinite μ
s : Set α
hμs : μ s ≠ ⊤
t : Set α := toMeasurable μ s
ht : t = toMeasurable μ s
ht_m : MeasurableSet t
hμt : μ t ≠ ⊤
⊢ (μ t).toReal = (μ s).toReal
state_after: no goals