File: Mathlib/Probability/IdentDistrib.lean

full_name: ProbabilityTheory.IdentDistrib
code: /-- Two functions defined on two (possibly different) measure spaces are identically distributed if
their image measures coincide. This only makes sense when the functions are ae measurable
(as otherwise the image measures are not defined), so we require this as well in the definition. -/
structure IdentDistrib (f : α → γ) (g : β → γ)
    (μ : Measure α := by volume_tac)
    (ν : Measure β := by volume_tac) : Prop where
  aemeasurable_fst : AEMeasurable f μ
  aemeasurable_snd : AEMeasurable g ν
  map_eq : Measure.map f μ = Measure.map g ν
goal: Prop

full_name: ProbabilityTheory.IdentDistrib.map_eq
code: /-- Two functions defined on two (possibly different) measure spaces are identically distributed if
their image measures coincide. This only makes sense when the functions are ae measurable
(as otherwise the image measures are not defined), so we require this as well in the definition. -/
structure IdentDistrib (f : α → γ) (g : β → γ)
    (μ : Measure α := by volume_tac)
    (ν : Measure β := by volume_tac) : Prop where
  aemeasurable_fst : AEMeasurable f μ
  aemeasurable_snd : AEMeasurable g ν
  map_eq : Measure.map f μ = Measure.map g ν
goal: MeasureTheory.Measure.map f μ = MeasureTheory.Measure.map g ν

full_name: ProbabilityTheory.IdentDistrib.aemeasurable_fst
code: /-- Two functions defined on two (possibly different) measure spaces are identically distributed if
their image measures coincide. This only makes sense when the functions are ae measurable
(as otherwise the image measures are not defined), so we require this as well in the definition. -/
structure IdentDistrib (f : α → γ) (g : β → γ)
    (μ : Measure α := by volume_tac)
    (ν : Measure β := by volume_tac) : Prop where
  aemeasurable_fst : AEMeasurable f μ
  aemeasurable_snd : AEMeasurable g ν
  map_eq : Measure.map f μ = Measure.map g ν
goal: AEMeasurable f μ

full_name: ProbabilityTheory.IdentDistrib.aemeasurable_snd
code: /-- Two functions defined on two (possibly different) measure spaces are identically distributed if
their image measures coincide. This only makes sense when the functions are ae measurable
(as otherwise the image measures are not defined), so we require this as well in the definition. -/
structure IdentDistrib (f : α → γ) (g : β → γ)
    (μ : Measure α := by volume_tac)
    (ν : Measure β := by volume_tac) : Prop where
  aemeasurable_fst : AEMeasurable f μ
  aemeasurable_snd : AEMeasurable g ν
  map_eq : Measure.map f μ = Measure.map g ν
goal: AEMeasurable g ν

full_name: ProbabilityTheory.IdentDistrib.refl
code: protected theorem refl (hf : AEMeasurable f μ) : IdentDistrib f f μ μ 
goal: ProbabilityTheory.IdentDistrib f f μ μ

full_name: ProbabilityTheory.IdentDistrib.symm
code: protected theorem symm (h : IdentDistrib f g μ ν) : IdentDistrib g f ν μ 
goal: ProbabilityTheory.IdentDistrib g f ν μ

full_name: ProbabilityTheory.IdentDistrib.trans
code: protected theorem trans {ρ : Measure δ} {h : δ → γ} (h₁ : IdentDistrib f g μ ν)
    (h₂ : IdentDistrib g h ν ρ) : IdentDistrib f h μ ρ 
goal: ProbabilityTheory.IdentDistrib f h μ ρ

full_name: ProbabilityTheory.IdentDistrib.comp_of_aemeasurable
code: protected theorem comp_of_aemeasurable {u : γ → δ} (h : IdentDistrib f g μ ν)
    (hu : AEMeasurable u (Measure.map f μ)) : IdentDistrib (u ∘ f) (u ∘ g) μ ν 
goal: ProbabilityTheory.IdentDistrib (u ∘ f) (u ∘ g) μ ν

full_name: ProbabilityTheory.IdentDistrib.comp
code: protected theorem comp {u : γ → δ} (h : IdentDistrib f g μ ν) (hu : Measurable u) :
    IdentDistrib (u ∘ f) (u ∘ g) μ ν 
goal: ProbabilityTheory.IdentDistrib (u ∘ f) (u ∘ g) μ ν

full_name: ProbabilityTheory.IdentDistrib.of_ae_eq
code: protected theorem of_ae_eq {g : α → γ} (hf : AEMeasurable f μ) (heq : f =ᵐ[μ] g) :
    IdentDistrib f g μ μ 
goal: ProbabilityTheory.IdentDistrib f g μ μ

full_name: MeasureTheory.AEMeasurable.identDistrib_mk
code: lemma _root_.MeasureTheory.AEMeasurable.identDistrib_mk
    (hf : AEMeasurable f μ) : IdentDistrib f (hf.mk f) μ μ 
goal: ProbabilityTheory.IdentDistrib f (AEMeasurable.mk f hf) μ μ

full_name: MeasureTheory.AEStronglyMeasurable.identDistrib_mk
code: lemma _root_.MeasureTheory.AEStronglyMeasurable.identDistrib_mk
    [TopologicalSpace γ] [PseudoMetrizableSpace γ] [BorelSpace γ]
    (hf : AEStronglyMeasurable f μ) : IdentDistrib f (hf.mk f) μ μ 
goal: ProbabilityTheory.IdentDistrib f (MeasureTheory.AEStronglyMeasurable.mk f hf) μ μ

full_name: ProbabilityTheory.IdentDistrib.measure_mem_eq
code: theorem measure_mem_eq (h : IdentDistrib f g μ ν) {s : Set γ} (hs : MeasurableSet s) :
    μ (f ⁻¹' s) = ν (g ⁻¹' s) 
goal: μ (f ⁻¹' s) = ν (g ⁻¹' s)

full_name: ProbabilityTheory.IdentDistrib.ae_snd
code: theorem ae_snd (h : IdentDistrib f g μ ν) {p : γ → Prop} (pmeas : MeasurableSet {x | p x})
    (hp : ∀ᵐ x ∂μ, p (f x)) : ∀ᵐ x ∂ν, p (g x) 
goal: ∀ᵐ (x : β) ∂ν, p (g x)

full_name: ProbabilityTheory.IdentDistrib.ae_mem_snd
code: theorem ae_mem_snd (h : IdentDistrib f g μ ν) {t : Set γ} (tmeas : MeasurableSet t)
    (ht : ∀ᵐ x ∂μ, f x ∈ t) : ∀ᵐ x ∂ν, g x ∈ t 
goal: ∀ᵐ (x : β) ∂ν, g x ∈ t

full_name: ProbabilityTheory.IdentDistrib.aestronglyMeasurable_fst
code: /-- In a second countable topology, the first function in an identically distributed pair is a.e.
strongly measurable. So is the second function, but use `h.symm.aestronglyMeasurable_fst` as
`h.aestronglyMeasurable_snd` has a different meaning. -/
theorem aestronglyMeasurable_fst [TopologicalSpace γ] [MetrizableSpace γ] [OpensMeasurableSpace γ]
    [SecondCountableTopology γ] (h : IdentDistrib f g μ ν) : AEStronglyMeasurable f μ 
goal: MeasureTheory.AEStronglyMeasurable f μ

full_name: ProbabilityTheory.IdentDistrib.aestronglyMeasurable_snd
code: /-- If `f` and `g` are identically distributed and `f` is a.e. strongly measurable, so is `g`. -/
theorem aestronglyMeasurable_snd [TopologicalSpace γ] [MetrizableSpace γ] [BorelSpace γ]
    (h : IdentDistrib f g μ ν) (hf : AEStronglyMeasurable f μ) : AEStronglyMeasurable g ν 
goal: MeasureTheory.AEStronglyMeasurable g ν

full_name: ProbabilityTheory.IdentDistrib.aestronglyMeasurable_iff
code: theorem aestronglyMeasurable_iff [TopologicalSpace γ] [MetrizableSpace γ] [BorelSpace γ]
    (h : IdentDistrib f g μ ν) : AEStronglyMeasurable f μ ↔ AEStronglyMeasurable g ν 
goal: MeasureTheory.AEStronglyMeasurable f μ ↔ MeasureTheory.AEStronglyMeasurable g ν

full_name: ProbabilityTheory.IdentDistrib.essSup_eq
code: theorem essSup_eq [ConditionallyCompleteLinearOrder γ] [TopologicalSpace γ] [OpensMeasurableSpace γ]
    [OrderClosedTopology γ] (h : IdentDistrib f g μ ν) : essSup f μ = essSup g ν 
goal: essSup f μ = essSup g ν

full_name: ProbabilityTheory.IdentDistrib.lintegral_eq
code: theorem lintegral_eq {f : α → ℝ≥0∞} {g : β → ℝ≥0∞} (h : IdentDistrib f g μ ν) :
    ∫⁻ x, f x ∂μ = ∫⁻ x, g x ∂ν 
goal: ∫⁻ (x : α), f x ∂μ = ∫⁻ (x : β), g x ∂ν

full_name: ProbabilityTheory.IdentDistrib.integral_eq
code: theorem integral_eq [NormedAddCommGroup γ] [NormedSpace ℝ γ] [BorelSpace γ]
    (h : IdentDistrib f g μ ν) : ∫ x, f x ∂μ = ∫ x, g x ∂ν 
goal: ∫ (x : α), f x ∂μ = ∫ (x : β), g x ∂ν

full_name: ProbabilityTheory.IdentDistrib.eLpNorm_eq
code: theorem eLpNorm_eq [NormedAddCommGroup γ] [OpensMeasurableSpace γ] (h : IdentDistrib f g μ ν)
    (p : ℝ≥0∞) : eLpNorm f p μ = eLpNorm g p ν 
goal: MeasureTheory.eLpNorm f p μ = MeasureTheory.eLpNorm g p ν

full_name: ProbabilityTheory.IdentDistrib.memℒp_snd
code: theorem memℒp_snd [NormedAddCommGroup γ] [BorelSpace γ] {p : ℝ≥0∞} (h : IdentDistrib f g μ ν)
    (hf : Memℒp f p μ) : Memℒp g p ν 
goal: MeasureTheory.Memℒp g p ν

full_name: ProbabilityTheory.IdentDistrib.memℒp_iff
code: theorem memℒp_iff [NormedAddCommGroup γ] [BorelSpace γ] {p : ℝ≥0∞} (h : IdentDistrib f g μ ν) :
    Memℒp f p μ ↔ Memℒp g p ν 
goal: MeasureTheory.Memℒp f p μ ↔ MeasureTheory.Memℒp g p ν

full_name: ProbabilityTheory.IdentDistrib.integrable_snd
code: theorem integrable_snd [NormedAddCommGroup γ] [BorelSpace γ] (h : IdentDistrib f g μ ν)
    (hf : Integrable f μ) : Integrable g ν 
goal: MeasureTheory.Integrable g ν

full_name: ProbabilityTheory.IdentDistrib.integrable_iff
code: theorem integrable_iff [NormedAddCommGroup γ] [BorelSpace γ] (h : IdentDistrib f g μ ν) :
    Integrable f μ ↔ Integrable g ν 
goal: MeasureTheory.Integrable f μ ↔ MeasureTheory.Integrable g ν

full_name: ProbabilityTheory.IdentDistrib.norm
code: protected theorem norm [NormedAddCommGroup γ] [BorelSpace γ] (h : IdentDistrib f g μ ν) :
    IdentDistrib (fun x => ‖f x‖) (fun x => ‖g x‖) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => ‖f x‖) (fun x => ‖g x‖) μ ν

full_name: ProbabilityTheory.IdentDistrib.nnnorm
code: protected theorem nnnorm [NormedAddCommGroup γ] [BorelSpace γ] (h : IdentDistrib f g μ ν) :
    IdentDistrib (fun x => ‖f x‖₊) (fun x => ‖g x‖₊) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => ‖f x‖₊) (fun x => ‖g x‖₊) μ ν

full_name: ProbabilityTheory.IdentDistrib.pow
code: protected theorem pow [Pow γ ℕ] [MeasurablePow γ ℕ] (h : IdentDistrib f g μ ν) {n : ℕ} :
    IdentDistrib (fun x => f x ^ n) (fun x => g x ^ n) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => f x ^ n) (fun x => g x ^ n) μ ν

full_name: ProbabilityTheory.IdentDistrib.sq
code: protected theorem sq [Pow γ ℕ] [MeasurablePow γ ℕ] (h : IdentDistrib f g μ ν) :
    IdentDistrib (fun x => f x ^ 2) (fun x => g x ^ 2) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => f x ^ 2) (fun x => g x ^ 2) μ ν

full_name: ProbabilityTheory.IdentDistrib.coe_nnreal_ennreal
code: protected theorem coe_nnreal_ennreal {f : α → ℝ≥0} {g : β → ℝ≥0} (h : IdentDistrib f g μ ν) :
    IdentDistrib (fun x => (f x : ℝ≥0∞)) (fun x => (g x : ℝ≥0∞)) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => ↑(f x)) (fun x => ↑(g x)) μ ν

full_name: ProbabilityTheory.IdentDistrib.add_const
code: @[to_additive]
theorem mul_const [Mul γ] [MeasurableMul γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => f x * c) (fun x => g x * c) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => f x + c) (fun x => g x + c) μ ν

full_name: ProbabilityTheory.IdentDistrib.mul_const
code: @[to_additive]
theorem mul_const [Mul γ] [MeasurableMul γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => f x * c) (fun x => g x * c) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => f x * c) (fun x => g x * c) μ ν

full_name: ProbabilityTheory.IdentDistrib.const_add
code: @[to_additive]
theorem const_mul [Mul γ] [MeasurableMul γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => c * f x) (fun x => c * g x) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => c + f x) (fun x => c + g x) μ ν

full_name: ProbabilityTheory.IdentDistrib.const_mul
code: @[to_additive]
theorem const_mul [Mul γ] [MeasurableMul γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => c * f x) (fun x => c * g x) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => c * f x) (fun x => c * g x) μ ν

full_name: ProbabilityTheory.IdentDistrib.div_const
code: @[to_additive]
theorem div_const [Div γ] [MeasurableDiv γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => f x / c) (fun x => g x / c) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => f x / c) (fun x => g x / c) μ ν

full_name: ProbabilityTheory.IdentDistrib.sub_const
code: @[to_additive]
theorem div_const [Div γ] [MeasurableDiv γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => f x / c) (fun x => g x / c) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => f x - c) (fun x => g x - c) μ ν

full_name: ProbabilityTheory.IdentDistrib.const_div
code: @[to_additive]
theorem const_div [Div γ] [MeasurableDiv γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => c / f x) (fun x => c / g x) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => c / f x) (fun x => c / g x) μ ν

full_name: ProbabilityTheory.IdentDistrib.const_sub
code: @[to_additive]
theorem const_div [Div γ] [MeasurableDiv γ] (h : IdentDistrib f g μ ν) (c : γ) :
    IdentDistrib (fun x => c / f x) (fun x => c / g x) μ ν 
goal: ProbabilityTheory.IdentDistrib (fun x => c - f x) (fun x => c - g x) μ ν

full_name: ProbabilityTheory.IdentDistrib.inv
code: @[to_additive]
lemma inv [Inv γ] [MeasurableInv γ] (h : IdentDistrib f g μ ν) :
    IdentDistrib f⁻¹ g⁻¹ μ ν 
goal: ProbabilityTheory.IdentDistrib f⁻¹ g⁻¹ μ ν

full_name: ProbabilityTheory.IdentDistrib.neg
code: @[to_additive]
lemma inv [Inv γ] [MeasurableInv γ] (h : IdentDistrib f g μ ν) :
    IdentDistrib f⁻¹ g⁻¹ μ ν 
goal: ProbabilityTheory.IdentDistrib (-f) (-g) μ ν

full_name: ProbabilityTheory.IdentDistrib.evariance_eq
code: theorem evariance_eq {f : α → ℝ} {g : β → ℝ} (h : IdentDistrib f g μ ν) :
    evariance f μ = evariance g ν 
goal: ProbabilityTheory.evariance f μ = ProbabilityTheory.evariance g ν

full_name: ProbabilityTheory.IdentDistrib.variance_eq
code: theorem variance_eq {f : α → ℝ} {g : β → ℝ} (h : IdentDistrib f g μ ν) :
    variance f μ = variance g ν 
goal: ProbabilityTheory.variance f μ = ProbabilityTheory.variance g ν

full_name: ProbabilityTheory.Memℒp.uniformIntegrable_of_identDistrib_aux
code: /-- This lemma is superseded by `Memℒp.uniformIntegrable_of_identDistrib` which only requires
`AEStronglyMeasurable`. -/
theorem Memℒp.uniformIntegrable_of_identDistrib_aux {ι : Type*} {f : ι → α → E} {j : ι} {p : ℝ≥0∞}
    (hp : 1 ≤ p) (hp' : p ≠ ∞) (hℒp : Memℒp (f j) p μ) (hfmeas : ∀ i, StronglyMeasurable (f i))
    (hf : ∀ i, IdentDistrib (f i) (f j) μ μ) : UniformIntegrable f p μ 
goal: MeasureTheory.UniformIntegrable f p μ

full_name: ProbabilityTheory.Memℒp.uniformIntegrable_of_identDistrib
code: /-- A sequence of identically distributed Lᵖ functions is p-uniformly integrable. -/
theorem Memℒp.uniformIntegrable_of_identDistrib {ι : Type*} {f : ι → α → E} {j : ι} {p : ℝ≥0∞}
    (hp : 1 ≤ p) (hp' : p ≠ ∞) (hℒp : Memℒp (f j) p μ) (hf : ∀ i, IdentDistrib (f i) (f j) μ μ) :
    UniformIntegrable f p μ 
goal: MeasureTheory.UniformIntegrable f p μ

full_name: ProbabilityTheory.indepFun_of_identDistrib_pair
code: /-- If `X` and `Y` are independent and `(X, Y)` and `(X', Y')` are identically distributed,
then `X'` and `Y'` are independent. -/
lemma indepFun_of_identDistrib_pair
    {μ : Measure γ} {μ' : Measure δ} [IsFiniteMeasure μ] [IsFiniteMeasure μ']
    {X : γ → α} {X' : δ → α} {Y : γ → β} {Y' : δ → β} (h_indep : IndepFun X Y μ)
    (h_ident : IdentDistrib (fun ω ↦ (X ω, Y ω)) (fun ω ↦ (X' ω, Y' ω)) μ μ') :
    IndepFun X' Y' μ' 
goal: ProbabilityTheory.IndepFun X' Y' μ'