Built with Alectryon, running Lean4 v4.19.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
/-
 - Created in 2024 by Gaëtan Serré
-/

/-
- https://github.com/gaetanserre/SBS-Proofs
-/

import Mathlib.MeasureTheory.Function.AEEqOfIntegral

import SBSProofs.Bijection

open ENNReal MeasureTheory

set_option maxHeartbeats 400000

variable {α β : Type*} [MeasureSpace α]

/-
  Definition of pushforward measure
-/

def measure_set_of_pushforward_measure [MeasureSpace β]
    (μ : Measure α) (p_μ : Measure β) (f : β  α) :=
   (B : Set β), p_μ B = μ (f '' B)

def push_forward_integration [MeasureSpace β]
    (μ : Measure α) (p_μ : Measure β) (T : α  β) (T_inv : β  α) :=
   (φ : β  ℝ),  (B : Set β),  x in B, φ x p_μ =  x in T_inv '' B, (φ  T) x μ

structure Pushforward_Measure (α β : Type*) [MeasureSpace α] [MeasureSpace β] where
  p_μ : Measure β
  μ : Measure α
  T : α  β
  T_inv : β  α
  measure_app : measure_set_of_pushforward_measure μ p_μ T_inv
  is_bij : is_bijective T
  is_reci : is_reciprocal T T_inv
  integration : push_forward_integration μ p_μ T T_inv

/--
  Definition of measure with density w.r.t. the Lesbegue measure.
-/
structure DensityMeasure (α : Type*) [MeasureSpace α] extends Measure α where
  d : α 0
  d_neq_top :  x, d x  
  d_measurable : Measurable d
  d_finite : ∫⁻ x, d x  
  lebesgue_density : toMeasure = volume.withDensity d

variable {μ : Measure α}

Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
β: Type u_2
inst✝: MeasureSpace α
μ: Measure α
f, g: α β
h: f =ᶠ[ae μ] g
s: Set α

∀ᵐ (x : α) μ, x s f x = g x
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
β: Type u_2
inst✝: MeasureSpace α
μ: Measure α
f, g: α β
h: (s : Set α), ∀ᵐ (x : α) μ, x s f x = g x

f =ᶠ[ae μ] g
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | (f x).toReal = (g x).toReal} {x | f x = g x}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | (f x).toReal = (g x).toReal} {x | f x = g x}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | (f x).toReal = (g x).toReal} {x | f x = g x}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | (f x).toReal = (g x).toReal} {x | f x = g x}
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | f x = g x} {x | (f x).toReal = (g x).toReal}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | f x = g x} {x | (f x).toReal = (g x).toReal}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | f x = g x} {x | (f x).toReal = (g x).toReal}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
x: α
hx: f x = g x

x {x | (f x).toReal = (g x).toReal}
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | f x = g x} {x | (f x).toReal = (g x).toReal}
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

{x | (f x).toReal = (g x).toReal} {x | f x = g x}
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
compl_ss: {x | (f x).toReal = (g x).toReal} {x | f x = g x}
leq_μ: μ {x | (f x).toReal = (g x).toReal} μ {x | f x = g x}

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
compl_ss: {x | (f x).toReal = (g x).toReal} {x | f x = g x}
leq_μ: μ {x | (f x).toReal = (g x).toReal} μ {x | f x = g x}
h_ae: μ {x | f x g x} = 0

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
compl_ss: {x | (f x).toReal = (g x).toReal} {x | f x = g x}
leq_μ: μ {x | (f x).toReal = (g x).toReal} μ {x | f x = g x}
h_ae: μ {x | f x g x} = 0

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
compl_ss: {x | (f x).toReal = (g x).toReal} {x | f x = g x}
leq_μ: μ {x | (f x).toReal = (g x).toReal} 0
h_ae: μ {x | f x g x} = 0

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
compl_ss: {x | (f x).toReal = (g x).toReal} {x | f x = g x}
leq_μ: μ {x | (f x).toReal = (g x).toReal} 0
h_ae: μ {x | f x g x} = 0

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g
compl_ss: {x | (f x).toReal = (g x).toReal} {x | f x = g x}
leq_μ: μ {x | (f x).toReal = (g x).toReal} 0
h_ae: μ {x | f x g x} = 0

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: Measure α
f, g: α 0
h: f =ᶠ[ae μ] g

(fun x => (f x).toReal) =ᶠ[ae μ] fun x => (g x).toReal
Goals accomplished!

Goals accomplished! 🐙
namespace DensityMeasure instance instCoeFun : CoeFun (DensityMeasure α) λ _ => Set α 0 := ⟨fun m => m.toMeasure⟩
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α

⦃s : Set α⦄, MeasurableSet s μ.toMeasure s = ∫⁻ (x : α) in s, μ.d x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
s: Set α
hs: MeasurableSet s

μ.toMeasure s = ∫⁻ (x : α) in s, μ.d x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α

⦃s : Set α⦄, MeasurableSet s μ.toMeasure s = ∫⁻ (x : α) in s, μ.d x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
s: Set α
hs: MeasurableSet s

μ.toMeasure s = ∫⁻ (x : α) in s, μ.d x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
s: Set α
hs: MeasurableSet s

μ.toMeasure s = (volume.withDensity μ.d) s
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
s: Set α
hs: MeasurableSet s

μ.toMeasure s = (volume.withDensity μ.d) s
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α

⦃s : Set α⦄, MeasurableSet s μ.toMeasure s = ∫⁻ (x : α) in s, μ.d x
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), ENNReal.ofReal (f a) μ.toMeasure).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) μ.toMeasure).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), ENNReal.ofReal (f a) volume.withDensity μ.d).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) volume.withDensity μ.d).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), ENNReal.ofReal (f a) volume.withDensity μ.d).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) volume.withDensity μ.d).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), ENNReal.ofReal (f a) volume.withDensity μ.d).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) volume.withDensity μ.d).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) volume.withDensity μ.d).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) volume.withDensity μ.d).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), ENNReal.ofReal (-f a) volume.withDensity μ.d).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (-f x)) a).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (-f x)) a).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (-f x)) a).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f✝: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
f: α
a: α

(μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (-f x)) a).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), μ.d a * ENNReal.ofReal (f a)).toReal - (∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (-f x)) a).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (f x)) a).toReal - (∫⁻ (a : α), (μ.d * fun x => ENNReal.ofReal (-f x)) a).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), μ.d a * ENNReal.ofReal (f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), μ.d a * ENNReal.ofReal (f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(∫⁻ (a : α), μ.d a * ENNReal.ofReal (f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(∫⁻ (a : α), μ.d a * ENNReal.ofReal (f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
a: α

ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
a: α

ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
a: α

ENNReal.ofReal ((μ.d a).toReal * f a) = ENNReal.ofReal (μ.d a).toReal * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
a: α

ENNReal.ofReal ((μ.d a).toReal * f a) = ENNReal.ofReal (μ.d a).toReal * ENNReal.ofReal (f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal

(a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), μ.d a * ENNReal.ofReal (f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal ((μ.d a).toReal * -f a) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal ((μ.d a).toReal * -f a) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal ((μ.d a).toReal * -f a) = ENNReal.ofReal (μ.d a).toReal * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
a: α

ENNReal.ofReal ((μ.d a).toReal * -f a) = ENNReal.ofReal (μ.d a).toReal * ENNReal.ofReal (-f a)
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)

(a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
enn_lo_coe: (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), μ.d a * ENNReal.ofReal (-f a)).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
enn_lo_coe: (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a))).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
enn_lo_coe: (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a))).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume

(x : α), f x μ.toMeasure = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
enn_lo_coe: (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)

(∫⁻ (a : α), ENNReal.ofReal ((μ.d a).toReal * f a)).toReal - (∫⁻ (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a))).toReal = (x : α), (μ.d x).toReal * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α
hi: Integrable f μ.toMeasure
hm_up: Measurable fun x => ENNReal.ofReal (f x)
hm_lo: Measurable fun x => ENNReal.ofReal (-f x)
hi_mul: Integrable (fun x => (μ.d x).toReal * f x) volume
rw_fun: (f : α ℝ) (a : α), (μ.d * fun a => ENNReal.ofReal (f a)) a = μ.d a * ENNReal.ofReal (f a)
coe_density_nonneg: (a : α), 0 (μ.d a).toReal
enn_up_coe: (a : α), ENNReal.ofReal ((μ.d a).toReal * f a) = μ.d a * ENNReal.ofReal (f a)
enn_lo_coe: (a : α), ENNReal.ofReal (-((μ.d a).toReal * f a)) = μ.d a * ENNReal.ofReal (-f a)

(a : α), (μ.d a).toReal * f a = (x : α), (μ.d x).toReal * f x
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x μ.toMeasure = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x μ.toMeasure = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x volume.withDensity μ.d = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x volume.withDensity μ.d = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x μ.toMeasure = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x volume.withDensity μ.d = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (a : α), (μ.d * f) a = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (a : α), (μ.d * f) a = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f: α 0
hm: Measurable f

∫⁻ (x : α), f x μ.toMeasure = ∫⁻ (x : α), μ.d x * f x
Goals accomplished!

Goals accomplished! 🐙
@[ext]
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁ = μ₂
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

volume.withDensity μ₁.d = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

volume.withDensity μ₁.d = volume.withDensity μ₂.d
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d

volume.withDensity μ₂.d = volume.withDensity μ₂.d
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

(let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }) = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

(let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }) = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x

μ₁ = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

{ toMeasure := μ₁.toMeasure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := } = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

{ toMeasure := μ₂.toMeasure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := } = μ₂
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α
h: (x : α), μ₁.d x = μ₂.d x
f_ext: μ₁.d = μ₂.d
eq_measure: μ₁.toMeasure = μ₂.toMeasure
destruct: μ₁ = let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }

(let __Measure := μ₁.toMeasure; { toMeasure := __Measure, d := μ₁.d, d_neq_top := , d_measurable := , d_finite := , lebesgue_density := }) = μ₂
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d volume.withDensity μ₁.d = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d volume.withDensity μ₁.d = volume.withDensity μ₂.d
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d volume.withDensity μ₁.d = volume.withDensity μ₂.d
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ₁, μ₂: DensityMeasure α

μ₁.d =ᶠ[ae volume] μ₂.d μ₁.toMeasure = μ₂.toMeasure
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

mp
f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
f =ᶠ[ae volume] g f =ᶠ[ae (volume.withDensity μ.d)] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

mp
f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

mp
f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
f =ᶠ[ae volume] g f =ᶠ[ae (volume.withDensity μ.d)] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: ∀ᵐ (x : α) volume.withDensity μ.d, f x = g x

mp
f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

mp
f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: ∀ᵐ (x : α) volume.withDensity μ.d, f x = g x

mp
f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: ∀ᵐ (x : α), μ.d x 0 f x = g x

mp
f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: ∀ᵐ (x : α), μ.d x 0 f x = g x

mp
f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: ∀ᵐ (x : α), μ.d x 0 f x = g x

mp
f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

mp
f =ᶠ[ae (volume.withDensity μ.d)] g f =ᶠ[ae volume] g
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: f =ᶠ[ae volume] g

mpr
f =ᶠ[ae (volume.withDensity μ.d)] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: f =ᶠ[ae volume] g

mpr
f =ᶠ[ae (volume.withDensity μ.d)] g
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: f =ᶠ[ae volume] g
this: ∀ᵐ (x : α) volume.withDensity μ.d, f x = g x

f =ᶠ[ae (volume.withDensity μ.d)] g
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: f =ᶠ[ae volume] g

mpr
∀ᵐ (x : α) volume.withDensity μ.d, f x = g x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: f =ᶠ[ae volume] g

mpr
∀ᵐ (x : α), μ.d x 0 f x = g x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0
h: f =ᶠ[ae volume] g

mpr
∀ᵐ (x : α), μ.d x 0 f x = g x
Goals accomplished!
α: Type u_1
inst✝: MeasureSpace α
μ: DensityMeasure α
f, g: α 0
h_ae_nonneg: ∀ᵐ (x : α), μ.d x 0

f =ᶠ[ae μ.toMeasure] g f =ᶠ[ae volume] g
Goals accomplished!

Goals accomplished! 🐙
end DensityMeasure