File: Mathlib/MeasureTheory/Measure/AEMeasurable.lean

full_name: Subsingleton.aemeasurable
code: @[nontriviality, measurability]
theorem Subsingleton.aemeasurable [Subsingleton α] : AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: aemeasurable_of_subsingleton_codomain
code: @[nontriviality, measurability]
theorem aemeasurable_of_subsingleton_codomain [Subsingleton β] : AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: aemeasurable_zero_measure
code: @[simp, measurability]
theorem aemeasurable_zero_measure : AEMeasurable f (0 : Measure α) 
goal: AEMeasurable f 0

full_name: aemeasurable_id''
code: @[fun_prop]
theorem aemeasurable_id'' (μ : Measure α) {m : MeasurableSpace α} (hm : m ≤ m0) :
    @AEMeasurable α α m m0 id μ 
goal: AEMeasurable id μ

full_name: aemeasurable_of_map_neZero
code: lemma aemeasurable_of_map_neZero {mβ : MeasurableSpace β} {μ : Measure α}
    {f : α → β} (h : NeZero (μ.map f)) :
    AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: AEMeasurable.mono_ac
code: lemma mono_ac (hf : AEMeasurable f ν) (hμν : μ ≪ ν) : AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: AEMeasurable.mono_measure
code: theorem mono_measure (h : AEMeasurable f μ) (h' : ν ≤ μ) : AEMeasurable f ν 
goal: AEMeasurable f ν

full_name: AEMeasurable.mono_set
code: theorem mono_set {s t} (h : s ⊆ t) (ht : AEMeasurable f (μ.restrict t)) :
    AEMeasurable f (μ.restrict s) 
goal: AEMeasurable f (μ.restrict s)

full_name: AEMeasurable.mono'
code: @[fun_prop]
protected theorem mono' (h : AEMeasurable f μ) (h' : ν ≪ μ) : AEMeasurable f ν 
goal: AEMeasurable f ν

full_name: AEMeasurable.ae_mem_imp_eq_mk
code: theorem ae_mem_imp_eq_mk {s} (h : AEMeasurable f (μ.restrict s)) :
    ∀ᵐ x ∂μ, x ∈ s → f x = h.mk f x 
goal: ∀ᵐ (x : α) ∂μ, x ∈ s → f x = AEMeasurable.mk f h x

full_name: AEMeasurable.ae_inf_principal_eq_mk
code: theorem ae_inf_principal_eq_mk {s} (h : AEMeasurable f (μ.restrict s)) : f =ᶠ[ae μ ⊓ 𝓟 s] h.mk f 
goal: f =ᶠ[MeasureTheory.ae μ ⊓ 𝓟 s] AEMeasurable.mk f h

full_name: AEMeasurable.sum_measure
code: @[measurability]
theorem sum_measure [Countable ι] {μ : ι → Measure α} (h : ∀ i, AEMeasurable f (μ i)) :
    AEMeasurable f (sum μ) 
goal: AEMeasurable f (MeasureTheory.Measure.sum μ)

full_name: aemeasurable_sum_measure_iff
code: @[simp]
theorem _root_.aemeasurable_sum_measure_iff [Countable ι] {μ : ι → Measure α} :
    AEMeasurable f (sum μ) ↔ ∀ i, AEMeasurable f (μ i) 
goal: AEMeasurable f (MeasureTheory.Measure.sum μ) ↔ ∀ (i : ι), AEMeasurable f (μ i)

full_name: aemeasurable_add_measure_iff
code: @[simp]
theorem _root_.aemeasurable_add_measure_iff :
    AEMeasurable f (μ + ν) ↔ AEMeasurable f μ ∧ AEMeasurable f ν 
goal: AEMeasurable f (μ + ν) ↔ AEMeasurable f μ ∧ AEMeasurable f ν

full_name: AEMeasurable.add_measure
code: @[measurability]
theorem add_measure {f : α → β} (hμ : AEMeasurable f μ) (hν : AEMeasurable f ν) :
    AEMeasurable f (μ + ν) 
goal: AEMeasurable f (μ + ν)

full_name: AEMeasurable.iUnion
code: @[measurability]
protected theorem iUnion [Countable ι] {s : ι → Set α}
    (h : ∀ i, AEMeasurable f (μ.restrict (s i))) : AEMeasurable f (μ.restrict (⋃ i, s i)) 
goal: AEMeasurable f (μ.restrict (⋃ i, s i))

full_name: aemeasurable_iUnion_iff
code: @[simp]
theorem _root_.aemeasurable_iUnion_iff [Countable ι] {s : ι → Set α} :
    AEMeasurable f (μ.restrict (⋃ i, s i)) ↔ ∀ i, AEMeasurable f (μ.restrict (s i)) 
goal: AEMeasurable f (μ.restrict (⋃ i, s i)) ↔ ∀ (i : ι), AEMeasurable f (μ.restrict (s i))

full_name: aemeasurable_union_iff
code: @[simp]
theorem _root_.aemeasurable_union_iff {s t : Set α} :
    AEMeasurable f (μ.restrict (s ∪ t)) ↔
      AEMeasurable f (μ.restrict s) ∧ AEMeasurable f (μ.restrict t) 
goal: AEMeasurable f (μ.restrict (s ∪ t)) ↔ AEMeasurable f (μ.restrict s) ∧ AEMeasurable f (μ.restrict t)

full_name: AEMeasurable.smul_measure
code: @[measurability]
theorem smul_measure [Monoid R] [DistribMulAction R ℝ≥0∞] [IsScalarTower R ℝ≥0∞ ℝ≥0∞]
    (h : AEMeasurable f μ) (c : R) : AEMeasurable f (c • μ) 
goal: AEMeasurable f (c • μ)

full_name: AEMeasurable.comp_aemeasurable
code: theorem comp_aemeasurable {f : α → δ} {g : δ → β} (hg : AEMeasurable g (μ.map f))
    (hf : AEMeasurable f μ) : AEMeasurable (g ∘ f) μ 
goal: AEMeasurable (g ∘ f) μ

full_name: AEMeasurable.comp_aemeasurable'
code: @[fun_prop]
theorem comp_aemeasurable' {f : α → δ} {g : δ → β} (hg : AEMeasurable g (μ.map f))
    (hf : AEMeasurable f μ) : AEMeasurable (fun x ↦ g (f x)) μ 
goal: AEMeasurable (fun x => g (f x)) μ

full_name: AEMeasurable.comp_measurable
code: theorem comp_measurable {f : α → δ} {g : δ → β} (hg : AEMeasurable g (μ.map f))
    (hf : Measurable f) : AEMeasurable (g ∘ f) μ 
goal: AEMeasurable (g ∘ f) μ

full_name: AEMeasurable.comp_quasiMeasurePreserving
code: theorem comp_quasiMeasurePreserving {ν : Measure δ} {f : α → δ} {g : δ → β} (hg : AEMeasurable g ν)
    (hf : QuasiMeasurePreserving f μ ν) : AEMeasurable (g ∘ f) μ 
goal: AEMeasurable (g ∘ f) μ

full_name: AEMeasurable.map_map_of_aemeasurable
code: theorem map_map_of_aemeasurable {g : β → γ} {f : α → β} (hg : AEMeasurable g (Measure.map f μ))
    (hf : AEMeasurable f μ) : (μ.map f).map g = μ.map (g ∘ f) 
goal: MeasureTheory.Measure.map g (MeasureTheory.Measure.map f μ) = MeasureTheory.Measure.map (g ∘ f) μ

full_name: AEMeasurable.prod_mk
code: @[fun_prop, measurability]
theorem prod_mk {f : α → β} {g : α → γ} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) :
    AEMeasurable (fun x => (f x, g x)) μ 
goal: AEMeasurable (fun x => (f x, g x)) μ

full_name: AEMeasurable.exists_ae_eq_range_subset
code: theorem exists_ae_eq_range_subset (H : AEMeasurable f μ) {t : Set β} (ht : ∀ᵐ x ∂μ, f x ∈ t)
    (h₀ : t.Nonempty) : ∃ g, Measurable g ∧ range g ⊆ t ∧ f =ᵐ[μ] g 
goal: ∃ g, Measurable g ∧ Set.range g ⊆ t ∧ f =ᵐ[μ] g

full_name: AEMeasurable.exists_measurable_nonneg
code: theorem exists_measurable_nonneg {β} [Preorder β] [Zero β] {mβ : MeasurableSpace β} {f : α → β}
    (hf : AEMeasurable f μ) (f_nn : ∀ᵐ t ∂μ, 0 ≤ f t) : ∃ g, Measurable g ∧ 0 ≤ g ∧ f =ᵐ[μ] g 
goal: ∃ g, Measurable g ∧ 0 ≤ g ∧ f =ᵐ[μ] g

full_name: AEMeasurable.subtype_mk
code: theorem subtype_mk (h : AEMeasurable f μ) {s : Set β} {hfs : ∀ x, f x ∈ s} :
    AEMeasurable (codRestrict f s hfs) μ 
goal: AEMeasurable (Set.codRestrict f s hfs) μ

full_name: aemeasurable_const'
code: theorem aemeasurable_const' (h : ∀ᵐ (x) (y) ∂μ, f x = f y) : AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: aemeasurable_uIoc_iff
code: theorem aemeasurable_uIoc_iff [LinearOrder α] {f : α → β} {a b : α} :
    (AEMeasurable f <| μ.restrict <| Ι a b) ↔
      (AEMeasurable f <| μ.restrict <| Ioc a b) ∧ (AEMeasurable f <| μ.restrict <| Ioc b a) 
goal: AEMeasurable f (μ.restrict (Ι a b)) ↔
  AEMeasurable f (μ.restrict (Set.Ioc a b)) ∧ AEMeasurable f (μ.restrict (Set.Ioc b a))

full_name: aemeasurable_iff_measurable
code: theorem aemeasurable_iff_measurable [μ.IsComplete] : AEMeasurable f μ ↔ Measurable f 
goal: AEMeasurable f μ ↔ Measurable f

full_name: MeasurableEmbedding.aemeasurable_map_iff
code: theorem MeasurableEmbedding.aemeasurable_map_iff {g : β → γ} (hf : MeasurableEmbedding f) :
    AEMeasurable g (μ.map f) ↔ AEMeasurable (g ∘ f) μ 
goal: AEMeasurable g (MeasureTheory.Measure.map f μ) ↔ AEMeasurable (g ∘ f) μ

full_name: MeasurableEmbedding.aemeasurable_comp_iff
code: theorem MeasurableEmbedding.aemeasurable_comp_iff {g : β → γ} (hg : MeasurableEmbedding g)
    {μ : Measure α} : AEMeasurable (g ∘ f) μ ↔ AEMeasurable f μ 
goal: AEMeasurable (g ∘ f) μ ↔ AEMeasurable f μ

full_name: aemeasurable_restrict_iff_comap_subtype
code: theorem aemeasurable_restrict_iff_comap_subtype {s : Set α} (hs : MeasurableSet s) {μ : Measure α}
    {f : α → β} : AEMeasurable f (μ.restrict s) ↔ AEMeasurable (f ∘ (↑) : s → β) (comap (↑) μ) 
goal: AEMeasurable f (μ.restrict s) ↔ AEMeasurable (f ∘ Subtype.val) (MeasureTheory.Measure.comap Subtype.val μ)

full_name: aemeasurable_one
code: @[to_additive] -- @[to_additive (attr := simp)] -- Porting note (#10618): simp can prove this
theorem aemeasurable_one [One β] : AEMeasurable (fun _ : α => (1 : β)) μ 
goal: AEMeasurable (fun x => 1) μ

full_name: aemeasurable_zero
code: @[to_additive] -- @[to_additive (attr := simp)] -- Porting note (#10618): simp can prove this
theorem aemeasurable_one [One β] : AEMeasurable (fun _ : α => (1 : β)) μ 
goal: AEMeasurable (fun x => 0) μ

full_name: aemeasurable_smul_measure_iff
code: @[simp]
theorem aemeasurable_smul_measure_iff {c : ℝ≥0∞} (hc : c ≠ 0) :
    AEMeasurable f (c • μ) ↔ AEMeasurable f μ 
goal: AEMeasurable f (c • μ) ↔ AEMeasurable f μ

full_name: aemeasurable_of_aemeasurable_trim
code: theorem aemeasurable_of_aemeasurable_trim {α} {m m0 : MeasurableSpace α} {μ : Measure α}
    (hm : m ≤ m0) {f : α → β} (hf : AEMeasurable f (μ.trim hm)) : AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: aemeasurable_restrict_of_measurable_subtype
code: theorem aemeasurable_restrict_of_measurable_subtype {s : Set α} (hs : MeasurableSet s)
    (hf : Measurable fun x : s => f x) : AEMeasurable f (μ.restrict s) 
goal: AEMeasurable f (μ.restrict s)

full_name: aemeasurable_map_equiv_iff
code: theorem aemeasurable_map_equiv_iff (e : α ≃ᵐ β) {f : β → γ} :
    AEMeasurable f (μ.map e) ↔ AEMeasurable (f ∘ e) μ 
goal: AEMeasurable f (MeasureTheory.Measure.map (⇑e) μ) ↔ AEMeasurable (f ∘ ⇑e) μ

full_name: AEMeasurable.restrict
code: theorem AEMeasurable.restrict (hfm : AEMeasurable f μ) {s} : AEMeasurable f (μ.restrict s) 
goal: AEMeasurable f (μ.restrict s)

full_name: aemeasurable_Ioi_of_forall_Ioc
code: theorem aemeasurable_Ioi_of_forall_Ioc {β} {mβ : MeasurableSpace β} [LinearOrder α]
    [(atTop : Filter α).IsCountablyGenerated] {x : α} {g : α → β}
    (g_meas : ∀ t > x, AEMeasurable g (μ.restrict (Ioc x t))) :
    AEMeasurable g (μ.restrict (Ioi x)) 
goal: AEMeasurable g (μ.restrict (Set.Ioi x))

full_name: aemeasurable_indicator_iff
code: theorem aemeasurable_indicator_iff {s} (hs : MeasurableSet s) :
    AEMeasurable (indicator s f) μ ↔ AEMeasurable f (μ.restrict s) 
goal: AEMeasurable (s.indicator f) μ ↔ AEMeasurable f (μ.restrict s)

full_name: aemeasurable_indicator_iff₀
code: theorem aemeasurable_indicator_iff₀ {s} (hs : NullMeasurableSet s μ) :
    AEMeasurable (indicator s f) μ ↔ AEMeasurable f (μ.restrict s) 
goal: AEMeasurable (s.indicator f) μ ↔ AEMeasurable f (μ.restrict s)

full_name: aemeasurable_indicator_const_iff
code: /-- A characterization of the a.e.-measurability of the indicator function which takes a constant
value `b` on a set `A` and `0` elsewhere. -/
lemma aemeasurable_indicator_const_iff {s} [MeasurableSingletonClass β] (b : β) [NeZero b] :
    AEMeasurable (s.indicator (fun _ ↦ b)) μ ↔ NullMeasurableSet s μ 
goal: AEMeasurable (s.indicator fun x => b) μ ↔ MeasureTheory.NullMeasurableSet s μ

full_name: AEMeasurable.indicator
code: @[measurability]
theorem AEMeasurable.indicator (hfm : AEMeasurable f μ) {s} (hs : MeasurableSet s) :
    AEMeasurable (s.indicator f) μ 
goal: AEMeasurable (s.indicator f) μ

full_name: AEMeasurable.indicator₀
code: theorem AEMeasurable.indicator₀ (hfm : AEMeasurable f μ) {s} (hs : NullMeasurableSet s μ) :
    AEMeasurable (s.indicator f) μ 
goal: AEMeasurable (s.indicator f) μ

full_name: MeasureTheory.Measure.restrict_map_of_aemeasurable
code: theorem MeasureTheory.Measure.restrict_map_of_aemeasurable {f : α → δ} (hf : AEMeasurable f μ)
    {s : Set δ} (hs : MeasurableSet s) : (μ.map f).restrict s = (μ.restrict <| f ⁻¹' s).map f 
goal: (MeasureTheory.Measure.map f μ).restrict s = MeasureTheory.Measure.map f (μ.restrict (f ⁻¹' s))

full_name: MeasureTheory.Measure.map_mono_of_aemeasurable
code: theorem MeasureTheory.Measure.map_mono_of_aemeasurable {f : α → δ} (h : μ ≤ ν)
    (hf : AEMeasurable f ν) : μ.map f ≤ ν.map f 
goal: MeasureTheory.Measure.map f μ ≤ MeasureTheory.Measure.map f ν

full_name: MeasureTheory.NullMeasurable.aemeasurable
code: /-- If the `σ`-algebra of the codomain of a null measurable function is countably generated,
then the function is a.e.-measurable. -/
lemma MeasureTheory.NullMeasurable.aemeasurable {f : α → β}
    [hc : MeasurableSpace.CountablyGenerated β] (h : NullMeasurable f μ) : AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: MeasureTheory.NullMeasurable.aemeasurable_of_aerange
code: /-- Let `f : α → β` be a null measurable function
such that a.e. all values of `f` belong to a set `t`
such that the restriction of the `σ`-algebra in the codomain to `t` is countably generated,
then `f` is a.e.-measurable. -/
lemma MeasureTheory.NullMeasurable.aemeasurable_of_aerange {f : α → β} {t : Set β}
    [MeasurableSpace.CountablyGenerated t] (h : NullMeasurable f μ) (hft : ∀ᵐ x ∂μ, f x ∈ t) :
    AEMeasurable f μ 
goal: AEMeasurable f μ

full_name: MeasureTheory.Measure.map_sum
code: lemma map_sum {ι : Type*} {m : ι → Measure α} {f : α → β} (hf : AEMeasurable f (Measure.sum m)) :
    Measure.map f (Measure.sum m) = Measure.sum (fun i ↦ Measure.map f (m i)) 
goal: MeasureTheory.Measure.map f (MeasureTheory.Measure.sum m) =
  MeasureTheory.Measure.sum fun i => MeasureTheory.Measure.map f (m i)

full_name: MeasureTheory.Measure.instSFiniteMap
code: instance (μ : Measure α) (f : α → β) [SFinite μ] : SFinite (μ.map f) 
goal: MeasureTheory.SFinite (MeasureTheory.Measure.map f μ)