measure_theory.function.simple_funcMathlib.MeasureTheory.Function.SimpleFunc

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
 -/
 import MeasureTheory.Constructions.BorelSpace.Basic
-import Algebra.IndicatorFunction
-import Algebra.Support
+import Algebra.Function.Indicator
+import Algebra.Function.Support
 
 #align_import measure_theory.function.simple_func from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
 
@@ -1460,7 +1460,7 @@ theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (y «expr ≠ » 0) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (y «expr ≠ » 0) -/
 #print MeasureTheory.SimpleFunc.finMeasSupp_iff /-
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
Diff
@@ -142,11 +142,9 @@ theorem mem_range_of_measure_ne_zero {f : α →ₛ β} {x : β} {μ : Measure 
 #align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero
 -/
 
-#print MeasureTheory.SimpleFunc.forall_range_iff /-
 theorem forall_range_iff {f : α →ₛ β} {p : β → Prop} : (∀ y ∈ f.range, p y) ↔ ∀ x, p (f x) := by
-  simp only [mem_range, Set.forall_range_iff]
+  simp only [mem_range, Set.forall_mem_range]
 #align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iff
--/
 
 #print MeasureTheory.SimpleFunc.exists_range_iff /-
 theorem exists_range_iff {f : α →ₛ β} {p : β → Prop} : (∃ y ∈ f.range, p y) ↔ ∃ x, p (f x) := by
@@ -207,7 +205,7 @@ theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).ran
 theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, ∀ x, f x = c :=
   by
   have hf_meas := @simple_func.measurable_set_fiber α _ ⊥ f
-  simp_rw [MeasurableSpace.measurableSet_bot_iff] at hf_meas 
+  simp_rw [MeasurableSpace.measurableSet_bot_iff] at hf_meas
   cases isEmpty_or_nonempty α
   · simp only [IsEmpty.forall_iff, exists_const]
   · specialize hf_meas (f h.some)
@@ -218,7 +216,7 @@ theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, 
       exact Set.mem_singleton _
     · refine' ⟨f h.some, fun x => _⟩
       have : x ∈ f ⁻¹' {f h.some} := by rw [hf_meas]; exact Set.mem_univ x
-      rwa [Set.mem_preimage, Set.mem_singleton_iff] at this 
+      rwa [Set.mem_preimage, Set.mem_singleton_iff] at this
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
 -/
 
@@ -693,9 +691,9 @@ theorem range_eq_empty_of_isEmpty {β} [hα : IsEmpty α] (f : α →ₛ β) : f
   rw [← Finset.not_nonempty_iff_eq_empty]
   by_contra
   obtain ⟨y, hy_mem⟩ := h
-  rw [simple_func.mem_range, Set.mem_range] at hy_mem 
+  rw [simple_func.mem_range, Set.mem_range] at hy_mem
   obtain ⟨x, hxy⟩ := hy_mem
-  rw [isEmpty_iff] at hα 
+  rw [isEmpty_iff] at hα
   exact hα x
 #align measure_theory.simple_func.range_eq_empty_of_is_empty MeasureTheory.SimpleFunc.range_eq_empty_of_isEmpty
 -/
@@ -984,7 +982,7 @@ theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     (hr : r ∈ (restrict f s).range) (h0 : r ≠ 0) : r ∈ f '' s :=
   if hs : MeasurableSet s then by simpa [mem_restrict_range hs, h0] using hr
   else by
-    rw [restrict_of_not_measurable hs] at hr 
+    rw [restrict_of_not_measurable hs] at hr
     exact (h0 <| eq_zero_of_mem_range_zero hr).elim
 #align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict
 -/
@@ -1541,7 +1539,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     f.lintegral μ < ∞ := by
   refine' sum_lt_top fun a ha => _
   rcases eq_or_ne a ∞ with (rfl | ha)
-  · simp only [ae_iff, Ne.def, Classical.not_not] at hf 
+  · simp only [ae_iff, Ne.def, Classical.not_not] at hf
     simp [Set.preimage, hf]
   · by_cases ha0 : a = 0
     · subst a; rwa [MulZeroClass.zero_mul]
@@ -1553,7 +1551,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
 theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
   by
   refine' fin_meas_supp_iff.2 fun b hb => _
-  rw [f.lintegral_eq_of_subset' (Finset.subset_insert b _)] at h 
+  rw [f.lintegral_eq_of_subset' (Finset.subset_insert b _)] at h
   refine' ENNReal.lt_top_of_mul_ne_top_right _ hb
   exact (lt_top_of_sum_ne_top h (Finset.mem_insert_self _ _)).Ne
 #align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top
@@ -1587,9 +1585,9 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
     (f : SimpleFunc α γ) : P f :=
   by
   generalize h : f.range \ {0} = s
-  rw [← Finset.coe_inj, Finset.coe_sdiff, Finset.coe_singleton, simple_func.coe_range] at h 
+  rw [← Finset.coe_inj, Finset.coe_sdiff, Finset.coe_singleton, simple_func.coe_range] at h
   revert s f h; refine' Finset.induction _ _
-  · intro f hf; rw [Finset.coe_empty, diff_eq_empty, range_subset_singleton] at hf 
+  · intro f hf; rw [Finset.coe_empty, diff_eq_empty, range_subset_singleton] at hf
     convert h_ind 0 MeasurableSet.univ; ext x; simp [hf]
   · intro x s hxs ih f hf
     have mx := f.measurable_set_preimage {x}
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
 -/
-import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
-import Mathbin.Algebra.IndicatorFunction
-import Mathbin.Algebra.Support
+import MeasureTheory.Constructions.BorelSpace.Basic
+import Algebra.IndicatorFunction
+import Algebra.Support
 
 #align_import measure_theory.function.simple_func from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
 
@@ -1462,7 +1462,7 @@ theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ≠ » 0) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (y «expr ≠ » 0) -/
 #print MeasureTheory.SimpleFunc.finMeasSupp_iff /-
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2018 Mario Carneiro. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
-
-! This file was ported from Lean 3 source module measure_theory.function.simple_func
-! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
 import Mathbin.Algebra.IndicatorFunction
 import Mathbin.Algebra.Support
 
+#align_import measure_theory.function.simple_func from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
+
 /-!
 # Simple functions
 
@@ -1465,7 +1462,7 @@ theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (y «expr ≠ » 0) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ≠ » 0) -/
 #print MeasureTheory.SimpleFunc.finMeasSupp_iff /-
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
Diff
@@ -55,7 +55,6 @@ structure SimpleFunc.{u, v} (α : Type u) [MeasurableSpace α] (β : Type v) whe
 #align measure_theory.simple_func MeasureTheory.SimpleFunc
 -/
 
--- mathport name: «expr →ₛ »
 local infixr:25 " →ₛ " => SimpleFunc
 
 namespace SimpleFunc
@@ -70,27 +69,37 @@ instance instCoeFun : CoeFun (α →ₛ β) fun _ => α → β :=
 #align measure_theory.simple_func.has_coe_to_fun MeasureTheory.SimpleFunc.instCoeFun
 -/
 
+#print MeasureTheory.SimpleFunc.coe_injective /-
 theorem coe_injective ⦃f g : α →ₛ β⦄ (H : (f : α → β) = g) : f = g := by
   cases f <;> cases g <;> congr <;> exact H
 #align measure_theory.simple_func.coe_injective MeasureTheory.SimpleFunc.coe_injective
+-/
 
+#print MeasureTheory.SimpleFunc.ext /-
 @[ext]
 theorem ext {f g : α →ₛ β} (H : ∀ a, f a = g a) : f = g :=
   coe_injective <| funext H
 #align measure_theory.simple_func.ext MeasureTheory.SimpleFunc.ext
+-/
 
+#print MeasureTheory.SimpleFunc.finite_range /-
 theorem finite_range (f : α →ₛ β) : (Set.range f).Finite :=
   f.finite_range'
 #align measure_theory.simple_func.finite_range MeasureTheory.SimpleFunc.finite_range
+-/
 
+#print MeasureTheory.SimpleFunc.measurableSet_fiber /-
 theorem measurableSet_fiber (f : α →ₛ β) (x : β) : MeasurableSet (f ⁻¹' {x}) :=
   f.measurableSet_fiber' x
 #align measure_theory.simple_func.measurable_set_fiber MeasureTheory.SimpleFunc.measurableSet_fiber
+-/
 
+#print MeasureTheory.SimpleFunc.apply_mk /-
 @[simp]
 theorem apply_mk (f : α → β) (h h') (x : α) : SimpleFunc.mk f h h' x = f x :=
   rfl
 #align measure_theory.simple_func.apply_mk MeasureTheory.SimpleFunc.apply_mk
+-/
 
 #print MeasureTheory.SimpleFunc.ofIsEmpty /-
 /-- Simple function defined on the empty type. -/
@@ -108,37 +117,51 @@ protected def range (f : α →ₛ β) : Finset β :=
 #align measure_theory.simple_func.range MeasureTheory.SimpleFunc.range
 -/
 
+#print MeasureTheory.SimpleFunc.mem_range /-
 @[simp]
 theorem mem_range {f : α →ₛ β} {b} : b ∈ f.range ↔ b ∈ range f :=
   Finite.mem_toFinset _
 #align measure_theory.simple_func.mem_range MeasureTheory.SimpleFunc.mem_range
+-/
 
+#print MeasureTheory.SimpleFunc.mem_range_self /-
 theorem mem_range_self (f : α →ₛ β) (x : α) : f x ∈ f.range :=
   mem_range.2 ⟨x, rfl⟩
 #align measure_theory.simple_func.mem_range_self MeasureTheory.SimpleFunc.mem_range_self
+-/
 
+#print MeasureTheory.SimpleFunc.coe_range /-
 @[simp]
 theorem coe_range (f : α →ₛ β) : (↑f.range : Set β) = Set.range f :=
   f.finite_range.coe_toFinset
 #align measure_theory.simple_func.coe_range MeasureTheory.SimpleFunc.coe_range
+-/
 
+#print MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero /-
 theorem mem_range_of_measure_ne_zero {f : α →ₛ β} {x : β} {μ : Measure α} (H : μ (f ⁻¹' {x}) ≠ 0) :
     x ∈ f.range :=
   let ⟨a, ha⟩ := nonempty_of_measure_ne_zero H
   mem_range.2 ⟨a, ha⟩
 #align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero
+-/
 
+#print MeasureTheory.SimpleFunc.forall_range_iff /-
 theorem forall_range_iff {f : α →ₛ β} {p : β → Prop} : (∀ y ∈ f.range, p y) ↔ ∀ x, p (f x) := by
   simp only [mem_range, Set.forall_range_iff]
 #align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iff
+-/
 
+#print MeasureTheory.SimpleFunc.exists_range_iff /-
 theorem exists_range_iff {f : α →ₛ β} {p : β → Prop} : (∃ y ∈ f.range, p y) ↔ ∃ x, p (f x) := by
   simpa only [mem_range, exists_prop] using Set.exists_range_iff
 #align measure_theory.simple_func.exists_range_iff MeasureTheory.SimpleFunc.exists_range_iff
+-/
 
+#print MeasureTheory.SimpleFunc.preimage_eq_empty_iff /-
 theorem preimage_eq_empty_iff (f : α →ₛ β) (b : β) : f ⁻¹' {b} = ∅ ↔ b ∉ f.range :=
   preimage_singleton_eq_empty.trans <| not_congr mem_range.symm
 #align measure_theory.simple_func.preimage_eq_empty_iff MeasureTheory.SimpleFunc.preimage_eq_empty_iff
+-/
 
 #print MeasureTheory.SimpleFunc.exists_forall_le /-
 theorem exists_forall_le [Nonempty β] [Preorder β] [IsDirected β (· ≤ ·)] (f : α →ₛ β) :
@@ -163,10 +186,12 @@ theorem const_apply (a : α) (b : β) : (const α b) a = b :=
 #align measure_theory.simple_func.const_apply MeasureTheory.SimpleFunc.const_apply
 -/
 
+#print MeasureTheory.SimpleFunc.coe_const /-
 @[simp]
 theorem coe_const (b : β) : ⇑(const α b) = Function.const α b :=
   rfl
 #align measure_theory.simple_func.coe_const MeasureTheory.SimpleFunc.coe_const
+-/
 
 #print MeasureTheory.SimpleFunc.range_const /-
 @[simp]
@@ -181,6 +206,7 @@ theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).ran
 #align measure_theory.simple_func.range_const_subset MeasureTheory.SimpleFunc.range_const_subset
 -/
 
+#print MeasureTheory.SimpleFunc.simpleFunc_bot /-
 theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, ∀ x, f x = c :=
   by
   have hf_meas := @simple_func.measurable_set_fiber α _ ⊥ f
@@ -197,7 +223,9 @@ theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, 
       have : x ∈ f ⁻¹' {f h.some} := by rw [hf_meas]; exact Set.mem_univ x
       rwa [Set.mem_preimage, Set.mem_singleton_iff] at this 
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
+-/
 
+#print MeasureTheory.SimpleFunc.simpleFunc_bot' /-
 theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
     ∃ c, f = @SimpleFunc.const α _ ⊥ c :=
   by
@@ -206,7 +234,9 @@ theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
   ext1 x
   rw [h_eq x, simple_func.coe_const]
 #align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'
+-/
 
+#print MeasureTheory.SimpleFunc.measurableSet_cut /-
 theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b, MeasurableSet {a | r a b}) :
     MeasurableSet {a | r a (f a)} :=
   by
@@ -220,11 +250,14 @@ theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b
     MeasurableSet.biUnion f.finite_range.countable fun b _ =>
       MeasurableSet.inter (h b) (f.measurable_set_fiber _)
 #align measure_theory.simple_func.measurable_set_cut MeasureTheory.SimpleFunc.measurableSet_cut
+-/
 
+#print MeasureTheory.SimpleFunc.measurableSet_preimage /-
 @[measurability]
 theorem measurableSet_preimage (f : α →ₛ β) (s) : MeasurableSet (f ⁻¹' s) :=
   measurableSet_cut (fun _ b => b ∈ s) f fun b => MeasurableSet.const (b ∈ s)
 #align measure_theory.simple_func.measurable_set_preimage MeasureTheory.SimpleFunc.measurableSet_preimage
+-/
 
 #print MeasureTheory.SimpleFunc.measurable /-
 /-- A simple function is measurable -/
@@ -242,15 +275,19 @@ protected theorem aemeasurable [MeasurableSpace β] {μ : Measure α} (f : α 
 #align measure_theory.simple_func.ae_measurable MeasureTheory.SimpleFunc.aemeasurable
 -/
 
+#print MeasureTheory.SimpleFunc.sum_measure_preimage_singleton /-
 protected theorem sum_measure_preimage_singleton (f : α →ₛ β) {μ : Measure α} (s : Finset β) :
     ∑ y in s, μ (f ⁻¹' {y}) = μ (f ⁻¹' ↑s) :=
   sum_measure_preimage_singleton _ fun _ _ => f.measurableSet_fiber _
 #align measure_theory.simple_func.sum_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_measure_preimage_singleton
+-/
 
+#print MeasureTheory.SimpleFunc.sum_range_measure_preimage_singleton /-
 theorem sum_range_measure_preimage_singleton (f : α →ₛ β) (μ : Measure α) :
     ∑ y in f.range, μ (f ⁻¹' {y}) = μ univ := by
   rw [f.sum_measure_preimage_singleton, coe_range, preimage_range]
 #align measure_theory.simple_func.sum_range_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_range_measure_preimage_singleton
+-/
 
 #print MeasureTheory.SimpleFunc.piecewise /-
 /-- If-then-else as a `simple_func`. -/
@@ -262,38 +299,51 @@ def piecewise (s : Set α) (hs : MeasurableSet s) (f g : α →ₛ β) : α →
 #align measure_theory.simple_func.piecewise MeasureTheory.SimpleFunc.piecewise
 -/
 
+#print MeasureTheory.SimpleFunc.coe_piecewise /-
 @[simp]
 theorem coe_piecewise {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β) :
     ⇑(piecewise s hs f g) = s.piecewise f g :=
   rfl
 #align measure_theory.simple_func.coe_piecewise MeasureTheory.SimpleFunc.coe_piecewise
+-/
 
+#print MeasureTheory.SimpleFunc.piecewise_apply /-
 theorem piecewise_apply {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β) (a) :
     piecewise s hs f g a = if a ∈ s then f a else g a :=
   rfl
 #align measure_theory.simple_func.piecewise_apply MeasureTheory.SimpleFunc.piecewise_apply
+-/
 
+#print MeasureTheory.SimpleFunc.piecewise_compl /-
 @[simp]
 theorem piecewise_compl {s : Set α} (hs : MeasurableSet (sᶜ)) (f g : α →ₛ β) :
     piecewise (sᶜ) hs f g = piecewise s hs.ofCompl g f :=
   coe_injective <| by simp [hs]
 #align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_compl
+-/
 
+#print MeasureTheory.SimpleFunc.piecewise_univ /-
 @[simp]
 theorem piecewise_univ (f g : α →ₛ β) : piecewise univ MeasurableSet.univ f g = f :=
   coe_injective <| by simp
 #align measure_theory.simple_func.piecewise_univ MeasureTheory.SimpleFunc.piecewise_univ
+-/
 
+#print MeasureTheory.SimpleFunc.piecewise_empty /-
 @[simp]
 theorem piecewise_empty (f g : α →ₛ β) : piecewise ∅ MeasurableSet.empty f g = g :=
   coe_injective <| by simp
 #align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_empty
+-/
 
+#print MeasureTheory.SimpleFunc.support_indicator /-
 theorem support_indicator [Zero β] {s : Set α} (hs : MeasurableSet s) (f : α →ₛ β) :
     Function.support (f.piecewise s hs (SimpleFunc.const α 0)) = s ∩ Function.support f :=
   Set.support_indicator
 #align measure_theory.simple_func.support_indicator MeasureTheory.SimpleFunc.support_indicator
+-/
 
+#print MeasureTheory.SimpleFunc.range_indicator /-
 theorem range_indicator {s : Set α} (hs : MeasurableSet s) (hs_nonempty : s.Nonempty)
     (hs_ne_univ : s ≠ univ) (x y : β) : (piecewise s hs (const α x) (const α y)).range = {x, y} :=
   by
@@ -301,11 +351,14 @@ theorem range_indicator {s : Set α} (hs : MeasurableSet s) (hs_nonempty : s.Non
     Finset.coe_insert, Finset.coe_singleton, hs_nonempty.image_const,
     (nonempty_compl.2 hs_ne_univ).image_const, singleton_union]
 #align measure_theory.simple_func.range_indicator MeasureTheory.SimpleFunc.range_indicator
+-/
 
+#print MeasureTheory.SimpleFunc.measurable_bind /-
 theorem measurable_bind [MeasurableSpace γ] (f : α →ₛ β) (g : β → α → γ)
     (hg : ∀ b, Measurable (g b)) : Measurable fun a => g (f a) a := fun s hs =>
   f.measurableSet_cut (fun a b => g b a ∈ s) fun b => hg b hs
 #align measure_theory.simple_func.measurable_bind MeasureTheory.SimpleFunc.measurable_bind
+-/
 
 #print MeasureTheory.SimpleFunc.bind /-
 /-- If `f : α →ₛ β` is a simple function and `g : β → α →ₛ γ` is a family of simple functions,
@@ -318,10 +371,12 @@ def bind (f : α →ₛ β) (g : β → α →ₛ γ) : α →ₛ γ :=
 #align measure_theory.simple_func.bind MeasureTheory.SimpleFunc.bind
 -/
 
+#print MeasureTheory.SimpleFunc.bind_apply /-
 @[simp]
 theorem bind_apply (f : α →ₛ β) (g : β → α →ₛ γ) (a) : f.bind g a = g (f a) a :=
   rfl
 #align measure_theory.simple_func.bind_apply MeasureTheory.SimpleFunc.bind_apply
+-/
 
 #print MeasureTheory.SimpleFunc.map /-
 /-- Given a function `g : β → γ` and a simple function `f : α →ₛ β`, `f.map g` return the simple
@@ -331,29 +386,40 @@ def map (g : β → γ) (f : α →ₛ β) : α →ₛ γ :=
 #align measure_theory.simple_func.map MeasureTheory.SimpleFunc.map
 -/
 
+#print MeasureTheory.SimpleFunc.map_apply /-
 theorem map_apply (g : β → γ) (f : α →ₛ β) (a) : f.map g a = g (f a) :=
   rfl
 #align measure_theory.simple_func.map_apply MeasureTheory.SimpleFunc.map_apply
+-/
 
+#print MeasureTheory.SimpleFunc.map_map /-
 theorem map_map (g : β → γ) (h : γ → δ) (f : α →ₛ β) : (f.map g).map h = f.map (h ∘ g) :=
   rfl
 #align measure_theory.simple_func.map_map MeasureTheory.SimpleFunc.map_map
+-/
 
+#print MeasureTheory.SimpleFunc.coe_map /-
 @[simp]
 theorem coe_map (g : β → γ) (f : α →ₛ β) : (f.map g : α → γ) = g ∘ f :=
   rfl
 #align measure_theory.simple_func.coe_map MeasureTheory.SimpleFunc.coe_map
+-/
 
+#print MeasureTheory.SimpleFunc.range_map /-
 @[simp]
 theorem range_map [DecidableEq γ] (g : β → γ) (f : α →ₛ β) : (f.map g).range = f.range.image g :=
   Finset.coe_injective <| by simp only [coe_range, coe_map, Finset.coe_image, range_comp]
 #align measure_theory.simple_func.range_map MeasureTheory.SimpleFunc.range_map
+-/
 
+#print MeasureTheory.SimpleFunc.map_const /-
 @[simp]
 theorem map_const (g : β → γ) (b : β) : (const α b).map g = const α (g b) :=
   rfl
 #align measure_theory.simple_func.map_const MeasureTheory.SimpleFunc.map_const
+-/
 
+#print MeasureTheory.SimpleFunc.map_preimage /-
 theorem map_preimage (f : α →ₛ β) (g : β → γ) (s : Set γ) :
     f.map g ⁻¹' s = f ⁻¹' ↑(f.range.filterₓ fun b => g b ∈ s) :=
   by
@@ -361,11 +427,14 @@ theorem map_preimage (f : α →ₛ β) (g : β → γ) (s : Set γ) :
     ← mem_preimage, inter_comm, preimage_inter_range]
   apply preimage_comp
 #align measure_theory.simple_func.map_preimage MeasureTheory.SimpleFunc.map_preimage
+-/
 
+#print MeasureTheory.SimpleFunc.map_preimage_singleton /-
 theorem map_preimage_singleton (f : α →ₛ β) (g : β → γ) (c : γ) :
     f.map g ⁻¹' {c} = f ⁻¹' ↑(f.range.filterₓ fun b => g b = c) :=
   map_preimage _ _ _
 #align measure_theory.simple_func.map_preimage_singleton MeasureTheory.SimpleFunc.map_preimage_singleton
+-/
 
 #print MeasureTheory.SimpleFunc.comp /-
 /-- Composition of a `simple_fun` and a measurable function is a `simple_func`. -/
@@ -377,16 +446,20 @@ def comp [MeasurableSpace β] (f : β →ₛ γ) (g : α → β) (hgm : Measurab
 #align measure_theory.simple_func.comp MeasureTheory.SimpleFunc.comp
 -/
 
+#print MeasureTheory.SimpleFunc.coe_comp /-
 @[simp]
 theorem coe_comp [MeasurableSpace β] (f : β →ₛ γ) {g : α → β} (hgm : Measurable g) :
     ⇑(f.comp g hgm) = f ∘ g :=
   rfl
 #align measure_theory.simple_func.coe_comp MeasureTheory.SimpleFunc.coe_comp
+-/
 
+#print MeasureTheory.SimpleFunc.range_comp_subset_range /-
 theorem range_comp_subset_range [MeasurableSpace β] (f : β →ₛ γ) {g : α → β} (hgm : Measurable g) :
     (f.comp g hgm).range ⊆ f.range :=
   Finset.coe_subset.1 <| by simp only [coe_range, coe_comp, Set.range_comp_subset_range]
 #align measure_theory.simple_func.range_comp_subset_range MeasureTheory.SimpleFunc.range_comp_subset_range
+-/
 
 #print MeasureTheory.SimpleFunc.extend /-
 /-- Extend a `simple_func` along a measurable embedding: `f₁.extend g hg f₂` is the function
@@ -403,29 +476,37 @@ def extend [MeasurableSpace β] (f₁ : α →ₛ γ) (g : α → β) (hg : Meas
 #align measure_theory.simple_func.extend MeasureTheory.SimpleFunc.extend
 -/
 
+#print MeasureTheory.SimpleFunc.extend_apply /-
 @[simp]
 theorem extend_apply [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) (x : α) : (f₁.extend g hg f₂) (g x) = f₁ x :=
   hg.Injective.extend_apply _ _ _
 #align measure_theory.simple_func.extend_apply MeasureTheory.SimpleFunc.extend_apply
+-/
 
+#print MeasureTheory.SimpleFunc.extend_apply' /-
 @[simp]
 theorem extend_apply' [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) {y : β} (h : ¬∃ x, g x = y) : (f₁.extend g hg f₂) y = f₂ y :=
   Function.extend_apply' _ _ _ h
 #align measure_theory.simple_func.extend_apply' MeasureTheory.SimpleFunc.extend_apply'
+-/
 
+#print MeasureTheory.SimpleFunc.extend_comp_eq' /-
 @[simp]
 theorem extend_comp_eq' [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) : f₁.extend g hg f₂ ∘ g = f₁ :=
   funext fun x => extend_apply _ _ _ _
 #align measure_theory.simple_func.extend_comp_eq' MeasureTheory.SimpleFunc.extend_comp_eq'
+-/
 
+#print MeasureTheory.SimpleFunc.extend_comp_eq /-
 @[simp]
 theorem extend_comp_eq [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) : (f₁.extend g hg f₂).comp g hg.Measurable = f₁ :=
   coe_injective <| extend_comp_eq' _ _ _
 #align measure_theory.simple_func.extend_comp_eq MeasureTheory.SimpleFunc.extend_comp_eq
+-/
 
 #print MeasureTheory.SimpleFunc.seq /-
 /-- If `f` is a simple function taking values in `β → γ` and `g` is another simple function
@@ -435,10 +516,12 @@ def seq (f : α →ₛ β → γ) (g : α →ₛ β) : α →ₛ γ :=
 #align measure_theory.simple_func.seq MeasureTheory.SimpleFunc.seq
 -/
 
+#print MeasureTheory.SimpleFunc.seq_apply /-
 @[simp]
 theorem seq_apply (f : α →ₛ β → γ) (g : α →ₛ β) (a : α) : f.seq g a = f a (g a) :=
   rfl
 #align measure_theory.simple_func.seq_apply MeasureTheory.SimpleFunc.seq_apply
+-/
 
 #print MeasureTheory.SimpleFunc.pair /-
 /-- Combine two simple functions `f : α →ₛ β` and `g : α →ₛ β`
@@ -448,25 +531,33 @@ def pair (f : α →ₛ β) (g : α →ₛ γ) : α →ₛ β × γ :=
 #align measure_theory.simple_func.pair MeasureTheory.SimpleFunc.pair
 -/
 
+#print MeasureTheory.SimpleFunc.pair_apply /-
 @[simp]
 theorem pair_apply (f : α →ₛ β) (g : α →ₛ γ) (a) : pair f g a = (f a, g a) :=
   rfl
 #align measure_theory.simple_func.pair_apply MeasureTheory.SimpleFunc.pair_apply
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print MeasureTheory.SimpleFunc.pair_preimage /-
 theorem pair_preimage (f : α →ₛ β) (g : α →ₛ γ) (s : Set β) (t : Set γ) :
     pair f g ⁻¹' s ×ˢ t = f ⁻¹' s ∩ g ⁻¹' t :=
   rfl
 #align measure_theory.simple_func.pair_preimage MeasureTheory.SimpleFunc.pair_preimage
+-/
 
+#print MeasureTheory.SimpleFunc.pair_preimage_singleton /-
 -- A special form of `pair_preimage`
 theorem pair_preimage_singleton (f : α →ₛ β) (g : α →ₛ γ) (b : β) (c : γ) :
     pair f g ⁻¹' {(b, c)} = f ⁻¹' {b} ∩ g ⁻¹' {c} := by rw [← singleton_prod_singleton];
   exact pair_preimage _ _ _ _
 #align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singleton
+-/
 
+#print MeasureTheory.SimpleFunc.bind_const /-
 theorem bind_const (f : α →ₛ β) : f.bind (const α) = f := by ext <;> simp
 #align measure_theory.simple_func.bind_const MeasureTheory.SimpleFunc.bind_const
+-/
 
 @[to_additive]
 instance [One β] : One (α →ₛ β) :=
@@ -590,11 +681,13 @@ theorem inf_apply [Inf β] (f g : α →ₛ β) (a : α) : (f ⊓ g) a = f a ⊓
 #align measure_theory.simple_func.inf_apply MeasureTheory.SimpleFunc.inf_apply
 -/
 
+#print MeasureTheory.SimpleFunc.range_one /-
 @[simp, to_additive]
 theorem range_one [Nonempty α] [One β] : (1 : α →ₛ β).range = {1} :=
   Finset.ext fun x => by simp [eq_comm]
 #align measure_theory.simple_func.range_one MeasureTheory.SimpleFunc.range_one
 #align measure_theory.simple_func.range_zero MeasureTheory.SimpleFunc.range_zero
+-/
 
 #print MeasureTheory.SimpleFunc.range_eq_empty_of_isEmpty /-
 @[simp]
@@ -638,12 +731,14 @@ theorem const_mul_eq_map [Mul β] (f : α →ₛ β) (b : β) : const α b * f =
 #align measure_theory.simple_func.const_add_eq_map MeasureTheory.SimpleFunc.const_add_eq_map
 -/
 
+#print MeasureTheory.SimpleFunc.map_mul /-
 @[to_additive]
 theorem map_mul [Mul β] [Mul γ] {g : β → γ} (hg : ∀ x y, g (x * y) = g x * g y) (f₁ f₂ : α →ₛ β) :
     (f₁ * f₂).map g = f₁.map g * f₂.map g :=
   ext fun x => hg _ _
 #align measure_theory.simple_func.map_mul MeasureTheory.SimpleFunc.map_mul
 #align measure_theory.simple_func.map_add MeasureTheory.SimpleFunc.map_add
+-/
 
 variable {K : Type _}
 
@@ -789,6 +884,7 @@ instance [Lattice β] : Lattice (α →ₛ β) :=
 instance [LE β] [BoundedOrder β] : BoundedOrder (α →ₛ β) :=
   { SimpleFunc.instOrderBot, SimpleFunc.instOrderTop with }
 
+#print MeasureTheory.SimpleFunc.finset_sup_apply /-
 theorem finset_sup_apply [SemilatticeSup β] [OrderBot β] {f : γ → α →ₛ β} (s : Finset γ) (a : α) :
     s.sup f a = s.sup fun c => f c a :=
   by
@@ -796,6 +892,7 @@ theorem finset_sup_apply [SemilatticeSup β] [OrderBot β] {f : γ → α →ₛ
   intro a s hs ih
   rw [Finset.sup_insert, Finset.sup_insert, sup_apply, ih]
 #align measure_theory.simple_func.finset_sup_apply MeasureTheory.SimpleFunc.finset_sup_apply
+-/
 
 section Restrict
 
@@ -809,23 +906,31 @@ def restrict (f : α →ₛ β) (s : Set α) : α →ₛ β :=
 #align measure_theory.simple_func.restrict MeasureTheory.SimpleFunc.restrict
 -/
 
+#print MeasureTheory.SimpleFunc.restrict_of_not_measurable /-
 theorem restrict_of_not_measurable {f : α →ₛ β} {s : Set α} (hs : ¬MeasurableSet s) :
     restrict f s = 0 :=
   dif_neg hs
 #align measure_theory.simple_func.restrict_of_not_measurable MeasureTheory.SimpleFunc.restrict_of_not_measurable
+-/
 
+#print MeasureTheory.SimpleFunc.coe_restrict /-
 @[simp]
 theorem coe_restrict (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
     ⇑(restrict f s) = indicator s f := by rw [restrict, dif_pos hs]; rfl
 #align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrict
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_univ /-
 @[simp]
 theorem restrict_univ (f : α →ₛ β) : restrict f univ = f := by simp [restrict]
 #align measure_theory.simple_func.restrict_univ MeasureTheory.SimpleFunc.restrict_univ
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_empty /-
 @[simp]
 theorem restrict_empty (f : α →ₛ β) : restrict f ∅ = 0 := by simp [restrict]
 #align measure_theory.simple_func.restrict_empty MeasureTheory.SimpleFunc.restrict_empty
+-/
 
 #print MeasureTheory.SimpleFunc.map_restrict_of_zero /-
 theorem map_restrict_of_zero [Zero γ] {g : β → γ} (hg : g 0 = 0) (f : α →ₛ β) (s : Set α) :
@@ -836,35 +941,48 @@ theorem map_restrict_of_zero [Zero γ] {g : β → γ} (hg : g 0 = 0) (f : α 
 #align measure_theory.simple_func.map_restrict_of_zero MeasureTheory.SimpleFunc.map_restrict_of_zero
 -/
 
+#print MeasureTheory.SimpleFunc.map_coe_ennreal_restrict /-
 theorem map_coe_ennreal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
     (f.restrict s).map (coe : ℝ≥0 → ℝ≥0∞) = (f.map coe).restrict s :=
   map_restrict_of_zero ENNReal.coe_zero _ _
 #align measure_theory.simple_func.map_coe_ennreal_restrict MeasureTheory.SimpleFunc.map_coe_ennreal_restrict
+-/
 
+#print MeasureTheory.SimpleFunc.map_coe_nnreal_restrict /-
 theorem map_coe_nnreal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
     (f.restrict s).map (coe : ℝ≥0 → ℝ) = (f.map coe).restrict s :=
   map_restrict_of_zero NNReal.coe_zero _ _
 #align measure_theory.simple_func.map_coe_nnreal_restrict MeasureTheory.SimpleFunc.map_coe_nnreal_restrict
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_apply /-
 theorem restrict_apply (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) (a) :
     restrict f s a = indicator s f a := by simp only [f.coe_restrict hs]
 #align measure_theory.simple_func.restrict_apply MeasureTheory.SimpleFunc.restrict_apply
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_preimage /-
 theorem restrict_preimage (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) {t : Set β}
     (ht : (0 : β) ∉ t) : restrict f s ⁻¹' t = s ∩ f ⁻¹' t := by
   simp [hs, indicator_preimage_of_not_mem _ _ ht, inter_comm]
 #align measure_theory.simple_func.restrict_preimage MeasureTheory.SimpleFunc.restrict_preimage
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_preimage_singleton /-
 theorem restrict_preimage_singleton (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) {r : β}
     (hr : r ≠ 0) : restrict f s ⁻¹' {r} = s ∩ f ⁻¹' {r} :=
   f.restrictPreimage hs hr.symm
 #align measure_theory.simple_func.restrict_preimage_singleton MeasureTheory.SimpleFunc.restrict_preimage_singleton
+-/
 
+#print MeasureTheory.SimpleFunc.mem_restrict_range /-
 theorem mem_restrict_range {r : β} {s : Set α} {f : α →ₛ β} (hs : MeasurableSet s) :
     r ∈ (restrict f s).range ↔ r = 0 ∧ s ≠ univ ∨ r ∈ f '' s := by
   rw [← Finset.mem_coe, coe_range, coe_restrict _ hs, mem_range_indicator]
 #align measure_theory.simple_func.mem_restrict_range MeasureTheory.SimpleFunc.mem_restrict_range
+-/
 
+#print MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict /-
 theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     (hr : r ∈ (restrict f s).range) (h0 : r ≠ 0) : r ∈ f '' s :=
   if hs : MeasurableSet s then by simpa [mem_restrict_range hs, h0] using hr
@@ -872,6 +990,7 @@ theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     rw [restrict_of_not_measurable hs] at hr 
     exact (h0 <| eq_zero_of_mem_range_zero hr).elim
 #align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict
+-/
 
 #print MeasureTheory.SimpleFunc.restrict_mono /-
 @[mono]
@@ -921,15 +1040,18 @@ theorem monotone_approx (i : ℕ → β) (f : α → β) : Monotone (approx i f)
 #align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approx
 -/
 
+#print MeasureTheory.SimpleFunc.approx_comp /-
 theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] [MeasurableSpace γ] {i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
     (hf : Measurable f) (hg : Measurable g) :
     (approx i (f ∘ g) n : α →ₛ β) a = (approx i f n : γ →ₛ β) (g a) := by
   rw [approx_apply _ hf, approx_apply _ (hf.comp hg)]
 #align measure_theory.simple_func.approx_comp MeasureTheory.SimpleFunc.approx_comp
+-/
 
 end
 
+#print MeasureTheory.SimpleFunc.iSup_approx_apply /-
 theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
     (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (h : i k ≤ f a), i k :=
@@ -946,6 +1068,7 @@ theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClose
     refine' le_trans (le_of_eq _) (Finset.le_sup this)
     rw [if_pos hk]
 #align measure_theory.simple_func.supr_approx_apply MeasureTheory.SimpleFunc.iSup_approx_apply
+-/
 
 end Approx
 
@@ -958,9 +1081,11 @@ def ennrealRatEmbed (n : ℕ) : ℝ≥0∞ :=
 #align measure_theory.simple_func.ennreal_rat_embed MeasureTheory.SimpleFunc.ennrealRatEmbed
 -/
 
+#print MeasureTheory.SimpleFunc.ennrealRatEmbed_encode /-
 theorem ennrealRatEmbed_encode (q : ℚ) : ennrealRatEmbed (Encodable.encode q) = Real.toNNReal q :=
   by rw [ennreal_rat_embed, Encodable.encodek] <;> rfl
 #align measure_theory.simple_func.ennreal_rat_embed_encode MeasureTheory.SimpleFunc.ennrealRatEmbed_encode
+-/
 
 #print MeasureTheory.SimpleFunc.eapprox /-
 /-- Approximate a function `α → ℝ≥0∞` by a sequence of simple functions. -/
@@ -969,6 +1094,7 @@ def eapprox : (α → ℝ≥0∞) → ℕ → α →ₛ ℝ≥0∞ :=
 #align measure_theory.simple_func.eapprox MeasureTheory.SimpleFunc.eapprox
 -/
 
+#print MeasureTheory.SimpleFunc.eapprox_lt_top /-
 theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n a < ∞ :=
   by
   simp only [eapprox, approx, finset_sup_apply, Finset.sup_lt_iff, WithTop.zero_lt_top,
@@ -983,12 +1109,16 @@ theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n
       _ < ⊤ := ENNReal.coe_lt_top
   · exact WithTop.zero_lt_top
 #align measure_theory.simple_func.eapprox_lt_top MeasureTheory.SimpleFunc.eapprox_lt_top
+-/
 
+#print MeasureTheory.SimpleFunc.monotone_eapprox /-
 @[mono]
 theorem monotone_eapprox (f : α → ℝ≥0∞) : Monotone (eapprox f) :=
   monotone_approx _ f
 #align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapprox
+-/
 
+#print MeasureTheory.SimpleFunc.iSup_eapprox_apply /-
 theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (⨆ n, (eapprox f n : α →ₛ ℝ≥0∞) a) = f a :=
   by
@@ -1005,6 +1135,7 @@ theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α)
     exact le_rfl
   exact lt_irrefl _ (lt_of_le_of_lt this lt_q)
 #align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.iSup_eapprox_apply
+-/
 
 #print MeasureTheory.SimpleFunc.eapprox_comp /-
 theorem eapprox_comp [MeasurableSpace γ] {f : γ → ℝ≥0∞} {g : α → γ} {n : ℕ} (hf : Measurable f)
@@ -1022,6 +1153,7 @@ def eapproxDiff (f : α → ℝ≥0∞) : ∀ n : ℕ, α →ₛ ℝ≥0
 #align measure_theory.simple_func.eapprox_diff MeasureTheory.SimpleFunc.eapproxDiff
 -/
 
+#print MeasureTheory.SimpleFunc.sum_eapproxDiff /-
 theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     ∑ k in Finset.range (n + 1), (eapproxDiff f k a : ℝ≥0∞) = eapprox f n a :=
   by
@@ -1034,12 +1166,15 @@ theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     rw [tsub_le_iff_right]
     exact le_self_add
 #align measure_theory.simple_func.sum_eapprox_diff MeasureTheory.SimpleFunc.sum_eapproxDiff
+-/
 
+#print MeasureTheory.SimpleFunc.tsum_eapproxDiff /-
 theorem tsum_eapproxDiff (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     ∑' n, (eapproxDiff f n a : ℝ≥0∞) = f a := by
   simp_rw [ENNReal.tsum_eq_iSup_nat' (tendsto_add_at_top_nat 1), sum_eapprox_diff,
     supr_eapprox_apply f hf a]
 #align measure_theory.simple_func.tsum_eapprox_diff MeasureTheory.SimpleFunc.tsum_eapproxDiff
+-/
 
 end Eapprox
 
@@ -1056,6 +1191,7 @@ def lintegral {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (μ : Measure
 #align measure_theory.simple_func.lintegral MeasureTheory.SimpleFunc.lintegral
 -/
 
+#print MeasureTheory.SimpleFunc.lintegral_eq_of_subset /-
 theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞}
     (hs : ∀ x, f x ≠ 0 → μ (f ⁻¹' {f x}) ≠ 0 → f x ∈ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) :=
@@ -1069,13 +1205,17 @@ theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞
     exact nonempty_of_measure_ne_zero (mul_ne_zero_iff.1 hb).2
   · intros; rfl
 #align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subset
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_eq_of_subset' /-
 theorem lintegral_eq_of_subset' (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞} (hs : f.range \ {0} ⊆ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) :=
   f.lintegral_eq_of_subset fun x hfx _ =>
     hs <| Finset.mem_sdiff.2 ⟨f.mem_range_self x, mt Finset.mem_singleton.1 hfx⟩
 #align measure_theory.simple_func.lintegral_eq_of_subset' MeasureTheory.SimpleFunc.lintegral_eq_of_subset'
+-/
 
+#print MeasureTheory.SimpleFunc.map_lintegral /-
 /-- Calculate the integral of `(g ∘ f)`, where `g : β → ℝ≥0∞` and `f : α →ₛ β`.  -/
 theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
     (f.map g).lintegral μ = ∑ x in f.range, g x * μ (f ⁻¹' {x}) :=
@@ -1088,7 +1228,9 @@ theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
   · congr
   · intro x; simp only [Finset.mem_filter]; rintro ⟨_, h⟩; rw [h]
 #align measure_theory.simple_func.map_lintegral MeasureTheory.SimpleFunc.map_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.add_lintegral /-
 theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.lintegral μ + g.lintegral μ :=
   calc
     (f + g).lintegral μ =
@@ -1102,7 +1244,9 @@ theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.li
       rw [map_lintegral, map_lintegral]
     _ = lintegral f μ + lintegral g μ := rfl
 #align measure_theory.simple_func.add_lintegral MeasureTheory.SimpleFunc.add_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.const_mul_lintegral /-
 theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     (const α x * f).lintegral μ = x * f.lintegral μ :=
   calc
@@ -1111,7 +1255,9 @@ theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
       (Finset.sum_congr rfl fun a ha => mul_assoc _ _ _)
     _ = x * f.lintegral μ := Finset.mul_sum.symm
 #align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.lintegralₗ /-
 /-- Integral of a simple function `α →ₛ ℝ≥0∞` as a bilinear map. -/
 def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥0∞] Measure α →ₗ[ℝ≥0∞] ℝ≥0∞
     where
@@ -1122,25 +1268,35 @@ def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥
   map_add' f g := LinearMap.ext fun μ => add_lintegral f g
   map_smul' c f := LinearMap.ext fun μ => const_mul_lintegral f c
 #align measure_theory.simple_func.lintegralₗ MeasureTheory.SimpleFunc.lintegralₗ
+-/
 
+#print MeasureTheory.SimpleFunc.zero_lintegral /-
 @[simp]
 theorem zero_lintegral : (0 : α →ₛ ℝ≥0∞).lintegral μ = 0 :=
   LinearMap.ext_iff.1 lintegralₗ.map_zero μ
 #align measure_theory.simple_func.zero_lintegral MeasureTheory.SimpleFunc.zero_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_add /-
 theorem lintegral_add {ν} (f : α →ₛ ℝ≥0∞) : f.lintegral (μ + ν) = f.lintegral μ + f.lintegral ν :=
   (lintegralₗ f).map_add μ ν
 #align measure_theory.simple_func.lintegral_add MeasureTheory.SimpleFunc.lintegral_add
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_smul /-
 theorem lintegral_smul (f : α →ₛ ℝ≥0∞) (c : ℝ≥0∞) : f.lintegral (c • μ) = c • f.lintegral μ :=
   (lintegralₗ f).map_smul c μ
 #align measure_theory.simple_func.lintegral_smul MeasureTheory.SimpleFunc.lintegral_smul
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_zero /-
 @[simp]
 theorem lintegral_zero [MeasurableSpace α] (f : α →ₛ ℝ≥0∞) : f.lintegral 0 = 0 :=
   (lintegralₗ f).map_zero
 #align measure_theory.simple_func.lintegral_zero MeasureTheory.SimpleFunc.lintegral_zero
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_sum /-
 theorem lintegral_sum {m : MeasurableSpace α} {ι} (f : α →ₛ ℝ≥0∞) (μ : ι → Measure α) :
     f.lintegral (Measure.sum μ) = ∑' i, f.lintegral (μ i) :=
   by
@@ -1148,7 +1304,9 @@ theorem lintegral_sum {m : MeasurableSpace α} {ι} (f : α →ₛ ℝ≥0∞) (
     ENNReal.tsum_mul_left]
   apply ENNReal.tsum_comm
 #align measure_theory.simple_func.lintegral_sum MeasureTheory.SimpleFunc.lintegral_sum
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_lintegral /-
 theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : MeasurableSet s) :
     (restrict f s).lintegral μ = ∑ r in f.range, r * μ (f ⁻¹' {r} ∩ s) :=
   calc
@@ -1163,17 +1321,23 @@ theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : Measura
           if hb : f b = 0 then by simp only [hb, MulZeroClass.zero_mul]
           else by rw [restrict_preimage_singleton _ hs hb, inter_comm]
 #align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_restrict /-
 theorem lintegral_restrict {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (s : Set α) (μ : Measure α) :
     f.lintegral (μ.restrict s) = ∑ y in f.range, y * μ (f ⁻¹' {y} ∩ s) := by
   simp only [lintegral, measure.restrict_apply, f.measurable_set_preimage]
 #align measure_theory.simple_func.lintegral_restrict MeasureTheory.SimpleFunc.lintegral_restrict
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrict /-
 theorem restrict_lintegral_eq_lintegral_restrict (f : α →ₛ ℝ≥0∞) {s : Set α}
     (hs : MeasurableSet s) : (restrict f s).lintegral μ = f.lintegral (μ.restrict s) := by
   rw [f.restrict_lintegral hs, lintegral_restrict]
 #align measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrict
+-/
 
+#print MeasureTheory.SimpleFunc.const_lintegral /-
 theorem const_lintegral (c : ℝ≥0∞) : (const α c).lintegral μ = c * μ univ :=
   by
   rw [lintegral]
@@ -1181,17 +1345,23 @@ theorem const_lintegral (c : ℝ≥0∞) : (const α c).lintegral μ = c * μ un
   · simp [μ.eq_zero_of_is_empty]
   · simp [preimage_const_of_mem]
 #align measure_theory.simple_func.const_lintegral MeasureTheory.SimpleFunc.const_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.const_lintegral_restrict /-
 theorem const_lintegral_restrict (c : ℝ≥0∞) (s : Set α) :
     (const α c).lintegral (μ.restrict s) = c * μ s := by
   rw [const_lintegral, measure.restrict_apply MeasurableSet.univ, univ_inter]
 #align measure_theory.simple_func.const_lintegral_restrict MeasureTheory.SimpleFunc.const_lintegral_restrict
+-/
 
+#print MeasureTheory.SimpleFunc.restrict_const_lintegral /-
 theorem restrict_const_lintegral (c : ℝ≥0∞) {s : Set α} (hs : MeasurableSet s) :
     ((const α c).restrict s).lintegral μ = c * μ s := by
   rw [restrict_lintegral_eq_lintegral_restrict _ hs, const_lintegral_restrict]
 #align measure_theory.simple_func.restrict_const_lintegral MeasureTheory.SimpleFunc.restrict_const_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.le_sup_lintegral /-
 theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lintegral μ ≤ (f ⊔ g).lintegral μ :=
   calc
     f.lintegral μ ⊔ g.lintegral μ =
@@ -1205,7 +1375,9 @@ theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lin
       exact le_sup_right
     _ = (f ⊔ g).lintegral μ := by rw [sup_eq_map₂, map_lintegral]
 #align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegral
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_mono /-
 /-- `simple_func.lintegral` is monotone both in function and in measure. -/
 @[mono]
 theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ ≤ ν) :
@@ -1217,6 +1389,7 @@ theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ
     _ ≤ g.lintegral ν :=
       Finset.sum_le_sum fun y hy => ENNReal.mul_left_mono <| hμν _ (g.measurableSet_preimage _)
 #align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_mono
+-/
 
 #print MeasureTheory.SimpleFunc.lintegral_eq_of_measure_preimage /-
 /-- `simple_func.lintegral` depends only on the measures of `f ⁻¹' {y}`. -/
@@ -1261,18 +1434,22 @@ section FinMeasSupp
 
 open Finset Function
 
+#print MeasureTheory.SimpleFunc.support_eq /-
 theorem support_eq [MeasurableSpace α] [Zero β] (f : α →ₛ β) :
     support f = ⋃ y ∈ f.range.filterₓ fun y => y ≠ 0, f ⁻¹' {y} :=
   Set.ext fun x => by
     simp only [mem_support, Set.mem_preimage, mem_filter, mem_range_self, true_and_iff, exists_prop,
       mem_Union, Set.mem_range, mem_singleton_iff, exists_eq_right']
 #align measure_theory.simple_func.support_eq MeasureTheory.SimpleFunc.support_eq
+-/
 
 variable {m : MeasurableSpace α} [Zero β] [Zero γ] {μ : Measure α} {f : α →ₛ β}
 
+#print MeasureTheory.SimpleFunc.measurableSet_support /-
 theorem measurableSet_support [MeasurableSpace α] (f : α →ₛ β) : MeasurableSet (support f) := by
   rw [f.support_eq]; exact Finset.measurableSet_biUnion _ fun y hy => measurable_set_fiber _ _
 #align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_support
+-/
 
 #print MeasureTheory.SimpleFunc.FinMeasSupp /-
 /-- A `simple_func` has finite measure support if it is equal to `0` outside of a set of finite
@@ -1282,11 +1459,14 @@ protected def FinMeasSupp {m : MeasurableSpace α} (f : α →ₛ β) (μ : Meas
 #align measure_theory.simple_func.fin_meas_supp MeasureTheory.SimpleFunc.FinMeasSupp
 -/
 
+#print MeasureTheory.SimpleFunc.finMeasSupp_iff_support /-
 theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
   Iff.rfl
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
+-/
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (y «expr ≠ » 0) -/
+#print MeasureTheory.SimpleFunc.finMeasSupp_iff /-
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
   constructor
@@ -1297,22 +1477,29 @@ theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻
     refine' lt_of_le_of_lt (measure_bUnion_finset_le _ _) (sum_lt_top _)
     exact fun y hy => (H y (Finset.mem_filter.1 hy).2).Ne
 #align measure_theory.simple_func.fin_meas_supp_iff MeasureTheory.SimpleFunc.finMeasSupp_iff
+-/
 
 namespace FinMeasSupp
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zero /-
 theorem meas_preimage_singleton_ne_zero (h : f.FinMeasSupp μ) {y : β} (hy : y ≠ 0) :
     μ (f ⁻¹' {y}) < ∞ :=
   finMeasSupp_iff.1 h y hy
 #align measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zero
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.map /-
 protected theorem map {g : β → γ} (hf : f.FinMeasSupp μ) (hg : g 0 = 0) : (f.map g).FinMeasSupp μ :=
   flip lt_of_le_of_lt hf (measure_mono <| support_comp_subset hg f)
 #align measure_theory.simple_func.fin_meas_supp.map MeasureTheory.SimpleFunc.FinMeasSupp.map
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.of_map /-
 theorem of_map {g : β → γ} (h : (f.map g).FinMeasSupp μ) (hg : ∀ b, g b = 0 → b = 0) :
     f.FinMeasSupp μ :=
   flip lt_of_le_of_lt h <| measure_mono <| support_subset_comp hg _
 #align measure_theory.simple_func.fin_meas_supp.of_map MeasureTheory.SimpleFunc.FinMeasSupp.of_map
+-/
 
 #print MeasureTheory.SimpleFunc.FinMeasSupp.map_iff /-
 theorem map_iff {g : β → γ} (hg : ∀ {b}, g b = 0 ↔ b = 0) :
@@ -1321,6 +1508,7 @@ theorem map_iff {g : β → γ} (hg : ∀ {b}, g b = 0 ↔ b = 0) :
 #align measure_theory.simple_func.fin_meas_supp.map_iff MeasureTheory.SimpleFunc.FinMeasSupp.map_iff
 -/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.pair /-
 protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMeasSupp μ) :
     (pair f g).FinMeasSupp μ :=
   calc
@@ -1328,22 +1516,30 @@ protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMea
     _ ≤ μ (support f) + μ (support g) := (measure_union_le _ _)
     _ < _ := add_lt_top.2 ⟨hf, hg⟩
 #align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pair
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.map₂ /-
 protected theorem map₂ [Zero δ] (hf : f.FinMeasSupp μ) {g : α →ₛ γ} (hg : g.FinMeasSupp μ)
     {op : β → γ → δ} (H : op 0 0 = 0) : ((pair f g).map (Function.uncurry op)).FinMeasSupp μ :=
   (hf.pair hg).map H
 #align measure_theory.simple_func.fin_meas_supp.map₂ MeasureTheory.SimpleFunc.FinMeasSupp.map₂
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.add /-
 protected theorem add {β} [AddMonoid β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f + g).FinMeasSupp μ := by rw [add_eq_map₂];
   exact hf.map₂ hg (zero_add 0)
 #align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.add
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.mul /-
 protected theorem mul {β} [MonoidWithZero β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f * g).FinMeasSupp μ := by rw [mul_eq_map₂];
   exact hf.map₂ hg (MulZeroClass.zero_mul 0)
 #align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mul
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top /-
 theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.lintegral μ < ∞ := by
   refine' sum_lt_top fun a ha => _
@@ -1354,7 +1550,9 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     · subst a; rwa [MulZeroClass.zero_mul]
     · exact mul_ne_top ha (fin_meas_supp_iff.1 hm _ ha0).Ne
 #align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top /-
 theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
   by
   refine' fin_meas_supp_iff.2 fun b hb => _
@@ -1362,16 +1560,20 @@ theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ 
   refine' ENNReal.lt_top_of_mul_ne_top_right _ hb
   exact (lt_top_of_sum_ne_top h (Finset.mem_insert_self _ _)).Ne
 #align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top
+-/
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_top /-
 theorem iff_lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.FinMeasSupp μ ↔ f.lintegral μ < ∞ :=
   ⟨fun h => h.lintegral_lt_top hf, fun h => of_lintegral_ne_top h.Ne⟩
 #align measure_theory.simple_func.fin_meas_supp.iff_lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_top
+-/
 
 end FinMeasSupp
 
 end FinMeasSupp
 
+#print MeasureTheory.SimpleFunc.induction /-
 /-- To prove something for an arbitrary simple function, it suffices to show
 that the property holds for (multiples of) characteristic functions and is closed under
 addition (of functions with disjoint support).
@@ -1407,6 +1609,7 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
     rw [disjoint_iff_inf_le]
     rintro y; by_cases hy : y ∈ f ⁻¹' {x} <;> simp [hy]
 #align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.induction
+-/
 
 end SimpleFunc
 
@@ -1414,6 +1617,7 @@ end MeasureTheory
 
 open MeasureTheory MeasureTheory.SimpleFunc
 
+#print Measurable.ennreal_induction /-
 /-- To prove something for an arbitrary measurable function into `ℝ≥0∞`, it suffices to show
 that the property holds for (multiples of) characteristic functions and is closed under addition
 and supremum of increasing sequences of functions.
@@ -1440,4 +1644,5 @@ theorem Measurable.ennreal_induction {α} [MeasurableSpace α] {P : (α → ℝ
       simple_func.induction (fun c s hs => h_ind c hs)
         (fun f g hfg hf hg => h_add hfg f.Measurable g.Measurable hf hg) (eapprox f n)
 #align measurable.ennreal_induction Measurable.ennreal_induction
+-/
 
Diff
@@ -243,12 +243,12 @@ protected theorem aemeasurable [MeasurableSpace β] {μ : Measure α} (f : α 
 -/
 
 protected theorem sum_measure_preimage_singleton (f : α →ₛ β) {μ : Measure α} (s : Finset β) :
-    (∑ y in s, μ (f ⁻¹' {y})) = μ (f ⁻¹' ↑s) :=
+    ∑ y in s, μ (f ⁻¹' {y}) = μ (f ⁻¹' ↑s) :=
   sum_measure_preimage_singleton _ fun _ _ => f.measurableSet_fiber _
 #align measure_theory.simple_func.sum_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_measure_preimage_singleton
 
 theorem sum_range_measure_preimage_singleton (f : α →ₛ β) (μ : Measure α) :
-    (∑ y in f.range, μ (f ⁻¹' {y})) = μ univ := by
+    ∑ y in f.range, μ (f ⁻¹' {y}) = μ univ := by
   rw [f.sum_measure_preimage_singleton, coe_range, preimage_range]
 #align measure_theory.simple_func.sum_range_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_range_measure_preimage_singleton
 
@@ -1023,7 +1023,7 @@ def eapproxDiff (f : α → ℝ≥0∞) : ∀ n : ℕ, α →ₛ ℝ≥0
 -/
 
 theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
-    (∑ k in Finset.range (n + 1), (eapproxDiff f k a : ℝ≥0∞)) = eapprox f n a :=
+    ∑ k in Finset.range (n + 1), (eapproxDiff f k a : ℝ≥0∞) = eapprox f n a :=
   by
   induction' n with n IH
   · simp only [Nat.zero_eq, Finset.sum_singleton, Finset.range_one]; rfl
@@ -1036,7 +1036,7 @@ theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
 #align measure_theory.simple_func.sum_eapprox_diff MeasureTheory.SimpleFunc.sum_eapproxDiff
 
 theorem tsum_eapproxDiff (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
-    (∑' n, (eapproxDiff f n a : ℝ≥0∞)) = f a := by
+    ∑' n, (eapproxDiff f n a : ℝ≥0∞) = f a := by
   simp_rw [ENNReal.tsum_eq_iSup_nat' (tendsto_add_at_top_nat 1), sum_eapprox_diff,
     supr_eapprox_apply f hf a]
 #align measure_theory.simple_func.tsum_eapprox_diff MeasureTheory.SimpleFunc.tsum_eapproxDiff
@@ -1092,10 +1092,10 @@ theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
 theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.lintegral μ + g.lintegral μ :=
   calc
     (f + g).lintegral μ =
-        ∑ x in (pair f g).range, x.1 * μ (pair f g ⁻¹' {x}) + x.2 * μ (pair f g ⁻¹' {x}) :=
+        ∑ x in (pair f g).range, (x.1 * μ (pair f g ⁻¹' {x}) + x.2 * μ (pair f g ⁻¹' {x})) :=
       by rw [add_eq_map₂, map_lintegral] <;> exact Finset.sum_congr rfl fun a ha => add_mul _ _ _
     _ =
-        (∑ x in (pair f g).range, x.1 * μ (pair f g ⁻¹' {x})) +
+        ∑ x in (pair f g).range, x.1 * μ (pair f g ⁻¹' {x}) +
           ∑ x in (pair f g).range, x.2 * μ (pair f g ⁻¹' {x}) :=
       by rw [Finset.sum_add_distrib]
     _ = ((pair f g).map Prod.fst).lintegral μ + ((pair f g).map Prod.snd).lintegral μ := by
Diff
@@ -981,7 +981,6 @@ theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n
           ennreal_rat_embed b :=
         indicator_le_self _ _ a
       _ < ⊤ := ENNReal.coe_lt_top
-      
   · exact WithTop.zero_lt_top
 #align measure_theory.simple_func.eapprox_lt_top MeasureTheory.SimpleFunc.eapprox_lt_top
 
@@ -1102,7 +1101,6 @@ theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.li
     _ = ((pair f g).map Prod.fst).lintegral μ + ((pair f g).map Prod.snd).lintegral μ := by
       rw [map_lintegral, map_lintegral]
     _ = lintegral f μ + lintegral g μ := rfl
-    
 #align measure_theory.simple_func.add_lintegral MeasureTheory.SimpleFunc.add_lintegral
 
 theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
@@ -1112,7 +1110,6 @@ theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     _ = ∑ r in f.range, x * (r * μ (f ⁻¹' {r})) :=
       (Finset.sum_congr rfl fun a ha => mul_assoc _ _ _)
     _ = x * f.lintegral μ := Finset.mul_sum.symm
-    
 #align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegral
 
 /-- Integral of a simple function `α →ₛ ℝ≥0∞` as a bilinear map. -/
@@ -1165,7 +1162,6 @@ theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : Measura
         forall_range_iff.2 fun b =>
           if hb : f b = 0 then by simp only [hb, MulZeroClass.zero_mul]
           else by rw [restrict_preimage_singleton _ hs hb, inter_comm]
-    
 #align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegral
 
 theorem lintegral_restrict {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (s : Set α) (μ : Measure α) :
@@ -1208,7 +1204,6 @@ theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lin
       exact le_sup_left
       exact le_sup_right
     _ = (f ⊔ g).lintegral μ := by rw [sup_eq_map₂, map_lintegral]
-    
 #align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegral
 
 /-- `simple_func.lintegral` is monotone both in function and in measure. -/
@@ -1221,7 +1216,6 @@ theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ
     _ = g.lintegral μ := by rw [sup_of_le_right hfg]
     _ ≤ g.lintegral ν :=
       Finset.sum_le_sum fun y hy => ENNReal.mul_left_mono <| hμν _ (g.measurableSet_preimage _)
-    
 #align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_mono
 
 #print MeasureTheory.SimpleFunc.lintegral_eq_of_measure_preimage /-
@@ -1333,7 +1327,6 @@ protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMea
     μ (support <| pair f g) = μ (support f ∪ support g) := congr_arg μ <| support_prod_mk f g
     _ ≤ μ (support f) + μ (support g) := (measure_union_le _ _)
     _ < _ := add_lt_top.2 ⟨hf, hg⟩
-    
 #align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pair
 
 protected theorem map₂ [Zero δ] (hf : f.FinMeasSupp μ) {g : α →ₛ γ} (hg : g.FinMeasSupp μ)
Diff
@@ -1292,7 +1292,7 @@ theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
   Iff.rfl
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ≠ » 0) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (y «expr ≠ » 0) -/
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
   constructor
Diff
@@ -207,10 +207,10 @@ theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
   rw [h_eq x, simple_func.coe_const]
 #align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'
 
-theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b, MeasurableSet { a | r a b }) :
-    MeasurableSet { a | r a (f a) } :=
+theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b, MeasurableSet {a | r a b}) :
+    MeasurableSet {a | r a (f a)} :=
   by
-  have : { a | r a (f a) } = ⋃ b ∈ range f, { a | r a b } ∩ f ⁻¹' {b} :=
+  have : {a | r a (f a)} = ⋃ b ∈ range f, {a | r a b} ∩ f ⁻¹' {b} :=
     by
     ext a
     suffices r a (f a) ↔ ∃ i, r a (f i) ∧ f a = f i by simpa
@@ -896,7 +896,7 @@ variable [SemilatticeSup β] [OrderBot β] [Zero β]
 by simple functions is defined so that in case `β = ℝ≥0∞` it sends each `a` to the supremum
 of the set `{i k | k ≤ n ∧ i k ≤ f a}`, see `approx_apply` and `supr_approx_apply` for details. -/
 def approx (i : ℕ → β) (f : α → β) (n : ℕ) : α →ₛ β :=
-  (Finset.range n).sup fun k => restrict (const α (i k)) { a : α | i k ≤ f a }
+  (Finset.range n).sup fun k => restrict (const α (i k)) {a : α | i k ≤ f a}
 #align measure_theory.simple_func.approx MeasureTheory.SimpleFunc.approx
 -/
 
@@ -977,7 +977,7 @@ theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n
   split_ifs
   · simp only [coe_zero, coe_piecewise, piecewise_eq_indicator, coe_const]
     calc
-      { a : α | ennreal_rat_embed b ≤ f a }.indicator (fun x => ennreal_rat_embed b) a ≤
+      {a : α | ennreal_rat_embed b ≤ f a}.indicator (fun x => ennreal_rat_embed b) a ≤
           ennreal_rat_embed b :=
         indicator_le_self _ _ a
       _ < ⊤ := ENNReal.coe_lt_top
Diff
@@ -184,7 +184,7 @@ theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).ran
 theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, ∀ x, f x = c :=
   by
   have hf_meas := @simple_func.measurable_set_fiber α _ ⊥ f
-  simp_rw [MeasurableSpace.measurableSet_bot_iff] at hf_meas
+  simp_rw [MeasurableSpace.measurableSet_bot_iff] at hf_meas 
   cases isEmpty_or_nonempty α
   · simp only [IsEmpty.forall_iff, exists_const]
   · specialize hf_meas (f h.some)
@@ -195,7 +195,7 @@ theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, 
       exact Set.mem_singleton _
     · refine' ⟨f h.some, fun x => _⟩
       have : x ∈ f ⁻¹' {f h.some} := by rw [hf_meas]; exact Set.mem_univ x
-      rwa [Set.mem_preimage, Set.mem_singleton_iff] at this
+      rwa [Set.mem_preimage, Set.mem_singleton_iff] at this 
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
 
 theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
@@ -603,9 +603,9 @@ theorem range_eq_empty_of_isEmpty {β} [hα : IsEmpty α] (f : α →ₛ β) : f
   rw [← Finset.not_nonempty_iff_eq_empty]
   by_contra
   obtain ⟨y, hy_mem⟩ := h
-  rw [simple_func.mem_range, Set.mem_range] at hy_mem
+  rw [simple_func.mem_range, Set.mem_range] at hy_mem 
   obtain ⟨x, hxy⟩ := hy_mem
-  rw [isEmpty_iff] at hα
+  rw [isEmpty_iff] at hα 
   exact hα x
 #align measure_theory.simple_func.range_eq_empty_of_is_empty MeasureTheory.SimpleFunc.range_eq_empty_of_isEmpty
 -/
@@ -869,7 +869,7 @@ theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     (hr : r ∈ (restrict f s).range) (h0 : r ≠ 0) : r ∈ f '' s :=
   if hs : MeasurableSet s then by simpa [mem_restrict_range hs, h0] using hr
   else by
-    rw [restrict_of_not_measurable hs] at hr
+    rw [restrict_of_not_measurable hs] at hr 
     exact (h0 <| eq_zero_of_mem_range_zero hr).elim
 #align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict
 
@@ -1063,12 +1063,12 @@ theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞
   by
   refine' Finset.sum_bij_ne_zero (fun r _ _ => r) _ _ _ _
   · simpa only [forall_range_iff, mul_ne_zero_iff, and_imp]
-  · intros ; assumption
+  · intros; assumption
   · intro b _ hb
     refine' ⟨b, _, hb, rfl⟩
     rw [mem_range, ← preimage_singleton_nonempty]
     exact nonempty_of_measure_ne_zero (mul_ne_zero_iff.1 hb).2
-  · intros ; rfl
+  · intros; rfl
 #align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subset
 
 theorem lintegral_eq_of_subset' (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞} (hs : f.range \ {0} ⊆ s) :
@@ -1355,7 +1355,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     f.lintegral μ < ∞ := by
   refine' sum_lt_top fun a ha => _
   rcases eq_or_ne a ∞ with (rfl | ha)
-  · simp only [ae_iff, Ne.def, Classical.not_not] at hf
+  · simp only [ae_iff, Ne.def, Classical.not_not] at hf 
     simp [Set.preimage, hf]
   · by_cases ha0 : a = 0
     · subst a; rwa [MulZeroClass.zero_mul]
@@ -1365,7 +1365,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
 theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
   by
   refine' fin_meas_supp_iff.2 fun b hb => _
-  rw [f.lintegral_eq_of_subset' (Finset.subset_insert b _)] at h
+  rw [f.lintegral_eq_of_subset' (Finset.subset_insert b _)] at h 
   refine' ENNReal.lt_top_of_mul_ne_top_right _ hb
   exact (lt_top_of_sum_ne_top h (Finset.mem_insert_self _ _)).Ne
 #align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top
@@ -1395,9 +1395,9 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
     (f : SimpleFunc α γ) : P f :=
   by
   generalize h : f.range \ {0} = s
-  rw [← Finset.coe_inj, Finset.coe_sdiff, Finset.coe_singleton, simple_func.coe_range] at h
+  rw [← Finset.coe_inj, Finset.coe_sdiff, Finset.coe_singleton, simple_func.coe_range] at h 
   revert s f h; refine' Finset.induction _ _
-  · intro f hf; rw [Finset.coe_empty, diff_eq_empty, range_subset_singleton] at hf
+  · intro f hf; rw [Finset.coe_empty, diff_eq_empty, range_subset_singleton] at hf 
     convert h_ind 0 MeasurableSet.univ; ext x; simp [hf]
   · intro x s hxs ih f hf
     have mx := f.measurable_set_preimage {x}
@@ -1410,7 +1410,7 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
         exact preimage_const_of_mem (mem_singleton _)
       · rwa [Finset.mem_coe]
     convert h_add _ Pg (h_ind x mx)
-    · ext1 y; by_cases hy : y ∈ f ⁻¹' {x} <;> [simpa [hy] ;simp [hy]]
+    · ext1 y; by_cases hy : y ∈ f ⁻¹' {x} <;> [simpa [hy]; simp [hy]]
     rw [disjoint_iff_inf_le]
     rintro y; by_cases hy : y ∈ f ⁻¹' {x} <;> simp [hy]
 #align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.induction
Diff
@@ -38,7 +38,7 @@ open Filter ENNReal
 
 open Function (support)
 
-open Classical Topology BigOperators NNReal ENNReal MeasureTheory
+open scoped Classical Topology BigOperators NNReal ENNReal MeasureTheory
 
 namespace MeasureTheory
 
@@ -140,10 +140,12 @@ theorem preimage_eq_empty_iff (f : α →ₛ β) (b : β) : f ⁻¹' {b} = ∅ 
   preimage_singleton_eq_empty.trans <| not_congr mem_range.symm
 #align measure_theory.simple_func.preimage_eq_empty_iff MeasureTheory.SimpleFunc.preimage_eq_empty_iff
 
+#print MeasureTheory.SimpleFunc.exists_forall_le /-
 theorem exists_forall_le [Nonempty β] [Preorder β] [IsDirected β (· ≤ ·)] (f : α →ₛ β) :
     ∃ C, ∀ x, f x ≤ C :=
   f.range.exists_le.imp fun C => forall_range_iff.1
 #align measure_theory.simple_func.exists_forall_le MeasureTheory.SimpleFunc.exists_forall_le
+-/
 
 #print MeasureTheory.SimpleFunc.const /-
 /-- Constant function as a `simple_func`. -/
@@ -531,10 +533,12 @@ theorem coe_div [Div β] (f g : α →ₛ β) : ⇑(f / g) = f / g :=
 #align measure_theory.simple_func.coe_sub MeasureTheory.SimpleFunc.coe_sub
 -/
 
+#print MeasureTheory.SimpleFunc.coe_le /-
 @[simp, norm_cast]
 theorem coe_le [Preorder β] {f g : α →ₛ β} : (f : α → β) ≤ g ↔ f ≤ g :=
   Iff.rfl
 #align measure_theory.simple_func.coe_le MeasureTheory.SimpleFunc.coe_le
+-/
 
 #print MeasureTheory.SimpleFunc.coe_sup /-
 @[simp, norm_cast]
@@ -869,6 +873,7 @@ theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     exact (h0 <| eq_zero_of_mem_range_zero hr).elim
 #align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict
 
+#print MeasureTheory.SimpleFunc.restrict_mono /-
 @[mono]
 theorem restrict_mono [Preorder β] (s : Set α) {f g : α →ₛ β} (H : f ≤ g) :
     f.restrict s ≤ g.restrict s :=
@@ -876,6 +881,7 @@ theorem restrict_mono [Preorder β] (s : Set α) {f g : α →ₛ β} (H : f ≤
     simp only [coe_restrict _ hs, indicator_le_indicator (H x)]
   else by simp only [restrict_of_not_measurable hs, le_refl]
 #align measure_theory.simple_func.restrict_mono MeasureTheory.SimpleFunc.restrict_mono
+-/
 
 end Restrict
 
@@ -885,13 +891,16 @@ section
 
 variable [SemilatticeSup β] [OrderBot β] [Zero β]
 
+#print MeasureTheory.SimpleFunc.approx /-
 /-- Fix a sequence `i : ℕ → β`. Given a function `α → β`, its `n`-th approximation
 by simple functions is defined so that in case `β = ℝ≥0∞` it sends each `a` to the supremum
 of the set `{i k | k ≤ n ∧ i k ≤ f a}`, see `approx_apply` and `supr_approx_apply` for details. -/
 def approx (i : ℕ → β) (f : α → β) (n : ℕ) : α →ₛ β :=
   (Finset.range n).sup fun k => restrict (const α (i k)) { a : α | i k ≤ f a }
 #align measure_theory.simple_func.approx MeasureTheory.SimpleFunc.approx
+-/
 
+#print MeasureTheory.SimpleFunc.approx_apply /-
 theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] {i : ℕ → β} {f : α → β} {n : ℕ} (a : α) (hf : Measurable f) :
     (approx i f n : α →ₛ β) a = (Finset.range n).sup fun k => if i k ≤ f a then i k else 0 :=
@@ -904,10 +913,13 @@ theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableS
   rfl
   exact hf measurableSet_Ici
 #align measure_theory.simple_func.approx_apply MeasureTheory.SimpleFunc.approx_apply
+-/
 
+#print MeasureTheory.SimpleFunc.monotone_approx /-
 theorem monotone_approx (i : ℕ → β) (f : α → β) : Monotone (approx i f) := fun n m h =>
   Finset.sup_mono <| Finset.range_subset.2 h
 #align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approx
+-/
 
 theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] [MeasurableSpace γ] {i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
Diff
@@ -70,53 +70,23 @@ instance instCoeFun : CoeFun (α →ₛ β) fun _ => α → β :=
 #align measure_theory.simple_func.has_coe_to_fun MeasureTheory.SimpleFunc.instCoeFun
 -/
 
-/- warning: measure_theory.simple_func.coe_injective -> MeasureTheory.SimpleFunc.coe_injective is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {{f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}} {{g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}}, (Eq.{max (succ u1) (succ u2)} ((fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g)) -> (Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) f g)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {{f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}} {{g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}}, (Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g)) -> (Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) f g)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_injective MeasureTheory.SimpleFunc.coe_injectiveₓ'. -/
 theorem coe_injective ⦃f g : α →ₛ β⦄ (H : (f : α → β) = g) : f = g := by
   cases f <;> cases g <;> congr <;> exact H
 #align measure_theory.simple_func.coe_injective MeasureTheory.SimpleFunc.coe_injective
 
-/- warning: measure_theory.simple_func.ext -> MeasureTheory.SimpleFunc.ext is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g a)) -> (Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) f g)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}, (forall (a : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g a)) -> (Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) f g)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.ext MeasureTheory.SimpleFunc.extₓ'. -/
 @[ext]
 theorem ext {f g : α →ₛ β} (H : ∀ a, f a = g a) : f = g :=
   coe_injective <| funext H
 #align measure_theory.simple_func.ext MeasureTheory.SimpleFunc.ext
 
-/- warning: measure_theory.simple_func.finite_range -> MeasureTheory.SimpleFunc.finite_range is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Set.Finite.{u2} β (Set.range.{u2, succ u1} β α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Set.Finite.{u1} β (Set.range.{u1, succ u2} β α (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.finite_range MeasureTheory.SimpleFunc.finite_rangeₓ'. -/
 theorem finite_range (f : α →ₛ β) : (Set.range f).Finite :=
   f.finite_range'
 #align measure_theory.simple_func.finite_range MeasureTheory.SimpleFunc.finite_range
 
-/- warning: measure_theory.simple_func.measurable_set_fiber -> MeasureTheory.SimpleFunc.measurableSet_fiber is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (x : β), MeasurableSet.{u1} α _inst_1 (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (x : β), MeasurableSet.{u2} α _inst_1 (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_fiber MeasureTheory.SimpleFunc.measurableSet_fiberₓ'. -/
 theorem measurableSet_fiber (f : α →ₛ β) (x : β) : MeasurableSet (f ⁻¹' {x}) :=
   f.measurableSet_fiber' x
 #align measure_theory.simple_func.measurable_set_fiber MeasureTheory.SimpleFunc.measurableSet_fiber
 
-/- warning: measure_theory.simple_func.apply_mk -> MeasureTheory.SimpleFunc.apply_mk is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> β) (h : forall (x : β), MeasurableSet.{u1} α _inst_1 (Set.preimage.{u1, u2} α β f (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x))) (h' : Set.Finite.{u2} β (Set.range.{u2, succ u1} β α f)) (x : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.mk.{u1, u2} α _inst_1 β f h h') x) (f x)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : α -> β) (h : forall (x : β), MeasurableSet.{u2} α _inst_1 (Set.preimage.{u2, u1} α β f (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x))) (h' : Set.Finite.{u1} β (Set.range.{u1, succ u2} β α f)) (x : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.mk.{u2, u1} α _inst_1 β f h h') x) (f x)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.apply_mk MeasureTheory.SimpleFunc.apply_mkₓ'. -/
 @[simp]
 theorem apply_mk (f : α → β) (h h') (x : α) : SimpleFunc.mk f h h' x = f x :=
   rfl
@@ -138,86 +108,38 @@ protected def range (f : α →ₛ β) : Finset β :=
 #align measure_theory.simple_func.range MeasureTheory.SimpleFunc.range
 -/
 
-/- warning: measure_theory.simple_func.mem_range -> MeasureTheory.SimpleFunc.mem_range is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {b : β}, Iff (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) b (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (Set.range.{u2, succ u1} β α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {b : β}, Iff (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) b (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) b (Set.range.{u1, succ u2} β α (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_range MeasureTheory.SimpleFunc.mem_rangeₓ'. -/
 @[simp]
 theorem mem_range {f : α →ₛ β} {b} : b ∈ f.range ↔ b ∈ range f :=
   Finite.mem_toFinset _
 #align measure_theory.simple_func.mem_range MeasureTheory.SimpleFunc.mem_range
 
-/- warning: measure_theory.simple_func.mem_range_self -> MeasureTheory.SimpleFunc.mem_range_self is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (x : α), Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (x : α), Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f x) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_range_self MeasureTheory.SimpleFunc.mem_range_selfₓ'. -/
 theorem mem_range_self (f : α →ₛ β) (x : α) : f x ∈ f.range :=
   mem_range.2 ⟨x, rfl⟩
 #align measure_theory.simple_func.mem_range_self MeasureTheory.SimpleFunc.mem_range_self
 
-/- warning: measure_theory.simple_func.coe_range -> MeasureTheory.SimpleFunc.coe_range is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u2} (Set.{u2} β) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) (Set.range.{u2, succ u1} β α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{succ u1} (Set.{u1} β) (Finset.toSet.{u1} β (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) (Set.range.{u1, succ u2} β α (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_range MeasureTheory.SimpleFunc.coe_rangeₓ'. -/
 @[simp]
 theorem coe_range (f : α →ₛ β) : (↑f.range : Set β) = Set.range f :=
   f.finite_range.coe_toFinset
 #align measure_theory.simple_func.coe_range MeasureTheory.SimpleFunc.coe_range
 
-/- warning: measure_theory.simple_func.mem_range_of_measure_ne_zero -> MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {x : β} {μ : MeasureTheory.Measure.{u1} α _inst_1}, (Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) x (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {x : β} {μ : MeasureTheory.Measure.{u2} α _inst_1}, (Ne.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) x (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zeroₓ'. -/
 theorem mem_range_of_measure_ne_zero {f : α →ₛ β} {x : β} {μ : Measure α} (H : μ (f ⁻¹' {x}) ≠ 0) :
     x ∈ f.range :=
   let ⟨a, ha⟩ := nonempty_of_measure_ne_zero H
   mem_range.2 ⟨a, ha⟩
 #align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero
 
-/- warning: measure_theory.simple_func.forall_range_iff -> MeasureTheory.SimpleFunc.forall_range_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {p : β -> Prop}, Iff (forall (y : β), (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) -> (p y)) (forall (x : α), p (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {p : β -> Prop}, Iff (forall (y : β), (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) -> (p y)) (forall (x : α), p (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f x))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iffₓ'. -/
 theorem forall_range_iff {f : α →ₛ β} {p : β → Prop} : (∀ y ∈ f.range, p y) ↔ ∀ x, p (f x) := by
   simp only [mem_range, Set.forall_range_iff]
 #align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iff
 
-/- warning: measure_theory.simple_func.exists_range_iff -> MeasureTheory.SimpleFunc.exists_range_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {p : β -> Prop}, Iff (Exists.{succ u2} β (fun (y : β) => Exists.{0} (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) (fun (H : Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) => p y))) (Exists.{succ u1} α (fun (x : α) => p (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {p : β -> Prop}, Iff (Exists.{succ u1} β (fun (y : β) => And (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) (p y))) (Exists.{succ u2} α (fun (x : α) => p (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f x)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.exists_range_iff MeasureTheory.SimpleFunc.exists_range_iffₓ'. -/
 theorem exists_range_iff {f : α →ₛ β} {p : β → Prop} : (∃ y ∈ f.range, p y) ↔ ∃ x, p (f x) := by
   simpa only [mem_range, exists_prop] using Set.exists_range_iff
 #align measure_theory.simple_func.exists_range_iff MeasureTheory.SimpleFunc.exists_range_iff
 
-/- warning: measure_theory.simple_func.preimage_eq_empty_iff -> MeasureTheory.SimpleFunc.preimage_eq_empty_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (b : β), Iff (Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) b)) (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (Not (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) b (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (b : β), Iff (Eq.{succ u2} (Set.{u2} α) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) b)) (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.instEmptyCollectionSet.{u2} α))) (Not (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) b (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.preimage_eq_empty_iff MeasureTheory.SimpleFunc.preimage_eq_empty_iffₓ'. -/
 theorem preimage_eq_empty_iff (f : α →ₛ β) (b : β) : f ⁻¹' {b} = ∅ ↔ b ∉ f.range :=
   preimage_singleton_eq_empty.trans <| not_congr mem_range.symm
 #align measure_theory.simple_func.preimage_eq_empty_iff MeasureTheory.SimpleFunc.preimage_eq_empty_iff
 
-/- warning: measure_theory.simple_func.exists_forall_le -> MeasureTheory.SimpleFunc.exists_forall_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Nonempty.{succ u2} β] [_inst_3 : Preorder.{u2} β] [_inst_4 : IsDirected.{u2} β (LE.le.{u2} β (Preorder.toHasLe.{u2} β _inst_3))] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Exists.{succ u2} β (fun (C : β) => forall (x : α), LE.le.{u2} β (Preorder.toHasLe.{u2} β _inst_3) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x) C)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Nonempty.{succ u2} β] [_inst_3 : Preorder.{u2} β] [_inst_4 : IsDirected.{u2} β (fun (x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1377 : β) (x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1379 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β _inst_3) x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1377 x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1379)] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Exists.{succ u2} β (fun (C : β) => forall (x : α), LE.le.{u2} β (Preorder.toLE.{u2} β _inst_3) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β f x) C)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.exists_forall_le MeasureTheory.SimpleFunc.exists_forall_leₓ'. -/
 theorem exists_forall_le [Nonempty β] [Preorder β] [IsDirected β (· ≤ ·)] (f : α →ₛ β) :
     ∃ C, ∀ x, f x ≤ C :=
   f.range.exists_le.imp fun C => forall_range_iff.1
@@ -239,12 +161,6 @@ theorem const_apply (a : α) (b : β) : (const α b) a = b :=
 #align measure_theory.simple_func.const_apply MeasureTheory.SimpleFunc.const_apply
 -/
 
-/- warning: measure_theory.simple_func.coe_const -> MeasureTheory.SimpleFunc.coe_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (b : β), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 b)) (Function.const.{succ u2, succ u1} β α b)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (b : β), Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1 b)) (Function.const.{succ u1, succ u2} β α b)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_const MeasureTheory.SimpleFunc.coe_constₓ'. -/
 @[simp]
 theorem coe_const (b : β) : ⇑(const α b) = Function.const α b :=
   rfl
@@ -263,12 +179,6 @@ theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).ran
 #align measure_theory.simple_func.range_const_subset MeasureTheory.SimpleFunc.range_const_subset
 -/
 
-/- warning: measure_theory.simple_func.simple_func_bot -> MeasureTheory.SimpleFunc.simpleFunc_bot is a dubious translation:
-lean 3 declaration is
-  forall {β : Type.{u1}} {α : Type.{u2}} (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) [_inst_2 : Nonempty.{succ u1} β], Exists.{succ u1} β (fun (c : β) => forall (x : α), Eq.{succ u1} β (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) (fun (_x : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u1} α β (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α)))) f x) c)
-but is expected to have type
-  forall {β : Type.{u1}} {α : Type.{u2}} (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β) [_inst_2 : Nonempty.{succ u1} β], Exists.{succ u1} β (fun (c : β) => forall (x : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β f x) c)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_botₓ'. -/
 theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, ∀ x, f x = c :=
   by
   have hf_meas := @simple_func.measurable_set_fiber α _ ⊥ f
@@ -286,12 +196,6 @@ theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, 
       rwa [Set.mem_preimage, Set.mem_singleton_iff] at this
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
 
-/- warning: measure_theory.simple_func.simple_func_bot' -> MeasureTheory.SimpleFunc.simpleFunc_bot' is a dubious translation:
-lean 3 declaration is
-  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_2 : Nonempty.{succ u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β), Exists.{succ u1} β (fun (c : β) => Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) f (MeasureTheory.SimpleFunc.const.{u2, u1} α β (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) c))
-but is expected to have type
-  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_2 : Nonempty.{succ u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β), Exists.{succ u1} β (fun (c : β) => Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β) f (MeasureTheory.SimpleFunc.const.{u2, u1} α β (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) c))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'ₓ'. -/
 theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
     ∃ c, f = @SimpleFunc.const α _ ⊥ c :=
   by
@@ -301,12 +205,6 @@ theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
   rw [h_eq x, simple_func.coe_const]
 #align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'
 
-/- warning: measure_theory.simple_func.measurable_set_cut -> MeasureTheory.SimpleFunc.measurableSet_cut is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (r : α -> β -> Prop) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), (forall (b : β), MeasurableSet.{u1} α _inst_1 (setOf.{u1} α (fun (a : α) => r a b))) -> (MeasurableSet.{u1} α _inst_1 (setOf.{u1} α (fun (a : α) => r a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (r : α -> β -> Prop) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), (forall (b : β), MeasurableSet.{u2} α _inst_1 (setOf.{u2} α (fun (a : α) => r a b))) -> (MeasurableSet.{u2} α _inst_1 (setOf.{u2} α (fun (a : α) => r a (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_cut MeasureTheory.SimpleFunc.measurableSet_cutₓ'. -/
 theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b, MeasurableSet { a | r a b }) :
     MeasurableSet { a | r a (f a) } :=
   by
@@ -321,12 +219,6 @@ theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b
       MeasurableSet.inter (h b) (f.measurable_set_fiber _)
 #align measure_theory.simple_func.measurable_set_cut MeasureTheory.SimpleFunc.measurableSet_cut
 
-/- warning: measure_theory.simple_func.measurable_set_preimage -> MeasureTheory.SimpleFunc.measurableSet_preimage is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (s : Set.{u2} β), MeasurableSet.{u1} α _inst_1 (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (s : Set.{u1} β), MeasurableSet.{u2} α _inst_1 (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) s)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_preimage MeasureTheory.SimpleFunc.measurableSet_preimageₓ'. -/
 @[measurability]
 theorem measurableSet_preimage (f : α →ₛ β) (s) : MeasurableSet (f ⁻¹' s) :=
   measurableSet_cut (fun _ b => b ∈ s) f fun b => MeasurableSet.const (b ∈ s)
@@ -348,23 +240,11 @@ protected theorem aemeasurable [MeasurableSpace β] {μ : Measure α} (f : α 
 #align measure_theory.simple_func.ae_measurable MeasureTheory.SimpleFunc.aemeasurable
 -/
 
-/- warning: measure_theory.simple_func.sum_measure_preimage_singleton -> MeasureTheory.SimpleFunc.sum_measure_preimage_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {μ : MeasureTheory.Measure.{u1} α _inst_1} (s : Finset.{u2} β), Eq.{1} ENNReal (Finset.sum.{0, u2} ENNReal β (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) s (fun (y : β) => coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y)))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) s)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {μ : MeasureTheory.Measure.{u2} α _inst_1} (s : Finset.{u1} β), Eq.{1} ENNReal (Finset.sum.{0, u1} ENNReal β (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) s (fun (y : β) => MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y)))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Finset.toSet.{u1} β s)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.sum_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_measure_preimage_singletonₓ'. -/
 protected theorem sum_measure_preimage_singleton (f : α →ₛ β) {μ : Measure α} (s : Finset β) :
     (∑ y in s, μ (f ⁻¹' {y})) = μ (f ⁻¹' ↑s) :=
   sum_measure_preimage_singleton _ fun _ _ => f.measurableSet_fiber _
 #align measure_theory.simple_func.sum_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_measure_preimage_singleton
 
-/- warning: measure_theory.simple_func.sum_range_measure_preimage_singleton -> MeasureTheory.SimpleFunc.sum_range_measure_preimage_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (μ : MeasureTheory.Measure.{u1} α _inst_1), Eq.{1} ENNReal (Finset.sum.{0, u2} ENNReal β (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f) (fun (y : β) => coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y)))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.univ.{u1} α))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (μ : MeasureTheory.Measure.{u2} α _inst_1), Eq.{1} ENNReal (Finset.sum.{0, u1} ENNReal β (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f) (fun (y : β) => MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y)))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.univ.{u2} α))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.sum_range_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_range_measure_preimage_singletonₓ'. -/
 theorem sum_range_measure_preimage_singleton (f : α →ₛ β) (μ : Measure α) :
     (∑ y in f.range, μ (f ⁻¹' {y})) = μ univ := by
   rw [f.sum_measure_preimage_singleton, coe_range, preimage_range]
@@ -380,80 +260,38 @@ def piecewise (s : Set α) (hs : MeasurableSet s) (f g : α →ₛ β) : α →
 #align measure_theory.simple_func.piecewise MeasureTheory.SimpleFunc.piecewise
 -/
 
-/- warning: measure_theory.simple_func.coe_piecewise -> MeasureTheory.SimpleFunc.coe_piecewise is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f g)) (Set.piecewise.{u1, succ u2} α (fun (ᾰ : α) => β) s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g) (fun (j : α) => Classical.propDecidable (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) j s)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s hs f g)) (Set.piecewise.{u2, succ u1} α (fun (ᾰ : α) => β) s (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g) (fun (j : α) => Classical.propDecidable (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) j s)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_piecewise MeasureTheory.SimpleFunc.coe_piecewiseₓ'. -/
 @[simp]
 theorem coe_piecewise {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β) :
     ⇑(piecewise s hs f g) = s.piecewise f g :=
   rfl
 #align measure_theory.simple_func.coe_piecewise MeasureTheory.SimpleFunc.coe_piecewise
 
-/- warning: measure_theory.simple_func.piecewise_apply -> MeasureTheory.SimpleFunc.piecewise_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f g) a) (ite.{succ u2} β (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Classical.propDecidable (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (a : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s hs f g) a) (ite.{succ u1} β (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s) (Classical.propDecidable (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s)) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_apply MeasureTheory.SimpleFunc.piecewise_applyₓ'. -/
 theorem piecewise_apply {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β) (a) :
     piecewise s hs f g a = if a ∈ s then f a else g a :=
   rfl
 #align measure_theory.simple_func.piecewise_apply MeasureTheory.SimpleFunc.piecewise_apply
 
-/- warning: measure_theory.simple_func.piecewise_compl -> MeasureTheory.SimpleFunc.piecewise_compl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) s)) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) s) hs f g) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s (MeasurableSet.of_compl.{u1} α s _inst_1 hs) g f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.instBooleanAlgebraSet.{u2} α)) s)) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.instBooleanAlgebraSet.{u2} α)) s) hs f g) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s (MeasurableSet.of_compl.{u2} α s _inst_1 hs) g f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_complₓ'. -/
 @[simp]
 theorem piecewise_compl {s : Set α} (hs : MeasurableSet (sᶜ)) (f g : α →ₛ β) :
     piecewise (sᶜ) hs f g = piecewise s hs.ofCompl g f :=
   coe_injective <| by simp [hs]
 #align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_compl
 
-/- warning: measure_theory.simple_func.piecewise_univ -> MeasureTheory.SimpleFunc.piecewise_univ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 (Set.univ.{u1} α) (MeasurableSet.univ.{u1} α _inst_1) f g) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 (Set.univ.{u2} α) (MeasurableSet.univ.{u2} α _inst_1) f g) f
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_univ MeasureTheory.SimpleFunc.piecewise_univₓ'. -/
 @[simp]
 theorem piecewise_univ (f g : α →ₛ β) : piecewise univ MeasurableSet.univ f g = f :=
   coe_injective <| by simp
 #align measure_theory.simple_func.piecewise_univ MeasureTheory.SimpleFunc.piecewise_univ
 
-/- warning: measure_theory.simple_func.piecewise_empty -> MeasureTheory.SimpleFunc.piecewise_empty is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α)) (MeasurableSet.empty.{u1} α _inst_1) f g) g
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.instEmptyCollectionSet.{u2} α)) (MeasurableSet.empty.{u2} α _inst_1) f g) g
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_emptyₓ'. -/
 @[simp]
 theorem piecewise_empty (f g : α →ₛ β) : piecewise ∅ MeasurableSet.empty f g = g :=
   coe_injective <| by simp
 #align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_empty
 
-/- warning: measure_theory.simple_func.support_indicator -> MeasureTheory.SimpleFunc.support_indicator is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2))))))) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s (Function.support.{u1, u2} α β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α β _inst_2 (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_2)))))) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) s (Function.support.{u1, u2} α β _inst_2 (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β f)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.support_indicator MeasureTheory.SimpleFunc.support_indicatorₓ'. -/
 theorem support_indicator [Zero β] {s : Set α} (hs : MeasurableSet s) (f : α →ₛ β) :
     Function.support (f.piecewise s hs (SimpleFunc.const α 0)) = s ∩ Function.support f :=
   Set.support_indicator
 #align measure_theory.simple_func.support_indicator MeasureTheory.SimpleFunc.support_indicator
 
-/- warning: measure_theory.simple_func.range_indicator -> MeasureTheory.SimpleFunc.range_indicator is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s), (Set.Nonempty.{u1} α s) -> (Ne.{succ u1} (Set.{u1} α) s (Set.univ.{u1} α)) -> (forall (x : β) (y : β), Eq.{succ u2} (Finset.{u2} β) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 x) (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 y))) (Insert.insert.{u2, u2} β (Finset.{u2} β) (Finset.hasInsert.{u2} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u2} β a b))) x (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) y)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s), (Set.Nonempty.{u2} α s) -> (Ne.{succ u2} (Set.{u2} α) s (Set.univ.{u2} α)) -> (forall (x : β) (y : β), Eq.{succ u1} (Finset.{u1} β) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1 x) (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1 y))) (Insert.insert.{u1, u1} β (Finset.{u1} β) (Finset.instInsertFinset.{u1} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u1} β a b))) x (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) y)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_indicator MeasureTheory.SimpleFunc.range_indicatorₓ'. -/
 theorem range_indicator {s : Set α} (hs : MeasurableSet s) (hs_nonempty : s.Nonempty)
     (hs_ne_univ : s ≠ univ) (x y : β) : (piecewise s hs (const α x) (const α y)).range = {x, y} :=
   by
@@ -462,12 +300,6 @@ theorem range_indicator {s : Set α} (hs : MeasurableSet s) (hs_nonempty : s.Non
     (nonempty_compl.2 hs_ne_univ).image_const, singleton_union]
 #align measure_theory.simple_func.range_indicator MeasureTheory.SimpleFunc.range_indicator
 
-/- warning: measure_theory.simple_func.measurable_bind -> MeasureTheory.SimpleFunc.measurable_bind is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} γ] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> α -> γ), (forall (b : β), Measurable.{u1, u3} α γ _inst_1 _inst_2 (g b)) -> (Measurable.{u1, u3} α γ _inst_1 _inst_2 (fun (a : α) => g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} γ] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : β -> α -> γ), (forall (b : β), Measurable.{u2, u3} α γ _inst_1 _inst_2 (g b)) -> (Measurable.{u2, u3} α γ _inst_1 _inst_2 (fun (a : α) => g (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a) a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_bind MeasureTheory.SimpleFunc.measurable_bindₓ'. -/
 theorem measurable_bind [MeasurableSpace γ] (f : α →ₛ β) (g : β → α → γ)
     (hg : ∀ b, Measurable (g b)) : Measurable fun a => g (f a) a := fun s hs =>
   f.measurableSet_cut (fun a b => g b a ∈ s) fun b => hg b hs
@@ -484,12 +316,6 @@ def bind (f : α →ₛ β) (g : β → α →ₛ γ) : α →ₛ γ :=
 #align measure_theory.simple_func.bind MeasureTheory.SimpleFunc.bind
 -/
 
-/- warning: measure_theory.simple_func.bind_apply -> MeasureTheory.SimpleFunc.bind_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ)) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.bind.{u1, u2, u3} α β γ _inst_1 f g) a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a)) a)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : β -> (MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ)) (a : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.bind.{u3, u2, u1} α β γ _inst_1 f g) a) (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (g (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f a)) a)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.bind_apply MeasureTheory.SimpleFunc.bind_applyₓ'. -/
 @[simp]
 theorem bind_apply (f : α →ₛ β) (g : β → α →ₛ γ) (a) : f.bind g a = g (f a) a :=
   rfl
@@ -503,65 +329,29 @@ def map (g : β → γ) (f : α →ₛ β) : α →ₛ γ :=
 #align measure_theory.simple_func.map MeasureTheory.SimpleFunc.map
 -/
 
-/- warning: measure_theory.simple_func.map_apply -> MeasureTheory.SimpleFunc.map_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f) a) (g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (a : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f) a) (g (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_apply MeasureTheory.SimpleFunc.map_applyₓ'. -/
 theorem map_apply (g : β → γ) (f : α →ₛ β) (a) : f.map g a = g (f a) :=
   rfl
 #align measure_theory.simple_func.map_apply MeasureTheory.SimpleFunc.map_apply
 
-/- warning: measure_theory.simple_func.map_map -> MeasureTheory.SimpleFunc.map_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (h : γ -> δ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u4)} (MeasureTheory.SimpleFunc.{u1, u4} α _inst_1 δ) (MeasureTheory.SimpleFunc.map.{u1, u3, u4} α γ δ _inst_1 h (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (MeasureTheory.SimpleFunc.map.{u1, u2, u4} α β δ _inst_1 (Function.comp.{succ u2, succ u3, succ u4} β γ δ h g) f)
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} {γ : Type.{u1}} {δ : Type.{u2}} [_inst_1 : MeasurableSpace.{u4} α] (g : β -> γ) (h : γ -> δ) (f : MeasureTheory.SimpleFunc.{u4, u3} α _inst_1 β), Eq.{max (succ u4) (succ u2)} (MeasureTheory.SimpleFunc.{u4, u2} α _inst_1 δ) (MeasureTheory.SimpleFunc.map.{u4, u1, u2} α γ δ _inst_1 h (MeasureTheory.SimpleFunc.map.{u4, u3, u1} α β γ _inst_1 g f)) (MeasureTheory.SimpleFunc.map.{u4, u3, u2} α β δ _inst_1 (Function.comp.{succ u3, succ u1, succ u2} β γ δ h g) f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_map MeasureTheory.SimpleFunc.map_mapₓ'. -/
 theorem map_map (g : β → γ) (h : γ → δ) (f : α →ₛ β) : (f.map g).map h = f.map (h ∘ g) :=
   rfl
 #align measure_theory.simple_func.map_map MeasureTheory.SimpleFunc.map_map
 
-/- warning: measure_theory.simple_func.coe_map -> MeasureTheory.SimpleFunc.coe_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u3)} ((fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (Function.comp.{succ u1, succ u2, succ u3} α β γ g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β), Eq.{max (succ u3) (succ u1)} (α -> γ) (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f)) (Function.comp.{succ u3, succ u2, succ u1} α β γ g (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_map MeasureTheory.SimpleFunc.coe_mapₓ'. -/
 @[simp]
 theorem coe_map (g : β → γ) (f : α →ₛ β) : (f.map g : α → γ) = g ∘ f :=
   rfl
 #align measure_theory.simple_func.coe_map MeasureTheory.SimpleFunc.coe_map
 
-/- warning: measure_theory.simple_func.range_map -> MeasureTheory.SimpleFunc.range_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : DecidableEq.{succ u3} γ] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u3} (Finset.{u3} γ) (MeasureTheory.SimpleFunc.range.{u1, u3} α γ _inst_1 (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (Finset.image.{u2, u3} β γ (fun (a : γ) (b : γ) => _inst_2 a b) g (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : DecidableEq.{succ u3} γ] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{succ u3} (Finset.{u3} γ) (MeasureTheory.SimpleFunc.range.{u2, u3} α γ _inst_1 (MeasureTheory.SimpleFunc.map.{u2, u1, u3} α β γ _inst_1 g f)) (Finset.image.{u1, u3} β γ (fun (a : γ) (b : γ) => _inst_2 a b) g (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_map MeasureTheory.SimpleFunc.range_mapₓ'. -/
 @[simp]
 theorem range_map [DecidableEq γ] (g : β → γ) (f : α →ₛ β) : (f.map g).range = f.range.image g :=
   Finset.coe_injective <| by simp only [coe_range, coe_map, Finset.coe_image, range_comp]
 #align measure_theory.simple_func.range_map MeasureTheory.SimpleFunc.range_map
 
-/- warning: measure_theory.simple_func.map_const -> MeasureTheory.SimpleFunc.map_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (b : β), Eq.{max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 b)) (MeasureTheory.SimpleFunc.const.{u1, u3} α γ _inst_1 (g b))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] (g : β -> γ) (b : β), Eq.{max (succ u3) (succ u2)} (MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u3, u1, u2} α β γ _inst_1 g (MeasureTheory.SimpleFunc.const.{u3, u1} α β _inst_1 b)) (MeasureTheory.SimpleFunc.const.{u3, u2} α γ _inst_1 (g b))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_const MeasureTheory.SimpleFunc.map_constₓ'. -/
 @[simp]
 theorem map_const (g : β → γ) (b : β) : (const α b).map g = const α (g b) :=
   rfl
 #align measure_theory.simple_func.map_const MeasureTheory.SimpleFunc.map_const
 
-/- warning: measure_theory.simple_func.map_preimage -> MeasureTheory.SimpleFunc.map_preimage is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> γ) (s : Set.{u3} γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) s) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finset.filter.{u2} β (fun (b : β) => Membership.Mem.{u3, u3} γ (Set.{u3} γ) (Set.hasMem.{u3} γ) (g b) s) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Membership.Mem.{u3, u3} γ (Set.{u3} γ) (Set.hasMem.{u3} γ) (g b) s) a)) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : β -> γ) (s : Set.{u1} γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f)) s) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) (Finset.toSet.{u2} β (Finset.filter.{u2} β (fun (b : β) => Membership.mem.{u1, u1} γ (Set.{u1} γ) (Set.instMembershipSet.{u1} γ) (g b) s) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Membership.mem.{u1, u1} γ (Set.{u1} γ) (Set.instMembershipSet.{u1} γ) (g b) s) a)) (MeasureTheory.SimpleFunc.range.{u3, u2} α β _inst_1 f))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_preimage MeasureTheory.SimpleFunc.map_preimageₓ'. -/
 theorem map_preimage (f : α →ₛ β) (g : β → γ) (s : Set γ) :
     f.map g ⁻¹' s = f ⁻¹' ↑(f.range.filterₓ fun b => g b ∈ s) :=
   by
@@ -570,12 +360,6 @@ theorem map_preimage (f : α →ₛ β) (g : β → γ) (s : Set γ) :
   apply preimage_comp
 #align measure_theory.simple_func.map_preimage MeasureTheory.SimpleFunc.map_preimage
 
-/- warning: measure_theory.simple_func.map_preimage_singleton -> MeasureTheory.SimpleFunc.map_preimage_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> γ) (c : γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (Singleton.singleton.{u3, u3} γ (Set.{u3} γ) (Set.hasSingleton.{u3} γ) c)) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finset.filter.{u2} β (fun (b : β) => Eq.{succ u3} γ (g b) c) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Eq.{succ u3} γ (g b) c) a)) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : β -> γ) (c : γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f)) (Singleton.singleton.{u1, u1} γ (Set.{u1} γ) (Set.instSingletonSet.{u1} γ) c)) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) (Finset.toSet.{u2} β (Finset.filter.{u2} β (fun (b : β) => Eq.{succ u1} γ (g b) c) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Eq.{succ u1} γ (g b) c) a)) (MeasureTheory.SimpleFunc.range.{u3, u2} α β _inst_1 f))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_preimage_singleton MeasureTheory.SimpleFunc.map_preimage_singletonₓ'. -/
 theorem map_preimage_singleton (f : α →ₛ β) (g : β → γ) (c : γ) :
     f.map g ⁻¹' {c} = f ⁻¹' ↑(f.range.filterₓ fun b => g b = c) :=
   map_preimage _ _ _
@@ -591,24 +375,12 @@ def comp [MeasurableSpace β] (f : β →ₛ γ) (g : α → β) (hgm : Measurab
 #align measure_theory.simple_func.comp MeasureTheory.SimpleFunc.comp
 -/
 
-/- warning: measure_theory.simple_func.coe_comp -> MeasureTheory.SimpleFunc.coe_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u2} α β _inst_1 _inst_2 g), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 f g hgm)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) f) g)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] (f : MeasureTheory.SimpleFunc.{u3, u2} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u3} α β _inst_1 _inst_2 g), Eq.{max (succ u1) (succ u2)} (α -> γ) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 γ (MeasureTheory.SimpleFunc.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 f g hgm)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (MeasureTheory.SimpleFunc.toFun.{u3, u2} β _inst_2 γ f) g)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_comp MeasureTheory.SimpleFunc.coe_compₓ'. -/
 @[simp]
 theorem coe_comp [MeasurableSpace β] (f : β →ₛ γ) {g : α → β} (hgm : Measurable g) :
     ⇑(f.comp g hgm) = f ∘ g :=
   rfl
 #align measure_theory.simple_func.coe_comp MeasureTheory.SimpleFunc.coe_comp
 
-/- warning: measure_theory.simple_func.range_comp_subset_range -> MeasureTheory.SimpleFunc.range_comp_subset_range is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u2} α β _inst_1 _inst_2 g), HasSubset.Subset.{u3} (Finset.{u3} γ) (Finset.hasSubset.{u3} γ) (MeasureTheory.SimpleFunc.range.{u1, u3} α γ _inst_1 (MeasureTheory.SimpleFunc.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 f g hgm)) (MeasureTheory.SimpleFunc.range.{u2, u3} β γ _inst_2 f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] (f : MeasureTheory.SimpleFunc.{u3, u2} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u3} α β _inst_1 _inst_2 g), HasSubset.Subset.{u2} (Finset.{u2} γ) (Finset.instHasSubsetFinset.{u2} γ) (MeasureTheory.SimpleFunc.range.{u1, u2} α γ _inst_1 (MeasureTheory.SimpleFunc.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 f g hgm)) (MeasureTheory.SimpleFunc.range.{u3, u2} β γ _inst_2 f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_comp_subset_range MeasureTheory.SimpleFunc.range_comp_subset_rangeₓ'. -/
 theorem range_comp_subset_range [MeasurableSpace β] (f : β →ₛ γ) {g : α → β} (hgm : Measurable g) :
     (f.comp g hgm).range ⊆ f.range :=
   Finset.coe_subset.1 <| by simp only [coe_range, coe_comp, Set.range_comp_subset_range]
@@ -629,48 +401,24 @@ def extend [MeasurableSpace β] (f₁ : α →ₛ γ) (g : α → β) (hg : Meas
 #align measure_theory.simple_func.extend MeasureTheory.SimpleFunc.extend
 -/
 
-/- warning: measure_theory.simple_func.extend_apply -> MeasureTheory.SimpleFunc.extend_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (x : α), Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂) (g x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) f₁ x)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ) (x : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂) (g x)) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ f₁ x)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_apply MeasureTheory.SimpleFunc.extend_applyₓ'. -/
 @[simp]
 theorem extend_apply [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) (x : α) : (f₁.extend g hg f₂) (g x) = f₁ x :=
   hg.Injective.extend_apply _ _ _
 #align measure_theory.simple_func.extend_apply MeasureTheory.SimpleFunc.extend_apply
 
-/- warning: measure_theory.simple_func.extend_apply' -> MeasureTheory.SimpleFunc.extend_apply' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) {y : β}, (Not (Exists.{succ u1} α (fun (x : α) => Eq.{succ u2} β (g x) y))) -> (Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂) y) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) f₂ y))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ) {y : β}, (Not (Exists.{succ u2} α (fun (x : α) => Eq.{succ u3} β (g x) y))) -> (Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂) y) (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ f₂ y))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_apply' MeasureTheory.SimpleFunc.extend_apply'ₓ'. -/
 @[simp]
 theorem extend_apply' [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) {y : β} (h : ¬∃ x, g x = y) : (f₁.extend g hg f₂) y = f₂ y :=
   Function.extend_apply' _ _ _ h
 #align measure_theory.simple_func.extend_apply' MeasureTheory.SimpleFunc.extend_apply'
 
-/- warning: measure_theory.simple_func.extend_comp_eq' -> MeasureTheory.SimpleFunc.extend_comp_eq' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ), Eq.{max (succ u1) (succ u3)} (α -> γ) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂)) g) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) f₁)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ), Eq.{max (succ u2) (succ u1)} (α -> γ) (Function.comp.{succ u2, succ u3, succ u1} α β γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂)) g) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ f₁)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_comp_eq' MeasureTheory.SimpleFunc.extend_comp_eq'ₓ'. -/
 @[simp]
 theorem extend_comp_eq' [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) : f₁.extend g hg f₂ ∘ g = f₁ :=
   funext fun x => extend_apply _ _ _ _
 #align measure_theory.simple_func.extend_comp_eq' MeasureTheory.SimpleFunc.extend_comp_eq'
 
-/- warning: measure_theory.simple_func.extend_comp_eq -> MeasureTheory.SimpleFunc.extend_comp_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ), Eq.{max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂) g (MeasurableEmbedding.measurable.{u1, u2} α β _inst_1 _inst_2 g hg)) f₁
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.comp.{u2, u3, u1} α β γ _inst_1 _inst_2 (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂) g (MeasurableEmbedding.measurable.{u2, u3} α β _inst_1 _inst_2 g hg)) f₁
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_comp_eq MeasureTheory.SimpleFunc.extend_comp_eqₓ'. -/
 @[simp]
 theorem extend_comp_eq [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) : (f₁.extend g hg f₂).comp g hg.Measurable = f₁ :=
@@ -685,12 +433,6 @@ def seq (f : α →ₛ β → γ) (g : α →ₛ β) : α →ₛ γ :=
 #align measure_theory.simple_func.seq MeasureTheory.SimpleFunc.seq
 -/
 
-/- warning: measure_theory.simple_func.seq_apply -> MeasureTheory.SimpleFunc.seq_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (β -> γ)) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.seq.{u1, u2, u3} α β γ _inst_1 f g) a) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (β -> γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (β -> γ)) => α -> β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (β -> γ) _inst_1) f a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g a))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, max u2 u1} α _inst_1 (β -> γ)) (g : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (a : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.seq.{u3, u2, u1} α β γ _inst_1 f g) a) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (β -> γ) f a (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β g a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.seq_apply MeasureTheory.SimpleFunc.seq_applyₓ'. -/
 @[simp]
 theorem seq_apply (f : α →ₛ β → γ) (g : α →ₛ β) (a : α) : f.seq g a = f a (g a) :=
   rfl
@@ -704,47 +446,23 @@ def pair (f : α →ₛ β) (g : α →ₛ γ) : α →ₛ β × γ :=
 #align measure_theory.simple_func.pair MeasureTheory.SimpleFunc.pair
 -/
 
-/- warning: measure_theory.simple_func.pair_apply -> MeasureTheory.SimpleFunc.pair_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (a : α), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} β γ) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) => α -> (Prod.{u2, u3} β γ)) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ _inst_1 f g) a) (Prod.mk.{u2, u3} β γ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) g a))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ) (a : α), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ _inst_1 f g) a) (Prod.mk.{u2, u1} β γ (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f a) (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ g a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_apply MeasureTheory.SimpleFunc.pair_applyₓ'. -/
 @[simp]
 theorem pair_apply (f : α →ₛ β) (g : α →ₛ γ) (a) : pair f g a = (f a, g a) :=
   rfl
 #align measure_theory.simple_func.pair_apply MeasureTheory.SimpleFunc.pair_apply
 
-/- warning: measure_theory.simple_func.pair_preimage -> MeasureTheory.SimpleFunc.pair_preimage is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (s : Set.{u2} β) (t : Set.{u3} γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, max u2 u3} α (Prod.{u2, u3} β γ) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) => α -> (Prod.{u2, u3} β γ)) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ _inst_1 f g)) (Set.prod.{u2, u3} β γ s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) g) t))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ) (s : Set.{u2} β) (t : Set.{u1} γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, max u2 u1} α (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ _inst_1 f g)) (Set.prod.{u2, u1} β γ s t)) (Inter.inter.{u3} (Set.{u3} α) (Set.instInterSet.{u3} α) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) s) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ g) t))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_preimage MeasureTheory.SimpleFunc.pair_preimageₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem pair_preimage (f : α →ₛ β) (g : α →ₛ γ) (s : Set β) (t : Set γ) :
     pair f g ⁻¹' s ×ˢ t = f ⁻¹' s ∩ g ⁻¹' t :=
   rfl
 #align measure_theory.simple_func.pair_preimage MeasureTheory.SimpleFunc.pair_preimage
 
-/- warning: measure_theory.simple_func.pair_preimage_singleton -> MeasureTheory.SimpleFunc.pair_preimage_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (b : β) (c : γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, max u2 u3} α (Prod.{u2, u3} β γ) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) => α -> (Prod.{u2, u3} β γ)) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ _inst_1 f g)) (Singleton.singleton.{max u2 u3, max u2 u3} (Prod.{u2, u3} β γ) (Set.{max u2 u3} (Prod.{u2, u3} β γ)) (Set.hasSingleton.{max u2 u3} (Prod.{u2, u3} β γ)) (Prod.mk.{u2, u3} β γ b c))) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) b)) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) g) (Singleton.singleton.{u3, u3} γ (Set.{u3} γ) (Set.hasSingleton.{u3} γ) c)))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ) (b : β) (c : γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, max u2 u1} α (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ _inst_1 f g)) (Singleton.singleton.{max u1 u2, max u2 u1} (Prod.{u2, u1} β γ) (Set.{max u2 u1} (Prod.{u2, u1} β γ)) (Set.instSingletonSet.{max u2 u1} (Prod.{u2, u1} β γ)) (Prod.mk.{u2, u1} β γ b c))) (Inter.inter.{u3} (Set.{u3} α) (Set.instInterSet.{u3} α) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.instSingletonSet.{u2} β) b)) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ g) (Singleton.singleton.{u1, u1} γ (Set.{u1} γ) (Set.instSingletonSet.{u1} γ) c)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singletonₓ'. -/
 -- A special form of `pair_preimage`
 theorem pair_preimage_singleton (f : α →ₛ β) (g : α →ₛ γ) (b : β) (c : γ) :
     pair f g ⁻¹' {(b, c)} = f ⁻¹' {b} ∩ g ⁻¹' {c} := by rw [← singleton_prod_singleton];
   exact pair_preimage _ _ _ _
 #align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singleton
 
-/- warning: measure_theory.simple_func.bind_const -> MeasureTheory.SimpleFunc.bind_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.bind.{u1, u2, u2} α β β _inst_1 f (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1)) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.bind.{u2, u1, u1} α β β _inst_1 f (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.bind_const MeasureTheory.SimpleFunc.bind_constₓ'. -/
 theorem bind_const (f : α →ₛ β) : f.bind (const α) = f := by ext <;> simp
 #align measure_theory.simple_func.bind_const MeasureTheory.SimpleFunc.bind_const
 
@@ -813,12 +531,6 @@ theorem coe_div [Div β] (f g : α →ₛ β) : ⇑(f / g) = f / g :=
 #align measure_theory.simple_func.coe_sub MeasureTheory.SimpleFunc.coe_sub
 -/
 
-/- warning: measure_theory.simple_func.coe_le -> MeasureTheory.SimpleFunc.coe_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Preorder.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, Iff (LE.le.{max u1 u2} ((fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) f) (Pi.hasLe.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => Preorder.toHasLe.{u2} β _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g)) (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β _inst_2)) f g)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Preorder.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, Iff (LE.le.{max u1 u2} (α -> β) (Pi.hasLe.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => Preorder.toLE.{u2} β _inst_2)) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β f) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β g)) (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toLE.{u2} β _inst_2)) f g)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_le MeasureTheory.SimpleFunc.coe_leₓ'. -/
 @[simp, norm_cast]
 theorem coe_le [Preorder β] {f g : α →ₛ β} : (f : α → β) ≤ g ↔ f ≤ g :=
   Iff.rfl
@@ -874,12 +586,6 @@ theorem inf_apply [Inf β] (f g : α →ₛ β) (a : α) : (f ⊓ g) a = f a ⊓
 #align measure_theory.simple_func.inf_apply MeasureTheory.SimpleFunc.inf_apply
 -/
 
-/- warning: measure_theory.simple_func.range_one -> MeasureTheory.SimpleFunc.range_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Nonempty.{succ u1} α] [_inst_3 : One.{u2} β], Eq.{succ u2} (Finset.{u2} β) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (OfNat.ofNat.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 1 (OfNat.mk.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 1 (One.one.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instOne.{u1, u2} α β _inst_1 _inst_3))))) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_3))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Nonempty.{succ u2} α] [_inst_3 : One.{u1} β], Eq.{succ u1} (Finset.{u1} β) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (OfNat.ofNat.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) 1 (One.toOfNat1.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.instOne.{u2, u1} α β _inst_1 _inst_3)))) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β _inst_3)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_one MeasureTheory.SimpleFunc.range_oneₓ'. -/
 @[simp, to_additive]
 theorem range_one [Nonempty α] [One β] : (1 : α →ₛ β).range = {1} :=
   Finset.ext fun x => by simp [eq_comm]
@@ -928,12 +634,6 @@ theorem const_mul_eq_map [Mul β] (f : α →ₛ β) (b : β) : const α b * f =
 #align measure_theory.simple_func.const_add_eq_map MeasureTheory.SimpleFunc.const_add_eq_map
 -/
 
-/- warning: measure_theory.simple_func.map_mul -> MeasureTheory.SimpleFunc.map_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Mul.{u2} β] [_inst_3 : Mul.{u3} γ] {g : β -> γ}, (forall (x : β) (y : β), Eq.{succ u3} γ (g (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β _inst_2) x y)) (HMul.hMul.{u3, u3, u3} γ γ γ (instHMul.{u3} γ _inst_3) (g x) (g y))) -> (forall (f₁ : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (f₂ : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (instHMul.{max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.instMul.{u1, u3} α γ _inst_1 _inst_3)) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f₁) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f₂)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Mul.{u3} β] [_inst_3 : Mul.{u2} γ] {g : β -> γ}, (forall (x : β) (y : β), Eq.{succ u2} γ (g (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β _inst_2) x y)) (HMul.hMul.{u2, u2, u2} γ γ γ (instHMul.{u2} γ _inst_3) (g x) (g y))) -> (forall (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (f₂ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u1, u3, u2} α β γ _inst_1 g (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (instHMul.{max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (MeasureTheory.SimpleFunc.instMul.{u1, u3} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α γ _inst_1 _inst_3)) (MeasureTheory.SimpleFunc.map.{u1, u3, u2} α β γ _inst_1 g f₁) (MeasureTheory.SimpleFunc.map.{u1, u3, u2} α β γ _inst_1 g f₂)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_mul MeasureTheory.SimpleFunc.map_mulₓ'. -/
 @[to_additive]
 theorem map_mul [Mul β] [Mul γ] {g : β → γ} (hg : ∀ x y, g (x * y) = g x * g y) (f₁ f₂ : α →ₛ β) :
     (f₁ * f₂).map g = f₁.map g * f₂.map g :=
@@ -1085,12 +785,6 @@ instance [Lattice β] : Lattice (α →ₛ β) :=
 instance [LE β] [BoundedOrder β] : BoundedOrder (α →ₛ β) :=
   { SimpleFunc.instOrderBot, SimpleFunc.instOrderTop with }
 
-/- warning: measure_theory.simple_func.finset_sup_apply -> MeasureTheory.SimpleFunc.finset_sup_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] {f : γ -> (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β)} (s : Finset.{u3} γ) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (Finset.sup.{max u1 u2, u3} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) γ (MeasureTheory.SimpleFunc.instSemilatticeSup.{u1, u2} α β _inst_1 _inst_2) (MeasureTheory.SimpleFunc.instOrderBot.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) _inst_3) s f) a) (Finset.sup.{u2, u3} β γ _inst_2 _inst_3 s (fun (c : γ) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (f c) a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : SemilatticeSup.{u3} β] [_inst_3 : OrderBot.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2)))] {f : γ -> (MeasureTheory.SimpleFunc.{u2, u3} α _inst_1 β)} (s : Finset.{u1} γ) (a : α), Eq.{succ u3} β (MeasureTheory.SimpleFunc.toFun.{u2, u3} α _inst_1 β (Finset.sup.{max u2 u3, u1} (MeasureTheory.SimpleFunc.{u2, u3} α _inst_1 β) γ (MeasureTheory.SimpleFunc.instSemilatticeSup.{u2, u3} α β _inst_1 _inst_2) (MeasureTheory.SimpleFunc.instOrderBot.{u2, u3} α β _inst_1 (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2))) _inst_3) s f) a) (Finset.sup.{u3, u1} β γ _inst_2 _inst_3 s (fun (c : γ) => MeasureTheory.SimpleFunc.toFun.{u2, u3} α _inst_1 β (f c) a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.finset_sup_apply MeasureTheory.SimpleFunc.finset_sup_applyₓ'. -/
 theorem finset_sup_apply [SemilatticeSup β] [OrderBot β] {f : γ → α →ₛ β} (s : Finset γ) (a : α) :
     s.sup f a = s.sup fun c => f c a :=
   by
@@ -1111,44 +805,20 @@ def restrict (f : α →ₛ β) (s : Set α) : α →ₛ β :=
 #align measure_theory.simple_func.restrict MeasureTheory.SimpleFunc.restrict
 -/
 
-/- warning: measure_theory.simple_func.restrict_of_not_measurable -> MeasureTheory.SimpleFunc.restrict_of_not_measurable is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {s : Set.{u1} α}, (Not (MeasurableSet.{u1} α _inst_1 s)) -> (Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) (OfNat.ofNat.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (OfNat.mk.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (Zero.zero.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u1, u2} α β _inst_1 _inst_2)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {s : Set.{u2} α}, (Not (MeasurableSet.{u2} α _inst_1 s)) -> (Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s) (OfNat.ofNat.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) 0 (Zero.toOfNat0.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u2, u1} α β _inst_1 _inst_2))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_of_not_measurable MeasureTheory.SimpleFunc.restrict_of_not_measurableₓ'. -/
 theorem restrict_of_not_measurable {f : α →ₛ β} {s : Set α} (hs : ¬MeasurableSet s) :
     restrict f s = 0 :=
   dif_neg hs
 #align measure_theory.simple_func.restrict_of_not_measurable MeasureTheory.SimpleFunc.restrict_of_not_measurable
 
-/- warning: measure_theory.simple_func.coe_restrict -> MeasureTheory.SimpleFunc.coe_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s)) (Set.indicator.{u1, u2} α β _inst_2 s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s)) (Set.indicator.{u2, u1} α β _inst_2 s (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrictₓ'. -/
 @[simp]
 theorem coe_restrict (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
     ⇑(restrict f s) = indicator s f := by rw [restrict, dif_pos hs]; rfl
 #align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrict
 
-/- warning: measure_theory.simple_func.restrict_univ -> MeasureTheory.SimpleFunc.restrict_univ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f (Set.univ.{u1} α)) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f (Set.univ.{u2} α)) f
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_univ MeasureTheory.SimpleFunc.restrict_univₓ'. -/
 @[simp]
 theorem restrict_univ (f : α →ₛ β) : restrict f univ = f := by simp [restrict]
 #align measure_theory.simple_func.restrict_univ MeasureTheory.SimpleFunc.restrict_univ
 
-/- warning: measure_theory.simple_func.restrict_empty -> MeasureTheory.SimpleFunc.restrict_empty is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (OfNat.ofNat.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (OfNat.mk.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (Zero.zero.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u1, u2} α β _inst_1 _inst_2))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.instEmptyCollectionSet.{u2} α))) (OfNat.ofNat.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) 0 (Zero.toOfNat0.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u2, u1} α β _inst_1 _inst_2)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_empty MeasureTheory.SimpleFunc.restrict_emptyₓ'. -/
 @[simp]
 theorem restrict_empty (f : α →ₛ β) : restrict f ∅ = 0 := by simp [restrict]
 #align measure_theory.simple_func.restrict_empty MeasureTheory.SimpleFunc.restrict_empty
@@ -1162,77 +832,35 @@ theorem map_restrict_of_zero [Zero γ] {g : β → γ} (hg : g 0 = 0) (f : α 
 #align measure_theory.simple_func.map_restrict_of_zero MeasureTheory.SimpleFunc.map_restrict_of_zero
 -/
 
-/- warning: measure_theory.simple_func.map_coe_ennreal_restrict -> MeasureTheory.SimpleFunc.map_coe_ennreal_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe)))) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal _inst_1 ENNReal.hasZero (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe)))) f) s)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ENNReal.some (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 instNNRealZero f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal _inst_1 instENNRealZero (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ENNReal.some f) s)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_coe_ennreal_restrict MeasureTheory.SimpleFunc.map_coe_ennreal_restrictₓ'. -/
 theorem map_coe_ennreal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
     (f.restrict s).map (coe : ℝ≥0 → ℝ≥0∞) = (f.map coe).restrict s :=
   map_restrict_of_zero ENNReal.coe_zero _ _
 #align measure_theory.simple_func.map_coe_ennreal_restrict MeasureTheory.SimpleFunc.map_coe_ennreal_restrict
 
-/- warning: measure_theory.simple_func.map_coe_nnreal_restrict -> MeasureTheory.SimpleFunc.map_coe_nnreal_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 Real) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe)))) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α Real _inst_1 Real.hasZero (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe)))) f) s)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 Real) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 NNReal.toReal (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 instNNRealZero f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α Real _inst_1 Real.instZeroReal (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 NNReal.toReal f) s)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_coe_nnreal_restrict MeasureTheory.SimpleFunc.map_coe_nnreal_restrictₓ'. -/
 theorem map_coe_nnreal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
     (f.restrict s).map (coe : ℝ≥0 → ℝ) = (f.map coe).restrict s :=
   map_restrict_of_zero NNReal.coe_zero _ _
 #align measure_theory.simple_func.map_coe_nnreal_restrict MeasureTheory.SimpleFunc.map_coe_nnreal_restrict
 
-/- warning: measure_theory.simple_func.restrict_apply -> MeasureTheory.SimpleFunc.restrict_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) a) (Set.indicator.{u1, u2} α β _inst_2 s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (forall (a : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s) a) (Set.indicator.{u2, u1} α β _inst_2 s (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_apply MeasureTheory.SimpleFunc.restrict_applyₓ'. -/
 theorem restrict_apply (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) (a) :
     restrict f s a = indicator s f a := by simp only [f.coe_restrict hs]
 #align measure_theory.simple_func.restrict_apply MeasureTheory.SimpleFunc.restrict_apply
 
-/- warning: measure_theory.simple_func.restrict_preimage -> MeasureTheory.SimpleFunc.restrict_preimage is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (forall {t : Set.{u2} β}, (Not (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2))) t)) -> (Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s)) t) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) t))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (forall {t : Set.{u1} β}, (Not (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2)) t)) -> (Eq.{succ u2} (Set.{u2} α) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s)) t) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) s (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) t))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_preimage MeasureTheory.SimpleFunc.restrict_preimageₓ'. -/
 theorem restrict_preimage (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) {t : Set β}
     (ht : (0 : β) ∉ t) : restrict f s ⁻¹' t = s ∩ f ⁻¹' t := by
   simp [hs, indicator_preimage_of_not_mem _ _ ht, inter_comm]
 #align measure_theory.simple_func.restrict_preimage MeasureTheory.SimpleFunc.restrict_preimage
 
-/- warning: measure_theory.simple_func.restrict_preimage_singleton -> MeasureTheory.SimpleFunc.restrict_preimage_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (forall {r : β}, (Ne.{succ u2} β r (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) -> (Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s)) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) r)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) r)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (forall {r : β}, (Ne.{succ u1} β r (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) -> (Eq.{succ u2} (Set.{u2} α) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) r)) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) s (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) r)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_preimage_singleton MeasureTheory.SimpleFunc.restrict_preimage_singletonₓ'. -/
 theorem restrict_preimage_singleton (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) {r : β}
     (hr : r ≠ 0) : restrict f s ⁻¹' {r} = s ∩ f ⁻¹' {r} :=
   f.restrictPreimage hs hr.symm
 #align measure_theory.simple_func.restrict_preimage_singleton MeasureTheory.SimpleFunc.restrict_preimage_singleton
 
-/- warning: measure_theory.simple_func.mem_restrict_range -> MeasureTheory.SimpleFunc.mem_restrict_range is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {r : β} {s : Set.{u1} α} {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (MeasurableSet.{u1} α _inst_1 s) -> (Iff (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) r (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s))) (Or (And (Eq.{succ u2} β r (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (Ne.{succ u1} (Set.{u1} α) s (Set.univ.{u1} α))) (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) r (Set.image.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] {r : β} {s : Set.{u2} α} {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}, (MeasurableSet.{u2} α _inst_1 s) -> (Iff (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) r (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s))) (Or (And (Eq.{succ u1} β r (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (Ne.{succ u2} (Set.{u2} α) s (Set.univ.{u2} α))) (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) r (Set.image.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) s))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_restrict_range MeasureTheory.SimpleFunc.mem_restrict_rangeₓ'. -/
 theorem mem_restrict_range {r : β} {s : Set α} {f : α →ₛ β} (hs : MeasurableSet s) :
     r ∈ (restrict f s).range ↔ r = 0 ∧ s ≠ univ ∨ r ∈ f '' s := by
   rw [← Finset.mem_coe, coe_range, coe_restrict _ hs, mem_range_indicator]
 #align measure_theory.simple_func.mem_restrict_range MeasureTheory.SimpleFunc.mem_restrict_range
 
-/- warning: measure_theory.simple_func.mem_image_of_mem_range_restrict -> MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {r : β} {s : Set.{u1} α} {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) r (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s))) -> (Ne.{succ u2} β r (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) -> (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) r (Set.image.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] {r : β} {s : Set.{u2} α} {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}, (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) r (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s))) -> (Ne.{succ u1} β r (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) -> (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) r (Set.image.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) s))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrictₓ'. -/
 theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     (hr : r ∈ (restrict f s).range) (h0 : r ≠ 0) : r ∈ f '' s :=
   if hs : MeasurableSet s then by simpa [mem_restrict_range hs, h0] using hr
@@ -1241,12 +869,6 @@ theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     exact (h0 <| eq_zero_of_mem_range_zero hr).elim
 #align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict
 
-/- warning: measure_theory.simple_func.restrict_mono -> MeasureTheory.SimpleFunc.restrict_mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Preorder.{u2} β] (s : Set.{u1} α) {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β _inst_3)) f g) -> (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β _inst_3)) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 g s))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Preorder.{u2} β] (s : Set.{u1} α) {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toLE.{u2} β _inst_3)) f g) -> (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toLE.{u2} β _inst_3)) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 g s))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_mono MeasureTheory.SimpleFunc.restrict_monoₓ'. -/
 @[mono]
 theorem restrict_mono [Preorder β] (s : Set α) {f g : α →ₛ β} (H : f ≤ g) :
     f.restrict s ≤ g.restrict s :=
@@ -1263,12 +885,6 @@ section
 
 variable [SemilatticeSup β] [OrderBot β] [Zero β]
 
-/- warning: measure_theory.simple_func.approx -> MeasureTheory.SimpleFunc.approx is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β], (Nat -> β) -> (α -> β) -> Nat -> (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β], (Nat -> β) -> (α -> β) -> Nat -> (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx MeasureTheory.SimpleFunc.approxₓ'. -/
 /-- Fix a sequence `i : ℕ → β`. Given a function `α → β`, its `n`-th approximation
 by simple functions is defined so that in case `β = ℝ≥0∞` it sends each `a` to the supremum
 of the set `{i k | k ≤ n ∧ i k ≤ f a}`, see `approx_apply` and `supr_approx_apply` for details. -/
@@ -1276,12 +892,6 @@ def approx (i : ℕ → β) (f : α → β) (n : ℕ) : α →ₛ β :=
   (Finset.range n).sup fun k => restrict (const α (i k)) { a : α | i k ≤ f a }
 #align measure_theory.simple_func.approx MeasureTheory.SimpleFunc.approx
 
-/- warning: measure_theory.simple_func.approx_apply -> MeasureTheory.SimpleFunc.approx_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] [_inst_5 : TopologicalSpace.{u2} β] [_inst_6 : OrderClosedTopology.{u2} β _inst_5 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))] [_inst_7 : MeasurableSpace.{u2} β] [_inst_8 : OpensMeasurableSpace.{u2} β _inst_5 _inst_7] {i : Nat -> β} {f : α -> β} {n : Nat} (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_7 f) -> (Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f n) a) (Finset.sup.{u2, 0} β Nat _inst_2 _inst_3 (Finset.range n) (fun (k : Nat) => ite.{succ u2} β (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a)) (Classical.propDecidable (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a))) (i k) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_4))))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] [_inst_5 : TopologicalSpace.{u2} β] [_inst_6 : OrderClosedTopology.{u2} β _inst_5 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))] [_inst_7 : MeasurableSpace.{u2} β] [_inst_8 : OpensMeasurableSpace.{u2} β _inst_5 _inst_7] {i : Nat -> β} {f : α -> β} {n : Nat} (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_7 f) -> (Eq.{succ u2} β (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f n) a) (Finset.sup.{u2, 0} β Nat _inst_2 _inst_3 (Finset.range n) (fun (k : Nat) => ite.{succ u2} β (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a)) (Classical.propDecidable (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a))) (i k) (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_4)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx_apply MeasureTheory.SimpleFunc.approx_applyₓ'. -/
 theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] {i : ℕ → β} {f : α → β} {n : ℕ} (a : α) (hf : Measurable f) :
     (approx i f n : α →ₛ β) a = (Finset.range n).sup fun k => if i k ≤ f a then i k else 0 :=
@@ -1295,19 +905,10 @@ theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableS
   exact hf measurableSet_Ici
 #align measure_theory.simple_func.approx_apply MeasureTheory.SimpleFunc.approx_apply
 
-/- warning: measure_theory.simple_func.monotone_approx -> MeasureTheory.SimpleFunc.monotone_approx is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] (i : Nat -> β) (f : α -> β), Monotone.{0, max u1 u2} Nat (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (MeasureTheory.SimpleFunc.instPreorder.{u1, u2} α β _inst_1 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] (i : Nat -> β) (f : α -> β), Monotone.{0, max u2 u1} Nat (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (MeasureTheory.SimpleFunc.instPreorder.{u1, u2} α β _inst_1 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approxₓ'. -/
 theorem monotone_approx (i : ℕ → β) (f : α → β) : Monotone (approx i f) := fun n m h =>
   Finset.sup_mono <| Finset.range_subset.2 h
 #align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approx
 
-/- warning: measure_theory.simple_func.approx_comp -> MeasureTheory.SimpleFunc.approx_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx_comp MeasureTheory.SimpleFunc.approx_compₓ'. -/
 theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] [MeasurableSpace γ] {i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
     (hf : Measurable f) (hg : Measurable g) :
@@ -1317,9 +918,6 @@ theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSp
 
 end
 
-/- warning: measure_theory.simple_func.supr_approx_apply -> MeasureTheory.SimpleFunc.iSup_approx_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.supr_approx_apply MeasureTheory.SimpleFunc.iSup_approx_applyₓ'. -/
 theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
     (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (h : i k ≤ f a), i k :=
@@ -1348,12 +946,6 @@ def ennrealRatEmbed (n : ℕ) : ℝ≥0∞ :=
 #align measure_theory.simple_func.ennreal_rat_embed MeasureTheory.SimpleFunc.ennrealRatEmbed
 -/
 
-/- warning: measure_theory.simple_func.ennreal_rat_embed_encode -> MeasureTheory.SimpleFunc.ennrealRatEmbed_encode is a dubious translation:
-lean 3 declaration is
-  forall (q : Rat), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.ennrealRatEmbed (Encodable.encode.{0} Rat Rat.encodable q)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (Real.toNNReal ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Rat Real (HasLiftT.mk.{1, 1} Rat Real (CoeTCₓ.coe.{1, 1} Rat Real (Rat.castCoe.{0} Real Real.hasRatCast))) q)))
-but is expected to have type
-  forall (q : Rat), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.ennrealRatEmbed (Encodable.encode.{0} Rat Rat.instEncodableRat q)) (ENNReal.some (Real.toNNReal (Rat.cast.{0} Real Real.ratCast q)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.ennreal_rat_embed_encode MeasureTheory.SimpleFunc.ennrealRatEmbed_encodeₓ'. -/
 theorem ennrealRatEmbed_encode (q : ℚ) : ennrealRatEmbed (Encodable.encode q) = Real.toNNReal q :=
   by rw [ennreal_rat_embed, Encodable.encodek] <;> rfl
 #align measure_theory.simple_func.ennreal_rat_embed_encode MeasureTheory.SimpleFunc.ennrealRatEmbed_encode
@@ -1365,12 +957,6 @@ def eapprox : (α → ℝ≥0∞) → ℕ → α →ₛ ℝ≥0∞ :=
 #align measure_theory.simple_func.eapprox MeasureTheory.SimpleFunc.eapprox
 -/
 
-/- warning: measure_theory.simple_func.eapprox_lt_top -> MeasureTheory.SimpleFunc.eapprox_lt_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal _inst_1) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 ENNReal (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.eapprox_lt_top MeasureTheory.SimpleFunc.eapprox_lt_topₓ'. -/
 theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n a < ∞ :=
   by
   simp only [eapprox, approx, finset_sup_apply, Finset.sup_lt_iff, WithTop.zero_lt_top,
@@ -1387,23 +973,11 @@ theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n
   · exact WithTop.zero_lt_top
 #align measure_theory.simple_func.eapprox_lt_top MeasureTheory.SimpleFunc.eapprox_lt_top
 
-/- warning: measure_theory.simple_func.monotone_eapprox -> MeasureTheory.SimpleFunc.monotone_eapprox is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), Monotone.{0, u1} Nat (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (MeasureTheory.SimpleFunc.instPreorder.{u1, 0} α ENNReal _inst_1 (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), Monotone.{0, u1} Nat (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (MeasureTheory.SimpleFunc.instPreorder.{u1, 0} α ENNReal _inst_1 (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapproxₓ'. -/
 @[mono]
 theorem monotone_eapprox (f : α → ℝ≥0∞) : Monotone (eapprox f) :=
   monotone_approx _ f
 #align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapprox
 
-/- warning: measure_theory.simple_func.supr_eapprox_apply -> MeasureTheory.SimpleFunc.iSup_eapprox_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) Nat (fun (n : Nat) => coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal _inst_1) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)) (f a))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) Nat (fun (n : Nat) => MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 ENNReal (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)) (f a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.iSup_eapprox_applyₓ'. -/
 theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (⨆ n, (eapprox f n : α →ₛ ℝ≥0∞) a) = f a :=
   by
@@ -1437,12 +1011,6 @@ def eapproxDiff (f : α → ℝ≥0∞) : ∀ n : ℕ, α →ₛ ℝ≥0
 #align measure_theory.simple_func.eapprox_diff MeasureTheory.SimpleFunc.eapproxDiff
 -/
 
-/- warning: measure_theory.simple_func.sum_eapprox_diff -> MeasureTheory.SimpleFunc.sum_eapproxDiff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), Eq.{1} ENNReal (Finset.sum.{0, 0} ENNReal Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Finset.range (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (k : Nat) => (fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) => α -> NNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α NNReal _inst_1) (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f k) a))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal _inst_1) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), Eq.{1} ENNReal (Finset.sum.{0, 0} ENNReal Nat (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Finset.range (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (k : Nat) => ENNReal.some (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 NNReal (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f k) a))) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 ENNReal (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.sum_eapprox_diff MeasureTheory.SimpleFunc.sum_eapproxDiffₓ'. -/
 theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     (∑ k in Finset.range (n + 1), (eapproxDiff f k a : ℝ≥0∞)) = eapprox f n a :=
   by
@@ -1456,12 +1024,6 @@ theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     exact le_self_add
 #align measure_theory.simple_func.sum_eapprox_diff MeasureTheory.SimpleFunc.sum_eapproxDiff
 
-/- warning: measure_theory.simple_func.tsum_eapprox_diff -> MeasureTheory.SimpleFunc.tsum_eapproxDiff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (tsum.{0, 0} ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) ENNReal.topologicalSpace Nat (fun (n : Nat) => (fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) => α -> NNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α NNReal _inst_1) (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f n) a))) (f a))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (tsum.{0, 0} ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) ENNReal.instTopologicalSpaceENNReal Nat (fun (n : Nat) => ENNReal.some (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 NNReal (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f n) a))) (f a))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.tsum_eapprox_diff MeasureTheory.SimpleFunc.tsum_eapproxDiffₓ'. -/
 theorem tsum_eapproxDiff (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (∑' n, (eapproxDiff f n a : ℝ≥0∞)) = f a := by
   simp_rw [ENNReal.tsum_eq_iSup_nat' (tendsto_add_at_top_nat 1), sum_eapprox_diff,
@@ -1483,12 +1045,6 @@ def lintegral {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (μ : Measure
 #align measure_theory.simple_func.lintegral MeasureTheory.SimpleFunc.lintegral
 -/
 
-/- warning: measure_theory.simple_func.lintegral_eq_of_subset -> MeasureTheory.SimpleFunc.lintegral_eq_of_subset is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (forall (x : α), (Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f x) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f x)))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Membership.Mem.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.hasMem.{0} ENNReal) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f x) s)) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) x (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) x))))))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (forall (x : α), (Ne.{1} ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f x) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Ne.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f x)))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Membership.mem.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.instMembershipFinset.{0} ENNReal) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f x) s)) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) x (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) x))))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subsetₓ'. -/
 theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞}
     (hs : ∀ x, f x ≠ 0 → μ (f ⁻¹' {f x}) ≠ 0 → f x ∈ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) :=
@@ -1503,24 +1059,12 @@ theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞
   · intros ; rfl
 #align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subset
 
-/- warning: measure_theory.simple_func.lintegral_eq_of_subset' -> MeasureTheory.SimpleFunc.lintegral_eq_of_subset' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (HasSubset.Subset.{0} (Finset.{0} ENNReal) (Finset.hasSubset.{0} ENNReal) (SDiff.sdiff.{0} (Finset.{0} ENNReal) (Finset.hasSdiff.{0} ENNReal (fun (a : ENNReal) (b : ENNReal) => Option.decidableEq.{0} NNReal (fun (a : NNReal) (b : NNReal) => Subtype.decidableEq.{0} Real (fun (x : Real) => LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) x) (fun (a : Real) (b : Real) => Real.decidableEq a b) a b) a b)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (Singleton.singleton.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.hasSingleton.{0} ENNReal) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))))) s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) x (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) x))))))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (HasSubset.Subset.{0} (Finset.{0} ENNReal) (Finset.instHasSubsetFinset.{0} ENNReal) (SDiff.sdiff.{0} (Finset.{0} ENNReal) (Finset.instSDiffFinset.{0} ENNReal (fun (a : ENNReal) (b : ENNReal) => instDecidableEq.{0} ENNReal (instLinearOrder.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) a b)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (Singleton.singleton.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.instSingletonFinset.{0} ENNReal) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)))) s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) x (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) x))))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_eq_of_subset' MeasureTheory.SimpleFunc.lintegral_eq_of_subset'ₓ'. -/
 theorem lintegral_eq_of_subset' (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞} (hs : f.range \ {0} ⊆ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) :=
   f.lintegral_eq_of_subset fun x hfx _ =>
     hs <| Finset.mem_sdiff.2 ⟨f.mem_range_self x, mt Finset.mem_singleton.1 hfx⟩
 #align measure_theory.simple_func.lintegral_eq_of_subset' MeasureTheory.SimpleFunc.lintegral_eq_of_subset'
 
-/- warning: measure_theory.simple_func.map_lintegral -> MeasureTheory.SimpleFunc.map_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (g : β -> ENNReal) (f : MeasureTheory.SimpleFunc.{u1, u2} α m β), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.map.{u1, u2, 0} α β ENNReal m g f) μ) (Finset.sum.{0, u2} ENNReal β (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β m f) (fun (x : β) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) (g x) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} {μ : MeasureTheory.Measure.{u2} α m} (g : β -> ENNReal) (f : MeasureTheory.SimpleFunc.{u2, u1} α m β), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u2} α m (MeasureTheory.SimpleFunc.map.{u2, u1, 0} α β ENNReal m g f) μ) (Finset.sum.{0, u1} ENNReal β (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u2, u1} α β m f) (fun (x : β) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (g x) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_lintegral MeasureTheory.SimpleFunc.map_lintegralₓ'. -/
 /-- Calculate the integral of `(g ∘ f)`, where `g : β → ℝ≥0∞` and `f : α →ₛ β`.  -/
 theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
     (f.map g).lintegral μ = ∑ x in f.range, g x * μ (f ⁻¹' {x}) :=
@@ -1534,12 +1078,6 @@ theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
   · intro x; simp only [Finset.mem_filter]; rintro ⟨_, h⟩; rw [h]
 #align measure_theory.simple_func.map_lintegral MeasureTheory.SimpleFunc.map_lintegral
 
-/- warning: measure_theory.simple_func.add_lintegral -> MeasureTheory.SimpleFunc.add_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHAdd.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instAdd.{u1, 0} α ENNReal m (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) f g) μ) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHAdd.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instAdd.{u1, 0} α ENNReal m (Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))))) f g) μ) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.add_lintegral MeasureTheory.SimpleFunc.add_lintegralₓ'. -/
 theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.lintegral μ + g.lintegral μ :=
   calc
     (f + g).lintegral μ =
@@ -1555,12 +1093,6 @@ theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.li
     
 #align measure_theory.simple_func.add_lintegral MeasureTheory.SimpleFunc.add_lintegral
 
-/- warning: measure_theory.simple_func.const_mul_lintegral -> MeasureTheory.SimpleFunc.const_mul_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (x : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HMul.hMul.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHMul.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instMul.{u1, 0} α ENNReal m (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m x) f) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) x (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (x : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HMul.hMul.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHMul.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instMul.{u1, 0} α ENNReal m (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m x) f) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) x (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegralₓ'. -/
 theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     (const α x * f).lintegral μ = x * f.lintegral μ :=
   calc
@@ -1571,9 +1103,6 @@ theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     
 #align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegral
 
-/- warning: measure_theory.simple_func.lintegralₗ -> MeasureTheory.SimpleFunc.lintegralₗ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegralₗ MeasureTheory.SimpleFunc.lintegralₗₓ'. -/
 /-- Integral of a simple function `α →ₛ ℝ≥0∞` as a bilinear map. -/
 def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥0∞] Measure α →ₗ[ℝ≥0∞] ℝ≥0∞
     where
@@ -1585,54 +1114,24 @@ def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥
   map_smul' c f := LinearMap.ext fun μ => const_mul_lintegral f c
 #align measure_theory.simple_func.lintegralₗ MeasureTheory.SimpleFunc.lintegralₗ
 
-/- warning: measure_theory.simple_func.zero_lintegral -> MeasureTheory.SimpleFunc.zero_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m}, Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (OfNat.ofNat.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) 0 (OfNat.mk.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) 0 (Zero.zero.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instZero.{u1, 0} α ENNReal m ENNReal.hasZero)))) μ) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m}, Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (OfNat.ofNat.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) 0 (Zero.toOfNat0.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instZero.{u1, 0} α ENNReal m instENNRealZero))) μ) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.zero_lintegral MeasureTheory.SimpleFunc.zero_lintegralₓ'. -/
 @[simp]
 theorem zero_lintegral : (0 : α →ₛ ℝ≥0∞).lintegral μ = 0 :=
   LinearMap.ext_iff.1 lintegralₗ.map_zero μ
 #align measure_theory.simple_func.zero_lintegral MeasureTheory.SimpleFunc.zero_lintegral
 
-/- warning: measure_theory.simple_func.lintegral_add -> MeasureTheory.SimpleFunc.lintegral_add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (instHAdd.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instAdd.{u1} α m)) μ ν)) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f ν))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (instHAdd.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instAdd.{u1} α m)) μ ν)) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f ν))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_add MeasureTheory.SimpleFunc.lintegral_addₓ'. -/
 theorem lintegral_add {ν} (f : α →ₛ ℝ≥0∞) : f.lintegral (μ + ν) = f.lintegral μ + f.lintegral ν :=
   (lintegralₗ f).map_add μ ν
 #align measure_theory.simple_func.lintegral_add MeasureTheory.SimpleFunc.lintegral_add
 
-/- warning: measure_theory.simple_func.lintegral_smul -> MeasureTheory.SimpleFunc.lintegral_smul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (SMul.smul.{0, u1} ENNReal (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instSMul.{u1, 0} α ENNReal (SMulZeroClass.toHasSmul.{0, 0} ENNReal ENNReal (AddZeroClass.toHasZero.{0} ENNReal (AddMonoid.toAddZeroClass.{0} ENNReal (AddCommMonoid.toAddMonoid.{0} ENNReal (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (SMulWithZero.toSmulZeroClass.{0, 0} ENNReal ENNReal (MulZeroClass.toHasZero.{0} ENNReal (MulZeroOneClass.toMulZeroClass.{0} ENNReal (MonoidWithZero.toMulZeroOneClass.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))) (AddZeroClass.toHasZero.{0} ENNReal (AddMonoid.toAddZeroClass.{0} ENNReal (AddCommMonoid.toAddMonoid.{0} ENNReal (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (MulActionWithZero.toSMulWithZero.{0, 0} ENNReal ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (AddZeroClass.toHasZero.{0} ENNReal (AddMonoid.toAddZeroClass.{0} ENNReal (AddCommMonoid.toAddMonoid.{0} ENNReal (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (Module.toMulActionWithZero.{0, 0} ENNReal ENNReal (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))) (Algebra.toModule.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) m) c μ)) (SMul.smul.{0, 0} ENNReal ENNReal (Mul.toSMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (HSMul.hSMul.{0, u1, u1} ENNReal (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (instHSMul.{0, u1} ENNReal (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instSMul.{u1, 0} α ENNReal (Algebra.toSMul.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m)) c μ)) (HSMul.hSMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHSMul.{0, 0} ENNReal ENNReal (Algebra.toSMul.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) c (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_smul MeasureTheory.SimpleFunc.lintegral_smulₓ'. -/
 theorem lintegral_smul (f : α →ₛ ℝ≥0∞) (c : ℝ≥0∞) : f.lintegral (c • μ) = c • f.lintegral μ :=
   (lintegralₗ f).map_smul c μ
 #align measure_theory.simple_func.lintegral_smul MeasureTheory.SimpleFunc.lintegral_smul
 
-/- warning: measure_theory.simple_func.lintegral_zero -> MeasureTheory.SimpleFunc.lintegral_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α _inst_1 f (OfNat.ofNat.{u1} (MeasureTheory.Measure.{u1} α _inst_1) 0 (OfNat.mk.{u1} (MeasureTheory.Measure.{u1} α _inst_1) 0 (Zero.zero.{u1} (MeasureTheory.Measure.{u1} α _inst_1) (MeasureTheory.Measure.instZero.{u1} α _inst_1))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α _inst_1 f (OfNat.ofNat.{u1} (MeasureTheory.Measure.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (MeasureTheory.Measure.{u1} α _inst_1) (MeasureTheory.Measure.instZero.{u1} α _inst_1)))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_zero MeasureTheory.SimpleFunc.lintegral_zeroₓ'. -/
 @[simp]
 theorem lintegral_zero [MeasurableSpace α] (f : α →ₛ ℝ≥0∞) : f.lintegral 0 = 0 :=
   (lintegralₗ f).map_zero
 #align measure_theory.simple_func.lintegral_zero MeasureTheory.SimpleFunc.lintegral_zero
 
-/- warning: measure_theory.simple_func.lintegral_sum -> MeasureTheory.SimpleFunc.lintegral_sum is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {ι : Type.{u2}} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (μ : ι -> (MeasureTheory.Measure.{u1} α m)), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.sum.{u1, u2} α ι m μ)) (tsum.{0, u2} ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) ENNReal.topologicalSpace ι (fun (i : ι) => MeasureTheory.SimpleFunc.lintegral.{u1} α m f (μ i)))
-but is expected to have type
-  forall {α : Type.{u2}} {m : MeasurableSpace.{u2} α} {ι : Type.{u1}} (f : MeasureTheory.SimpleFunc.{u2, 0} α m ENNReal) (μ : ι -> (MeasureTheory.Measure.{u2} α m)), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u2} α m f (MeasureTheory.Measure.sum.{u2, u1} α ι m μ)) (tsum.{0, u1} ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) ENNReal.instTopologicalSpaceENNReal ι (fun (i : ι) => MeasureTheory.SimpleFunc.lintegral.{u2} α m f (μ i)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_sum MeasureTheory.SimpleFunc.lintegral_sumₓ'. -/
 theorem lintegral_sum {m : MeasurableSpace α} {ι} (f : α →ₛ ℝ≥0∞) (μ : ι → Measure α) :
     f.lintegral (Measure.sum μ) = ∑' i, f.lintegral (μ i) :=
   by
@@ -1641,12 +1140,6 @@ theorem lintegral_sum {m : MeasurableSpace α} {ι} (f : α →ₛ ℝ≥0∞) (
   apply ENNReal.tsum_comm
 #align measure_theory.simple_func.lintegral_sum MeasureTheory.SimpleFunc.lintegral_sum
 
-/- warning: measure_theory.simple_func.restrict_lintegral -> MeasureTheory.SimpleFunc.restrict_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m ENNReal.hasZero f s) μ) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (r : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) r (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) r)) s)))))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m instENNRealZero f s) μ) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (r : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) r (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) r)) s)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegralₓ'. -/
 theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : MeasurableSet s) :
     (restrict f s).lintegral μ = ∑ r in f.range, r * μ (f ⁻¹' {r} ∩ s) :=
   calc
@@ -1663,34 +1156,16 @@ theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : Measura
     
 #align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegral
 
-/- warning: measure_theory.simple_func.lintegral_restrict -> MeasureTheory.SimpleFunc.lintegral_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (s : Set.{u1} α) (μ : MeasureTheory.Measure.{u1} α m), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (y : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) y (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) y)) s))))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (s : Set.{u1} α) (μ : MeasureTheory.Measure.{u1} α m), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (y : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) y (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) y)) s))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_restrict MeasureTheory.SimpleFunc.lintegral_restrictₓ'. -/
 theorem lintegral_restrict {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (s : Set α) (μ : Measure α) :
     f.lintegral (μ.restrict s) = ∑ y in f.range, y * μ (f ⁻¹' {y} ∩ s) := by
   simp only [lintegral, measure.restrict_apply, f.measurable_set_preimage]
 #align measure_theory.simple_func.lintegral_restrict MeasureTheory.SimpleFunc.lintegral_restrict
 
-/- warning: measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict -> MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m ENNReal.hasZero f s) μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m instENNRealZero f s) μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrictₓ'. -/
 theorem restrict_lintegral_eq_lintegral_restrict (f : α →ₛ ℝ≥0∞) {s : Set α}
     (hs : MeasurableSet s) : (restrict f s).lintegral μ = f.lintegral (μ.restrict s) := by
   rw [f.restrict_lintegral hs, lintegral_restrict]
 #align measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrict
 
-/- warning: measure_theory.simple_func.const_lintegral -> MeasureTheory.SimpleFunc.const_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.univ.{u1} α)))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) c (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.univ.{u1} α)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.const_lintegral MeasureTheory.SimpleFunc.const_lintegralₓ'. -/
 theorem const_lintegral (c : ℝ≥0∞) : (const α c).lintegral μ = c * μ univ :=
   by
   rw [lintegral]
@@ -1699,34 +1174,16 @@ theorem const_lintegral (c : ℝ≥0∞) : (const α c).lintegral μ = c * μ un
   · simp [preimage_const_of_mem]
 #align measure_theory.simple_func.const_lintegral MeasureTheory.SimpleFunc.const_lintegral
 
-/- warning: measure_theory.simple_func.const_lintegral_restrict -> MeasureTheory.SimpleFunc.const_lintegral_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) (s : Set.{u1} α), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) (MeasureTheory.Measure.restrict.{u1} α m μ s)) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ s))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) (s : Set.{u1} α), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) (MeasureTheory.Measure.restrict.{u1} α m μ s)) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) c (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) s))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.const_lintegral_restrict MeasureTheory.SimpleFunc.const_lintegral_restrictₓ'. -/
 theorem const_lintegral_restrict (c : ℝ≥0∞) (s : Set α) :
     (const α c).lintegral (μ.restrict s) = c * μ s := by
   rw [const_lintegral, measure.restrict_apply MeasurableSet.univ, univ_inter]
 #align measure_theory.simple_func.const_lintegral_restrict MeasureTheory.SimpleFunc.const_lintegral_restrict
 
-/- warning: measure_theory.simple_func.restrict_const_lintegral -> MeasureTheory.SimpleFunc.restrict_const_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m ENNReal.hasZero (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) s) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ s)))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m instENNRealZero (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) s) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) c (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) s)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_const_lintegral MeasureTheory.SimpleFunc.restrict_const_lintegralₓ'. -/
 theorem restrict_const_lintegral (c : ℝ≥0∞) {s : Set α} (hs : MeasurableSet s) :
     ((const α c).restrict s).lintegral μ = c * μ s := by
   rw [restrict_lintegral_eq_lintegral_restrict _ hs, const_lintegral_restrict]
 #align measure_theory.simple_func.restrict_const_lintegral MeasureTheory.SimpleFunc.restrict_const_lintegral
 
-/- warning: measure_theory.simple_func.le_sup_lintegral -> MeasureTheory.SimpleFunc.le_sup_lintegral is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Sup.sup.{0} ENNReal (SemilatticeSup.toHasSup.{0} ENNReal ENNReal.semilatticeSup) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ)) (MeasureTheory.SimpleFunc.lintegral.{u1} α m (Sup.sup.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instSup.{u1, 0} α ENNReal m (SemilatticeSup.toHasSup.{0} ENNReal ENNReal.semilatticeSup)) f g) μ)
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Sup.sup.{0} ENNReal (SemilatticeSup.toSup.{0} ENNReal instENNRealSemilatticeSup) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ)) (MeasureTheory.SimpleFunc.lintegral.{u1} α m (Sup.sup.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instSup.{u1, 0} α ENNReal m (SemilatticeSup.toSup.{0} ENNReal instENNRealSemilatticeSup)) f g) μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegralₓ'. -/
 theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lintegral μ ≤ (f ⊔ g).lintegral μ :=
   calc
     f.lintegral μ ⊔ g.lintegral μ =
@@ -1742,12 +1199,6 @@ theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lin
     
 #align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegral
 
-/- warning: measure_theory.simple_func.lintegral_mono -> MeasureTheory.SimpleFunc.lintegral_mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal} {g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (LE.le.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instLE.{u1, 0} α ENNReal m (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))) f g) -> (LE.le.{u1} (MeasureTheory.Measure.{u1} α m) (Preorder.toHasLe.{u1} (MeasureTheory.Measure.{u1} α m) (PartialOrder.toPreorder.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instPartialOrder.{u1} α m))) μ ν) -> (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g ν))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal} {g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (LE.le.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instLE.{u1, 0} α ENNReal m (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))) f g) -> (LE.le.{u1} (MeasureTheory.Measure.{u1} α m) (Preorder.toLE.{u1} (MeasureTheory.Measure.{u1} α m) (PartialOrder.toPreorder.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instPartialOrder.{u1} α m))) μ ν) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g ν))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_monoₓ'. -/
 /-- `simple_func.lintegral` is monotone both in function and in measure. -/
 @[mono]
 theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ ≤ ν) :
@@ -1804,12 +1255,6 @@ section FinMeasSupp
 
 open Finset Function
 
-/- warning: measure_theory.simple_func.support_eq -> MeasureTheory.SimpleFunc.support_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)) (Set.iUnion.{u1, succ u2} α β (fun (y : β) => Set.iUnion.{u1, 0} α (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (Finset.filter.{u2} β (fun (y : β) => Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (fun (a : β) => Ne.decidable.{succ u2} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u2} β a b)) a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))) (fun (H : Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (Finset.filter.{u2} β (fun (y : β) => Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (fun (a : β) => Ne.decidable.{succ u2} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u2} β a b)) a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))) => Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{succ u2} (Set.{u2} α) (Function.support.{u2, u1} α β _inst_2 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f)) (Set.iUnion.{u2, succ u1} α β (fun (y : β) => Set.iUnion.{u2, 0} α (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (Finset.filter.{u1} β (fun (y : β) => Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (fun (a : β) => instDecidableNot (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (Classical.propDecidable (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))))) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))) (fun (H : Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (Finset.filter.{u1} β (fun (y : β) => Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (fun (a : β) => instDecidableNot (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (Classical.propDecidable (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))))) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))) => Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.support_eq MeasureTheory.SimpleFunc.support_eqₓ'. -/
 theorem support_eq [MeasurableSpace α] [Zero β] (f : α →ₛ β) :
     support f = ⋃ y ∈ f.range.filterₓ fun y => y ≠ 0, f ⁻¹' {y} :=
   Set.ext fun x => by
@@ -1819,12 +1264,6 @@ theorem support_eq [MeasurableSpace α] [Zero β] (f : α →ₛ β) :
 
 variable {m : MeasurableSpace α} [Zero β] [Zero γ] {μ : Measure α} {f : α →ₛ β}
 
-/- warning: measure_theory.simple_func.measurable_set_support -> MeasureTheory.SimpleFunc.measurableSet_support is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Zero.{u2} β] [_inst_3 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_3 β), MeasurableSet.{u1} α _inst_3 (Function.support.{u1, u2} α β _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_3 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_3 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_3) f))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Zero.{u1} β] [_inst_3 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_3 β), MeasurableSet.{u2} α _inst_3 (Function.support.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_3 β f))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_supportₓ'. -/
 theorem measurableSet_support [MeasurableSpace α] (f : α →ₛ β) : MeasurableSet (support f) := by
   rw [f.support_eq]; exact Finset.measurableSet_biUnion _ fun y hy => measurable_set_fiber _ _
 #align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_support
@@ -1837,22 +1276,10 @@ protected def FinMeasSupp {m : MeasurableSpace α} (f : α →ₛ β) (μ : Meas
 #align measure_theory.simple_func.fin_meas_supp MeasureTheory.SimpleFunc.FinMeasSupp
 -/
 
-/- warning: measure_theory.simple_func.fin_meas_supp_iff_support -> MeasureTheory.SimpleFunc.finMeasSupp_iff_support is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Function.support.{u1, u2} α β _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} [_inst_1 : Zero.{u1} β] {μ : MeasureTheory.Measure.{u2} α m} {f : MeasureTheory.SimpleFunc.{u2, u1} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u2, u1} α β _inst_1 m f μ) (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Function.support.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_supportₓ'. -/
 theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
   Iff.rfl
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
 
-/- warning: measure_theory.simple_func.fin_meas_supp_iff -> MeasureTheory.SimpleFunc.finMeasSupp_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) (forall (y : β), (Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) -> (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} [_inst_1 : Zero.{u1} β] {μ : MeasureTheory.Measure.{u2} α m} {f : MeasureTheory.SimpleFunc.{u2, u1} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u2, u1} α β _inst_1 m f μ) (forall (y : β), (Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_1))) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp_iff MeasureTheory.SimpleFunc.finMeasSupp_iffₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ≠ » 0) -/
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
@@ -1867,33 +1294,15 @@ theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻
 
 namespace FinMeasSupp
 
-/- warning: measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero -> MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (forall {y : β}, (Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) -> (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} [_inst_1 : Zero.{u1} β] {μ : MeasureTheory.Measure.{u2} α m} {f : MeasureTheory.SimpleFunc.{u2, u1} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u2, u1} α β _inst_1 m f μ) -> (forall {y : β}, (Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_1))) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zeroₓ'. -/
 theorem meas_preimage_singleton_ne_zero (h : f.FinMeasSupp μ) {y : β} (hy : y ≠ 0) :
     μ (f ⁻¹' {y}) < ∞ :=
   finMeasSupp_iff.1 h y hy
 #align measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zero
 
-/- warning: measure_theory.simple_func.fin_meas_supp.map -> MeasureTheory.SimpleFunc.FinMeasSupp.map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (Eq.{succ u3} γ (g (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ m g f) μ)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u1} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u2} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α β _inst_1 m f μ) -> (Eq.{succ u1} γ (g (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_1))) (OfNat.ofNat.{u1} γ 0 (Zero.toOfNat0.{u1} γ _inst_2))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ m g f) μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.map MeasureTheory.SimpleFunc.FinMeasSupp.mapₓ'. -/
 protected theorem map {g : β → γ} (hf : f.FinMeasSupp μ) (hg : g 0 = 0) : (f.map g).FinMeasSupp μ :=
   flip lt_of_le_of_lt hf (measure_mono <| support_comp_subset hg f)
 #align measure_theory.simple_func.fin_meas_supp.map MeasureTheory.SimpleFunc.FinMeasSupp.map
 
-/- warning: measure_theory.simple_func.fin_meas_supp.of_map -> MeasureTheory.SimpleFunc.FinMeasSupp.of_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ m g f) μ) -> (forall (b : β), (Eq.{succ u3} γ (g b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (Eq.{succ u2} β b (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1))))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u1} β] [_inst_2 : Zero.{u2} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u1} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u3, u1, u2} α β γ m g f) μ) -> (forall (b : β), (Eq.{succ u2} γ (g b) (OfNat.ofNat.{u2} γ 0 (Zero.toOfNat0.{u2} γ _inst_2))) -> (Eq.{succ u1} β b (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_1)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α β _inst_1 m f μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.of_map MeasureTheory.SimpleFunc.FinMeasSupp.of_mapₓ'. -/
 theorem of_map {g : β → γ} (h : (f.map g).FinMeasSupp μ) (hg : ∀ b, g b = 0 → b = 0) :
     f.FinMeasSupp μ :=
   flip lt_of_le_of_lt h <| measure_mono <| support_subset_comp hg _
@@ -1906,12 +1315,6 @@ theorem map_iff {g : β → γ} (hg : ∀ {b}, g b = 0 ↔ b = 0) :
 #align measure_theory.simple_func.fin_meas_supp.map_iff MeasureTheory.SimpleFunc.FinMeasSupp.map_iff
 -/
 
-/- warning: measure_theory.simple_func.fin_meas_supp.pair -> MeasureTheory.SimpleFunc.FinMeasSupp.pair is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u3} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, max u2 u3} α (Prod.{u2, u3} β γ) (Prod.hasZero.{u2, u3} β γ _inst_1 _inst_2) m (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ m f g) μ)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u1} β] [_inst_2 : Zero.{u2} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u1} α m β} {g : MeasureTheory.SimpleFunc.{u3, u2} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α β _inst_1 m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α γ _inst_2 m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, max u1 u2} α (Prod.{u1, u2} β γ) (Prod.instZeroSum.{u1, u2} β γ _inst_1 _inst_2) m (MeasureTheory.SimpleFunc.pair.{u3, u1, u2} α β γ m f g) μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pairₓ'. -/
 protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMeasSupp μ) :
     (pair f g).FinMeasSupp μ :=
   calc
@@ -1921,45 +1324,21 @@ protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMea
     
 #align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pair
 
-/- warning: measure_theory.simple_func.fin_meas_supp.map₂ -> MeasureTheory.SimpleFunc.FinMeasSupp.map₂ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} [_inst_3 : Zero.{u4} δ], (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (forall {g : MeasureTheory.SimpleFunc.{u1, u3} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m g μ) -> (forall {op : β -> γ -> δ}, (Eq.{succ u4} δ (op (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) (OfNat.ofNat.{u4} δ 0 (OfNat.mk.{u4} δ 0 (Zero.zero.{u4} δ _inst_3)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u4} α δ _inst_3 m (MeasureTheory.SimpleFunc.map.{u1, max u2 u3, u4} α (Prod.{u2, u3} β γ) δ m (Function.uncurry.{u2, u3, u4} β γ δ op) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ m f g)) μ)))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {δ : Type.{u4}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u1} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u2} α m β} [_inst_3 : Zero.{u4} δ], (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α β _inst_1 m f μ) -> (forall {g : MeasureTheory.SimpleFunc.{u3, u1} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α γ _inst_2 m g μ) -> (forall {op : β -> γ -> δ}, (Eq.{succ u4} δ (op (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_1)) (OfNat.ofNat.{u1} γ 0 (Zero.toOfNat0.{u1} γ _inst_2))) (OfNat.ofNat.{u4} δ 0 (Zero.toOfNat0.{u4} δ _inst_3))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u4} α δ _inst_3 m (MeasureTheory.SimpleFunc.map.{u3, max u1 u2, u4} α (Prod.{u2, u1} β γ) δ m (Function.uncurry.{u2, u1, u4} β γ δ op) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ m f g)) μ)))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.map₂ MeasureTheory.SimpleFunc.FinMeasSupp.map₂ₓ'. -/
 protected theorem map₂ [Zero δ] (hf : f.FinMeasSupp μ) {g : α →ₛ γ} (hg : g.FinMeasSupp μ)
     {op : β → γ → δ} (H : op 0 0 = 0) : ((pair f g).map (Function.uncurry op)).FinMeasSupp μ :=
   (hf.pair hg).map H
 #align measure_theory.simple_func.fin_meas_supp.map₂ MeasureTheory.SimpleFunc.FinMeasSupp.map₂
 
-/- warning: measure_theory.simple_func.fin_meas_supp.add -> MeasureTheory.SimpleFunc.FinMeasSupp.add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : AddMonoid.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)) m (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α β m (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)))) f g) μ)
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : AddMonoid.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α β m (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)))) f g) μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.addₓ'. -/
 protected theorem add {β} [AddMonoid β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f + g).FinMeasSupp μ := by rw [add_eq_map₂];
   exact hf.map₂ hg (zero_add 0)
 #align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.add
 
-/- warning: measure_theory.simple_func.fin_meas_supp.mul -> MeasureTheory.SimpleFunc.FinMeasSupp.mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : MonoidWithZero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))) m (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β m (MulZeroClass.toHasMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))))) f g) μ)
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : MonoidWithZero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β m (MulZeroClass.toMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))))) f g) μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mulₓ'. -/
 protected theorem mul {β} [MonoidWithZero β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f * g).FinMeasSupp μ := by rw [mul_eq_map₂];
   exact hf.map₂ hg (MulZeroClass.zero_mul 0)
 #align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mul
 
-/- warning: measure_theory.simple_func.fin_meas_supp.lintegral_lt_top -> MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal ENNReal.hasZero m f μ) -> (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f a) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal instENNRealZero m f μ) -> (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f a) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_topₓ'. -/
 theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.lintegral μ < ∞ := by
   refine' sum_lt_top fun a ha => _
@@ -1971,12 +1350,6 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     · exact mul_ne_top ha (fin_meas_supp_iff.1 hm _ ha0).Ne
 #align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top
 
-/- warning: measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top -> MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Ne.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal ENNReal.hasZero m f μ)
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Ne.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal instENNRealZero m f μ)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_topₓ'. -/
 theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
   by
   refine' fin_meas_supp_iff.2 fun b hb => _
@@ -1985,12 +1358,6 @@ theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ 
   exact (lt_top_of_sum_ne_top h (Finset.mem_insert_self _ _)).Ne
 #align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top
 
-/- warning: measure_theory.simple_func.fin_meas_supp.iff_lintegral_lt_top -> MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f a) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal ENNReal.hasZero m f μ) (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f a) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal instENNRealZero m f μ) (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.iff_lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_topₓ'. -/
 theorem iff_lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.FinMeasSupp μ ↔ f.lintegral μ < ∞ :=
   ⟨fun h => h.lintegral_lt_top hf, fun h => of_lintegral_ne_top h.Ne⟩
@@ -2000,12 +1367,6 @@ end FinMeasSupp
 
 end FinMeasSupp
 
-/- warning: measure_theory.simple_func.induction -> MeasureTheory.SimpleFunc.induction is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : AddMonoid.{u2} γ] {P : (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) -> Prop}, (forall (c : γ) {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s), P (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α γ _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u1, u2} α γ _inst_1 c) (MeasureTheory.SimpleFunc.const.{u1, u2} α γ _inst_1 (OfNat.ofNat.{u2} γ 0 (OfNat.mk.{u2} γ 0 (Zero.zero.{u2} γ (AddZeroClass.toHasZero.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)))))))) -> (forall {{f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ}} {{g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ}}, (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) (Function.support.{u1, u2} α γ (AddZeroClass.toHasZero.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α γ _inst_1) f)) (Function.support.{u1, u2} α γ (AddZeroClass.toHasZero.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α γ _inst_1) g))) -> (P f) -> (P g) -> (P (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α γ _inst_1 (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)))) f g))) -> (forall (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ), P f)
-but is expected to have type
-  forall {α : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : AddMonoid.{u1} γ] {P : (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) -> Prop}, (forall (c : γ) {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s), P (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α γ _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u2, u1} α γ _inst_1 c) (MeasureTheory.SimpleFunc.const.{u2, u1} α γ _inst_1 (OfNat.ofNat.{u1} γ 0 (Zero.toOfNat0.{u1} γ (AddMonoid.toZero.{u1} γ _inst_2)))))) -> (forall {{f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ}} {{g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ}}, (Disjoint.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} α) (Preorder.toLE.{u2} (Set.{u2} α) (PartialOrder.toPreorder.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (Function.support.{u2, u1} α γ (AddMonoid.toZero.{u1} γ _inst_2) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ f)) (Function.support.{u2, u1} α γ (AddMonoid.toZero.{u1} γ _inst_2) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ g))) -> (P f) -> (P g) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (instHAdd.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.instAdd.{u2, u1} α γ _inst_1 (AddZeroClass.toAdd.{u1} γ (AddMonoid.toAddZeroClass.{u1} γ _inst_2)))) f g))) -> (forall (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ), P f)
-Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.inductionₓ'. -/
 /-- To prove something for an arbitrary simple function, it suffices to show
 that the property holds for (multiples of) characteristic functions and is closed under
 addition (of functions with disjoint support).
@@ -2048,12 +1409,6 @@ end MeasureTheory
 
 open MeasureTheory MeasureTheory.SimpleFunc
 
-/- warning: measurable.ennreal_induction -> Measurable.ennreal_induction is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {P : (α -> ENNReal) -> Prop}, (forall (c : ENNReal) {{s : Set.{u1} α}}, (MeasurableSet.{u1} α _inst_1 s) -> (P (Set.indicator.{u1, 0} α ENNReal ENNReal.hasZero s (fun (_x : α) => c)))) -> (forall {{f : α -> ENNReal}} {{g : α -> ENNReal}}, (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) (Function.support.{u1, 0} α ENNReal ENNReal.hasZero f) (Function.support.{u1, 0} α ENNReal ENNReal.hasZero g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g) -> (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (α -> ENNReal) (α -> ENNReal) (α -> ENNReal) (instHAdd.{u1} (α -> ENNReal) (Pi.instAdd.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) f g))) -> (forall {{f : Nat -> α -> ENNReal}}, (forall (n : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f n)) -> (Monotone.{0, u1} Nat (α -> ENNReal) (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (Pi.preorder.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) f) -> (forall (n : Nat), P (f n)) -> (P (fun (x : α) => iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) Nat (fun (n : Nat) => f n x)))) -> (forall {{f : α -> ENNReal}}, (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (P f))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {P : (α -> ENNReal) -> Prop}, (forall (c : ENNReal) {{s : Set.{u1} α}}, (MeasurableSet.{u1} α _inst_1 s) -> (P (Set.indicator.{u1, 0} α ENNReal instENNRealZero s (fun (_x : α) => c)))) -> (forall {{f : α -> ENNReal}} {{g : α -> ENNReal}}, (Disjoint.{u1} (Set.{u1} α) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} α) (Preorder.toLE.{u1} (Set.{u1} α) (PartialOrder.toPreorder.{u1} (Set.{u1} α) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))) (Function.support.{u1, 0} α ENNReal instENNRealZero f) (Function.support.{u1, 0} α ENNReal instENNRealZero g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g) -> (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (α -> ENNReal) (α -> ENNReal) (α -> ENNReal) (instHAdd.{u1} (α -> ENNReal) (Pi.instAdd.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))))) f g))) -> (forall {{f : Nat -> α -> ENNReal}}, (forall (n : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f n)) -> (Monotone.{0, u1} Nat (α -> ENNReal) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (Pi.preorder.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) f) -> (forall (n : Nat), P (f n)) -> (P (fun (x : α) => iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) Nat (fun (n : Nat) => f n x)))) -> (forall {{f : α -> ENNReal}}, (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (P f))
-Case conversion may be inaccurate. Consider using '#align measurable.ennreal_induction Measurable.ennreal_inductionₓ'. -/
 /-- To prove something for an arbitrary measurable function into `ℝ≥0∞`, it suffices to show
 that the property holds for (multiples of) characteristic functions and is closed under addition
 and supremum of increasing sequences of functions.
Diff
@@ -282,9 +282,7 @@ theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, 
       rw [← hf_meas, Set.mem_preimage]
       exact Set.mem_singleton _
     · refine' ⟨f h.some, fun x => _⟩
-      have : x ∈ f ⁻¹' {f h.some} := by
-        rw [hf_meas]
-        exact Set.mem_univ x
+      have : x ∈ f ⁻¹' {f h.some} := by rw [hf_meas]; exact Set.mem_univ x
       rwa [Set.mem_preimage, Set.mem_singleton_iff] at this
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
 
@@ -737,9 +735,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singletonₓ'. -/
 -- A special form of `pair_preimage`
 theorem pair_preimage_singleton (f : α →ₛ β) (g : α →ₛ γ) (b : β) (c : γ) :
-    pair f g ⁻¹' {(b, c)} = f ⁻¹' {b} ∩ g ⁻¹' {c} :=
-  by
-  rw [← singleton_prod_singleton]
+    pair f g ⁻¹' {(b, c)} = f ⁻¹' {b} ∩ g ⁻¹' {c} := by rw [← singleton_prod_singleton];
   exact pair_preimage _ _ _ _
 #align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singleton
 
@@ -1134,10 +1130,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrictₓ'. -/
 @[simp]
 theorem coe_restrict (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
-    ⇑(restrict f s) = indicator s f :=
-  by
-  rw [restrict, dif_pos hs]
-  rfl
+    ⇑(restrict f s) = indicator s f := by rw [restrict, dif_pos hs]; rfl
 #align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrict
 
 /- warning: measure_theory.simple_func.restrict_univ -> MeasureTheory.SimpleFunc.restrict_univ is a dubious translation:
@@ -1454,8 +1447,7 @@ theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     (∑ k in Finset.range (n + 1), (eapproxDiff f k a : ℝ≥0∞)) = eapprox f n a :=
   by
   induction' n with n IH
-  · simp only [Nat.zero_eq, Finset.sum_singleton, Finset.range_one]
-    rfl
+  · simp only [Nat.zero_eq, Finset.sum_singleton, Finset.range_one]; rfl
   · rw [Finset.sum_range_succ, Nat.succ_eq_add_one, IH, eapprox_diff, coe_map, Function.comp_apply,
       coe_sub, Pi.sub_apply, ENNReal.coe_toNNReal,
       add_tsub_cancel_of_le (monotone_eapprox f (Nat.le_succ _) _)]
@@ -1503,14 +1495,12 @@ theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞
   by
   refine' Finset.sum_bij_ne_zero (fun r _ _ => r) _ _ _ _
   · simpa only [forall_range_iff, mul_ne_zero_iff, and_imp]
-  · intros
-    assumption
+  · intros ; assumption
   · intro b _ hb
     refine' ⟨b, _, hb, rfl⟩
     rw [mem_range, ← preimage_singleton_nonempty]
     exact nonempty_of_measure_ne_zero (mul_ne_zero_iff.1 hb).2
-  · intros
-    rfl
+  · intros ; rfl
 #align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subset
 
 /- warning: measure_theory.simple_func.lintegral_eq_of_subset' -> MeasureTheory.SimpleFunc.lintegral_eq_of_subset' is a dubious translation:
@@ -1541,10 +1531,7 @@ theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
   rw [map_preimage_singleton, ← f.sum_measure_preimage_singleton, Finset.mul_sum]
   refine' Finset.sum_congr _ _
   · congr
-  · intro x
-    simp only [Finset.mem_filter]
-    rintro ⟨_, h⟩
-    rw [h]
+  · intro x; simp only [Finset.mem_filter]; rintro ⟨_, h⟩; rw [h]
 #align measure_theory.simple_func.map_lintegral MeasureTheory.SimpleFunc.map_lintegral
 
 /- warning: measure_theory.simple_func.add_lintegral -> MeasureTheory.SimpleFunc.add_lintegral is a dubious translation:
@@ -1799,9 +1786,7 @@ theorem lintegral_congr {f g : α →ₛ ℝ≥0∞} (h : f =ᵐ[μ] g) : f.lint
 theorem lintegral_map' {β} [MeasurableSpace β] {μ' : Measure β} (f : α →ₛ ℝ≥0∞) (g : β →ₛ ℝ≥0∞)
     (m' : α → β) (eq : ∀ a, f a = g (m' a)) (h : ∀ s, MeasurableSet s → μ' s = μ (m' ⁻¹' s)) :
     f.lintegral μ = g.lintegral μ' :=
-  lintegral_eq_of_measure_preimage fun y =>
-    by
-    simp only [preimage, Eq]
+  lintegral_eq_of_measure_preimage fun y => by simp only [preimage, Eq];
     exact (h (g ⁻¹' {y}) (g.measurable_set_preimage _)).symm
 #align measure_theory.simple_func.lintegral_map' MeasureTheory.SimpleFunc.lintegral_map'
 -/
@@ -1840,10 +1825,8 @@ lean 3 declaration is
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Zero.{u1} β] [_inst_3 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_3 β), MeasurableSet.{u2} α _inst_3 (Function.support.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_3 β f))
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_supportₓ'. -/
-theorem measurableSet_support [MeasurableSpace α] (f : α →ₛ β) : MeasurableSet (support f) :=
-  by
-  rw [f.support_eq]
-  exact Finset.measurableSet_biUnion _ fun y hy => measurable_set_fiber _ _
+theorem measurableSet_support [MeasurableSpace α] (f : α →ₛ β) : MeasurableSet (support f) := by
+  rw [f.support_eq]; exact Finset.measurableSet_biUnion _ fun y hy => measurable_set_fiber _ _
 #align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_support
 
 #print MeasureTheory.SimpleFunc.FinMeasSupp /-
@@ -1956,9 +1939,7 @@ but is expected to have type
   forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : AddMonoid.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α β m (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)))) f g) μ)
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.addₓ'. -/
 protected theorem add {β} [AddMonoid β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
-    (hg : g.FinMeasSupp μ) : (f + g).FinMeasSupp μ :=
-  by
-  rw [add_eq_map₂]
+    (hg : g.FinMeasSupp μ) : (f + g).FinMeasSupp μ := by rw [add_eq_map₂];
   exact hf.map₂ hg (zero_add 0)
 #align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.add
 
@@ -1969,9 +1950,7 @@ but is expected to have type
   forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : MonoidWithZero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β m (MulZeroClass.toMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))))) f g) μ)
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mulₓ'. -/
 protected theorem mul {β} [MonoidWithZero β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
-    (hg : g.FinMeasSupp μ) : (f * g).FinMeasSupp μ :=
-  by
-  rw [mul_eq_map₂]
+    (hg : g.FinMeasSupp μ) : (f * g).FinMeasSupp μ := by rw [mul_eq_map₂];
   exact hf.map₂ hg (MulZeroClass.zero_mul 0)
 #align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mul
 
@@ -1988,8 +1967,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
   · simp only [ae_iff, Ne.def, Classical.not_not] at hf
     simp [Set.preimage, hf]
   · by_cases ha0 : a = 0
-    · subst a
-      rwa [MulZeroClass.zero_mul]
+    · subst a; rwa [MulZeroClass.zero_mul]
     · exact mul_ne_top ha (fin_meas_supp_iff.1 hm _ ha0).Ne
 #align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top
 
@@ -2046,29 +2024,22 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
   generalize h : f.range \ {0} = s
   rw [← Finset.coe_inj, Finset.coe_sdiff, Finset.coe_singleton, simple_func.coe_range] at h
   revert s f h; refine' Finset.induction _ _
-  · intro f hf
-    rw [Finset.coe_empty, diff_eq_empty, range_subset_singleton] at hf
-    convert h_ind 0 MeasurableSet.univ
-    ext x
-    simp [hf]
+  · intro f hf; rw [Finset.coe_empty, diff_eq_empty, range_subset_singleton] at hf
+    convert h_ind 0 MeasurableSet.univ; ext x; simp [hf]
   · intro x s hxs ih f hf
     have mx := f.measurable_set_preimage {x}
     let g := simple_func.piecewise (f ⁻¹' {x}) mx 0 f
     have Pg : P g := by
-      apply ih
-      simp only [g, simple_func.coe_piecewise, range_piecewise]
+      apply ih; simp only [g, simple_func.coe_piecewise, range_piecewise]
       rw [image_compl_preimage, union_diff_distrib, diff_diff_comm, hf, Finset.coe_insert,
         insert_diff_self_of_not_mem, diff_eq_empty.mpr, Set.empty_union]
-      · rw [Set.image_subset_iff]
-        convert Set.subset_univ _
+      · rw [Set.image_subset_iff]; convert Set.subset_univ _
         exact preimage_const_of_mem (mem_singleton _)
       · rwa [Finset.mem_coe]
     convert h_add _ Pg (h_ind x mx)
-    · ext1 y
-      by_cases hy : y ∈ f ⁻¹' {x} <;> [simpa [hy] ;simp [hy]]
+    · ext1 y; by_cases hy : y ∈ f ⁻¹' {x} <;> [simpa [hy] ;simp [hy]]
     rw [disjoint_iff_inf_le]
-    rintro y
-    by_cases hy : y ∈ f ⁻¹' {x} <;> simp [hy]
+    rintro y; by_cases hy : y ∈ f ⁻¹' {x} <;> simp [hy]
 #align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.induction
 
 end SimpleFunc
@@ -2103,8 +2074,7 @@ theorem Measurable.ennreal_induction {α} [MeasurableSpace α] {P : (α → ℝ
     ⦃f : α → ℝ≥0∞⦄ (hf : Measurable f) : P f :=
   by
   convert h_supr (fun n => (eapprox f n).Measurable) (monotone_eapprox f) _
-  · ext1 x
-    rw [supr_eapprox_apply f hf]
+  · ext1 x; rw [supr_eapprox_apply f hf]
   ·
     exact fun n =>
       simple_func.induction (fun c s hs => h_ind c hs)
Diff
@@ -1313,10 +1313,7 @@ theorem monotone_approx (i : ℕ → β) (f : α → β) : Monotone (approx i f)
 #align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approx
 
 /- warning: measure_theory.simple_func.approx_comp -> MeasureTheory.SimpleFunc.approx_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] [_inst_5 : TopologicalSpace.{u2} β] [_inst_6 : OrderClosedTopology.{u2} β _inst_5 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))] [_inst_7 : MeasurableSpace.{u2} β] [_inst_8 : OpensMeasurableSpace.{u2} β _inst_5 _inst_7] [_inst_9 : MeasurableSpace.{u3} γ] {i : Nat -> β} {f : γ -> β} {g : α -> γ} {n : Nat} (a : α), (Measurable.{u3, u2} γ β _inst_9 _inst_7 f) -> (Measurable.{u1, u3} α γ _inst_1 _inst_9 g) -> (Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i (Function.comp.{succ u1, succ u3, succ u2} α γ β f g) n) a) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (MeasureTheory.SimpleFunc.{u3, u2} γ _inst_9 β) (fun (_x : MeasureTheory.SimpleFunc.{u3, u2} γ _inst_9 β) => γ -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u3, u2} γ β _inst_9) (MeasureTheory.SimpleFunc.approx.{u3, u2} γ β _inst_9 _inst_2 _inst_3 _inst_4 i f n) (g a)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u3} β] [_inst_3 : OrderBot.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2)))] [_inst_4 : Zero.{u3} β] [_inst_5 : TopologicalSpace.{u3} β] [_inst_6 : OrderClosedTopology.{u3} β _inst_5 (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2))] [_inst_7 : MeasurableSpace.{u3} β] [_inst_8 : OpensMeasurableSpace.{u3} β _inst_5 _inst_7] [_inst_9 : MeasurableSpace.{u2} γ] {i : Nat -> β} {f : γ -> β} {g : α -> γ} {n : Nat} (a : α), (Measurable.{u2, u3} γ β _inst_9 _inst_7 f) -> (Measurable.{u1, u2} α γ _inst_1 _inst_9 g) -> (Eq.{succ u3} β (MeasureTheory.SimpleFunc.toFun.{u1, u3} α _inst_1 β (MeasureTheory.SimpleFunc.approx.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4 i (Function.comp.{succ u1, succ u2, succ u3} α γ β f g) n) a) (MeasureTheory.SimpleFunc.toFun.{u2, u3} γ _inst_9 β (MeasureTheory.SimpleFunc.approx.{u2, u3} γ β _inst_9 _inst_2 _inst_3 _inst_4 i f n) (g a)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx_comp MeasureTheory.SimpleFunc.approx_compₓ'. -/
 theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] [MeasurableSpace γ] {i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
@@ -1328,10 +1325,7 @@ theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSp
 end
 
 /- warning: measure_theory.simple_func.supr_approx_apply -> MeasureTheory.SimpleFunc.iSup_approx_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : CompleteLattice.{u2} β] [_inst_4 : OrderClosedTopology.{u2} β _inst_2 (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_3)))] [_inst_5 : Zero.{u2} β] [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : OpensMeasurableSpace.{u2} β _inst_2 _inst_6] (i : Nat -> β) (f : α -> β) (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_6 f) -> (Eq.{succ u2} β (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_5))) (Bot.bot.{u2} β (CompleteLattice.toHasBot.{u2} β _inst_3))) -> (Eq.{succ u2} β (iSup.{u2, 1} β (ConditionallyCompleteLattice.toHasSup.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (n : Nat) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3))) (BoundedOrder.toOrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)))))) (CompleteLattice.toBoundedOrder.{u2} β _inst_3)) _inst_5 i f n) a)) (iSup.{u2, 1} β (ConditionallyCompleteLattice.toHasSup.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (k : Nat) => iSup.{u2, 0} β (ConditionallyCompleteLattice.toHasSup.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_3)))) (i k) (f a)) (fun (h : LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_3)))) (i k) (f a)) => i k))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : CompleteLattice.{u2} β] [_inst_4 : OrderClosedTopology.{u2} β _inst_2 (PartialOrder.toPreorder.{u2} β (OmegaCompletePartialOrder.toPartialOrder.{u2} β (CompleteLattice.instOmegaCompletePartialOrder.{u2} β _inst_3)))] [_inst_5 : Zero.{u2} β] [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : OpensMeasurableSpace.{u2} β _inst_2 _inst_6] (i : Nat -> β) (f : α -> β) (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_6 f) -> (Eq.{succ u2} β (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_5)) (Bot.bot.{u2} β (CompleteLattice.toBot.{u2} β _inst_3))) -> (Eq.{succ u2} β (iSup.{u2, 1} β (ConditionallyCompleteLattice.toSupSet.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (n : Nat) => MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3))) (BoundedOrder.toOrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)))))) (CompleteLattice.toBoundedOrder.{u2} β _inst_3)) _inst_5 i f n) a)) (iSup.{u2, 1} β (ConditionallyCompleteLattice.toSupSet.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (k : Nat) => iSup.{u2, 0} β (ConditionallyCompleteLattice.toSupSet.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OmegaCompletePartialOrder.toPartialOrder.{u2} β (CompleteLattice.instOmegaCompletePartialOrder.{u2} β _inst_3)))) (i k) (f a)) (fun (h : LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OmegaCompletePartialOrder.toPartialOrder.{u2} β (CompleteLattice.instOmegaCompletePartialOrder.{u2} β _inst_3)))) (i k) (f a)) => i k))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.supr_approx_apply MeasureTheory.SimpleFunc.iSup_approx_applyₓ'. -/
 theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
@@ -1591,10 +1585,7 @@ theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
 #align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegral
 
 /- warning: measure_theory.simple_func.lintegralₗ -> MeasureTheory.SimpleFunc.lintegralₗ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α}, LinearMap.{0, 0, u1, u1} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (LinearMap.{0, 0, u1, 0} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (MeasureTheory.Measure.{u1} α m) ENNReal (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_1 m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (MeasureTheory.SimpleFunc.instAddCommMonoid.{u1, 0} α ENNReal m (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (LinearMap.addCommMonoid.{0, 0, u1, 0} ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_1 m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))) (MeasureTheory.SimpleFunc.instModule.{u1, 0, 0} α ENNReal m ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (LinearMap.module.{0, 0, 0, u1, 0} ENNReal ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_1 m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_2)
-but is expected to have type
-  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α}, LinearMap.{0, 0, u1, u1} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (LinearMap.{0, 0, u1, 0} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (MeasureTheory.Measure.{u1} α m) ENNReal (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (MeasureTheory.SimpleFunc.instAddCommMonoid.{u1, 0} α ENNReal m (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal))) (LinearMap.addCommMonoid.{0, 0, u1, 0} ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))))) (MeasureTheory.SimpleFunc.instModule.{u1, 0, 0} α ENNReal m ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, u1, 0} ENNReal ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (smulCommClass_self.{0, 0} ENNReal ENNReal (LinearOrderedCommMonoid.toCommMonoid.{0} ENNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} ENNReal ENNReal.instLinearOrderedCommMonoidWithZeroENNReal)) (MulActionWithZero.toMulAction.{0, 0} ENNReal ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) instENNRealZero (MonoidWithZero.toMulActionWithZero.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegralₗ MeasureTheory.SimpleFunc.lintegralₗₓ'. -/
 /-- Integral of a simple function `α →ₛ ℝ≥0∞` as a bilinear map. -/
 def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥0∞] Measure α →ₗ[ℝ≥0∞] ℝ≥0∞
Diff
@@ -2074,7 +2074,7 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
       · rwa [Finset.mem_coe]
     convert h_add _ Pg (h_ind x mx)
     · ext1 y
-      by_cases hy : y ∈ f ⁻¹' {x} <;> [simpa [hy] , simp [hy]]
+      by_cases hy : y ∈ f ⁻¹' {x} <;> [simpa [hy] ;simp [hy]]
     rw [disjoint_iff_inf_le]
     rintro y
     by_cases hy : y ∈ f ⁻¹' {x} <;> simp [hy]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
 
 ! This file was ported from Lean 3 source module measure_theory.function.simple_func
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
+! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Algebra.Support
 /-!
 # Simple functions
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 A function `f` from a measurable space to any type is called *simple*, if every preimage `f ⁻¹' {x}`
 is measurable, and the range is finite. In this file, we define simple functions and establish their
 basic properties; and we construct a sequence of simple functions approximating an arbitrary Borel
Diff
@@ -41,6 +41,7 @@ namespace MeasureTheory
 
 variable {α β γ δ : Type _}
 
+#print MeasureTheory.SimpleFunc /-
 /-- A function `f` from a measurable space to any type is called *simple*,
 if every preimage `f ⁻¹' {x}` is measurable, and the range is finite. This structure bundles
 a function with these properties. -/
@@ -49,6 +50,7 @@ structure SimpleFunc.{u, v} (α : Type u) [MeasurableSpace α] (β : Type v) whe
   measurableSet_fiber' : ∀ x, MeasurableSet (to_fun ⁻¹' {x})
   finite_range' : (Set.range to_fun).Finite
 #align measure_theory.simple_func MeasureTheory.SimpleFunc
+-/
 
 -- mathport name: «expr →ₛ »
 local infixr:25 " →ₛ " => SimpleFunc
@@ -59,107 +61,211 @@ section Measurable
 
 variable [MeasurableSpace α]
 
-instance hasCoeToFun : CoeFun (α →ₛ β) fun _ => α → β :=
+#print MeasureTheory.SimpleFunc.instCoeFun /-
+instance instCoeFun : CoeFun (α →ₛ β) fun _ => α → β :=
   ⟨toFun⟩
-#align measure_theory.simple_func.has_coe_to_fun MeasureTheory.SimpleFunc.hasCoeToFun
+#align measure_theory.simple_func.has_coe_to_fun MeasureTheory.SimpleFunc.instCoeFun
+-/
 
+/- warning: measure_theory.simple_func.coe_injective -> MeasureTheory.SimpleFunc.coe_injective is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {{f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}} {{g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}}, (Eq.{max (succ u1) (succ u2)} ((fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g)) -> (Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) f g)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {{f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}} {{g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}}, (Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g)) -> (Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) f g)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_injective MeasureTheory.SimpleFunc.coe_injectiveₓ'. -/
 theorem coe_injective ⦃f g : α →ₛ β⦄ (H : (f : α → β) = g) : f = g := by
   cases f <;> cases g <;> congr <;> exact H
 #align measure_theory.simple_func.coe_injective MeasureTheory.SimpleFunc.coe_injective
 
+/- warning: measure_theory.simple_func.ext -> MeasureTheory.SimpleFunc.ext is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g a)) -> (Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) f g)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}, (forall (a : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g a)) -> (Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) f g)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.ext MeasureTheory.SimpleFunc.extₓ'. -/
 @[ext]
 theorem ext {f g : α →ₛ β} (H : ∀ a, f a = g a) : f = g :=
   coe_injective <| funext H
 #align measure_theory.simple_func.ext MeasureTheory.SimpleFunc.ext
 
+/- warning: measure_theory.simple_func.finite_range -> MeasureTheory.SimpleFunc.finite_range is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Set.Finite.{u2} β (Set.range.{u2, succ u1} β α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Set.Finite.{u1} β (Set.range.{u1, succ u2} β α (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.finite_range MeasureTheory.SimpleFunc.finite_rangeₓ'. -/
 theorem finite_range (f : α →ₛ β) : (Set.range f).Finite :=
   f.finite_range'
 #align measure_theory.simple_func.finite_range MeasureTheory.SimpleFunc.finite_range
 
+/- warning: measure_theory.simple_func.measurable_set_fiber -> MeasureTheory.SimpleFunc.measurableSet_fiber is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (x : β), MeasurableSet.{u1} α _inst_1 (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (x : β), MeasurableSet.{u2} α _inst_1 (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_fiber MeasureTheory.SimpleFunc.measurableSet_fiberₓ'. -/
 theorem measurableSet_fiber (f : α →ₛ β) (x : β) : MeasurableSet (f ⁻¹' {x}) :=
   f.measurableSet_fiber' x
 #align measure_theory.simple_func.measurable_set_fiber MeasureTheory.SimpleFunc.measurableSet_fiber
 
+/- warning: measure_theory.simple_func.apply_mk -> MeasureTheory.SimpleFunc.apply_mk is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> β) (h : forall (x : β), MeasurableSet.{u1} α _inst_1 (Set.preimage.{u1, u2} α β f (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x))) (h' : Set.Finite.{u2} β (Set.range.{u2, succ u1} β α f)) (x : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.mk.{u1, u2} α _inst_1 β f h h') x) (f x)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : α -> β) (h : forall (x : β), MeasurableSet.{u2} α _inst_1 (Set.preimage.{u2, u1} α β f (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x))) (h' : Set.Finite.{u1} β (Set.range.{u1, succ u2} β α f)) (x : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.mk.{u2, u1} α _inst_1 β f h h') x) (f x)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.apply_mk MeasureTheory.SimpleFunc.apply_mkₓ'. -/
 @[simp]
 theorem apply_mk (f : α → β) (h h') (x : α) : SimpleFunc.mk f h h' x = f x :=
   rfl
 #align measure_theory.simple_func.apply_mk MeasureTheory.SimpleFunc.apply_mk
 
+#print MeasureTheory.SimpleFunc.ofIsEmpty /-
 /-- Simple function defined on the empty type. -/
 def ofIsEmpty [IsEmpty α] : α →ₛ β where
   toFun := isEmptyElim
   measurableSet_fiber' x := Subsingleton.measurableSet
   finite_range' := by simp [range_eq_empty]
 #align measure_theory.simple_func.of_is_empty MeasureTheory.SimpleFunc.ofIsEmpty
+-/
 
+#print MeasureTheory.SimpleFunc.range /-
 /-- Range of a simple function `α →ₛ β` as a `finset β`. -/
 protected def range (f : α →ₛ β) : Finset β :=
   f.finite_range.toFinset
 #align measure_theory.simple_func.range MeasureTheory.SimpleFunc.range
+-/
 
+/- warning: measure_theory.simple_func.mem_range -> MeasureTheory.SimpleFunc.mem_range is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {b : β}, Iff (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) b (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (Set.range.{u2, succ u1} β α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {b : β}, Iff (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) b (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) b (Set.range.{u1, succ u2} β α (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_range MeasureTheory.SimpleFunc.mem_rangeₓ'. -/
 @[simp]
 theorem mem_range {f : α →ₛ β} {b} : b ∈ f.range ↔ b ∈ range f :=
   Finite.mem_toFinset _
 #align measure_theory.simple_func.mem_range MeasureTheory.SimpleFunc.mem_range
 
+/- warning: measure_theory.simple_func.mem_range_self -> MeasureTheory.SimpleFunc.mem_range_self is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (x : α), Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (x : α), Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f x) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_range_self MeasureTheory.SimpleFunc.mem_range_selfₓ'. -/
 theorem mem_range_self (f : α →ₛ β) (x : α) : f x ∈ f.range :=
   mem_range.2 ⟨x, rfl⟩
 #align measure_theory.simple_func.mem_range_self MeasureTheory.SimpleFunc.mem_range_self
 
+/- warning: measure_theory.simple_func.coe_range -> MeasureTheory.SimpleFunc.coe_range is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u2} (Set.{u2} β) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) (Set.range.{u2, succ u1} β α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{succ u1} (Set.{u1} β) (Finset.toSet.{u1} β (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) (Set.range.{u1, succ u2} β α (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_range MeasureTheory.SimpleFunc.coe_rangeₓ'. -/
 @[simp]
 theorem coe_range (f : α →ₛ β) : (↑f.range : Set β) = Set.range f :=
   f.finite_range.coe_toFinset
 #align measure_theory.simple_func.coe_range MeasureTheory.SimpleFunc.coe_range
 
+/- warning: measure_theory.simple_func.mem_range_of_measure_ne_zero -> MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {x : β} {μ : MeasureTheory.Measure.{u1} α _inst_1}, (Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) x (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {x : β} {μ : MeasureTheory.Measure.{u2} α _inst_1}, (Ne.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) x (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zeroₓ'. -/
 theorem mem_range_of_measure_ne_zero {f : α →ₛ β} {x : β} {μ : Measure α} (H : μ (f ⁻¹' {x}) ≠ 0) :
     x ∈ f.range :=
   let ⟨a, ha⟩ := nonempty_of_measure_ne_zero H
   mem_range.2 ⟨a, ha⟩
 #align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero
 
+/- warning: measure_theory.simple_func.forall_range_iff -> MeasureTheory.SimpleFunc.forall_range_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {p : β -> Prop}, Iff (forall (y : β), (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) -> (p y)) (forall (x : α), p (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {p : β -> Prop}, Iff (forall (y : β), (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) -> (p y)) (forall (x : α), p (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f x))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iffₓ'. -/
 theorem forall_range_iff {f : α →ₛ β} {p : β → Prop} : (∀ y ∈ f.range, p y) ↔ ∀ x, p (f x) := by
   simp only [mem_range, Set.forall_range_iff]
 #align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iff
 
+/- warning: measure_theory.simple_func.exists_range_iff -> MeasureTheory.SimpleFunc.exists_range_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {p : β -> Prop}, Iff (Exists.{succ u2} β (fun (y : β) => Exists.{0} (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) (fun (H : Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)) => p y))) (Exists.{succ u1} α (fun (x : α) => p (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {p : β -> Prop}, Iff (Exists.{succ u1} β (fun (y : β) => And (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)) (p y))) (Exists.{succ u2} α (fun (x : α) => p (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f x)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.exists_range_iff MeasureTheory.SimpleFunc.exists_range_iffₓ'. -/
 theorem exists_range_iff {f : α →ₛ β} {p : β → Prop} : (∃ y ∈ f.range, p y) ↔ ∃ x, p (f x) := by
   simpa only [mem_range, exists_prop] using Set.exists_range_iff
 #align measure_theory.simple_func.exists_range_iff MeasureTheory.SimpleFunc.exists_range_iff
 
+/- warning: measure_theory.simple_func.preimage_eq_empty_iff -> MeasureTheory.SimpleFunc.preimage_eq_empty_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (b : β), Iff (Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) b)) (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (Not (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) b (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (b : β), Iff (Eq.{succ u2} (Set.{u2} α) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) b)) (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.instEmptyCollectionSet.{u2} α))) (Not (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) b (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.preimage_eq_empty_iff MeasureTheory.SimpleFunc.preimage_eq_empty_iffₓ'. -/
 theorem preimage_eq_empty_iff (f : α →ₛ β) (b : β) : f ⁻¹' {b} = ∅ ↔ b ∉ f.range :=
   preimage_singleton_eq_empty.trans <| not_congr mem_range.symm
 #align measure_theory.simple_func.preimage_eq_empty_iff MeasureTheory.SimpleFunc.preimage_eq_empty_iff
 
+/- warning: measure_theory.simple_func.exists_forall_le -> MeasureTheory.SimpleFunc.exists_forall_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Nonempty.{succ u2} β] [_inst_3 : Preorder.{u2} β] [_inst_4 : IsDirected.{u2} β (LE.le.{u2} β (Preorder.toHasLe.{u2} β _inst_3))] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Exists.{succ u2} β (fun (C : β) => forall (x : α), LE.le.{u2} β (Preorder.toHasLe.{u2} β _inst_3) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f x) C)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Nonempty.{succ u2} β] [_inst_3 : Preorder.{u2} β] [_inst_4 : IsDirected.{u2} β (fun (x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1377 : β) (x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1379 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β _inst_3) x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1377 x._@.Mathlib.MeasureTheory.Function.SimpleFunc._hyg.1379)] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Exists.{succ u2} β (fun (C : β) => forall (x : α), LE.le.{u2} β (Preorder.toLE.{u2} β _inst_3) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β f x) C)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.exists_forall_le MeasureTheory.SimpleFunc.exists_forall_leₓ'. -/
 theorem exists_forall_le [Nonempty β] [Preorder β] [IsDirected β (· ≤ ·)] (f : α →ₛ β) :
     ∃ C, ∀ x, f x ≤ C :=
   f.range.exists_le.imp fun C => forall_range_iff.1
 #align measure_theory.simple_func.exists_forall_le MeasureTheory.SimpleFunc.exists_forall_le
 
+#print MeasureTheory.SimpleFunc.const /-
 /-- Constant function as a `simple_func`. -/
 def const (α) {β} [MeasurableSpace α] (b : β) : α →ₛ β :=
   ⟨fun a => b, fun x => MeasurableSet.const _, finite_range_const⟩
 #align measure_theory.simple_func.const MeasureTheory.SimpleFunc.const
+-/
 
 instance [Inhabited β] : Inhabited (α →ₛ β) :=
   ⟨const _ default⟩
 
+#print MeasureTheory.SimpleFunc.const_apply /-
 theorem const_apply (a : α) (b : β) : (const α b) a = b :=
   rfl
 #align measure_theory.simple_func.const_apply MeasureTheory.SimpleFunc.const_apply
+-/
 
+/- warning: measure_theory.simple_func.coe_const -> MeasureTheory.SimpleFunc.coe_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (b : β), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 b)) (Function.const.{succ u2, succ u1} β α b)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (b : β), Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1 b)) (Function.const.{succ u1, succ u2} β α b)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_const MeasureTheory.SimpleFunc.coe_constₓ'. -/
 @[simp]
 theorem coe_const (b : β) : ⇑(const α b) = Function.const α b :=
   rfl
 #align measure_theory.simple_func.coe_const MeasureTheory.SimpleFunc.coe_const
 
+#print MeasureTheory.SimpleFunc.range_const /-
 @[simp]
 theorem range_const (α) [MeasurableSpace α] [Nonempty α] (b : β) : (const α b).range = {b} :=
   Finset.coe_injective <| by simp
 #align measure_theory.simple_func.range_const MeasureTheory.SimpleFunc.range_const
+-/
 
+#print MeasureTheory.SimpleFunc.range_const_subset /-
 theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).range ⊆ {b} :=
   Finset.coe_subset.1 <| by simp
 #align measure_theory.simple_func.range_const_subset MeasureTheory.SimpleFunc.range_const_subset
+-/
 
+/- warning: measure_theory.simple_func.simple_func_bot -> MeasureTheory.SimpleFunc.simpleFunc_bot is a dubious translation:
+lean 3 declaration is
+  forall {β : Type.{u1}} {α : Type.{u2}} (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) [_inst_2 : Nonempty.{succ u1} β], Exists.{succ u1} β (fun (c : β) => forall (x : α), Eq.{succ u1} β (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) (fun (_x : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u1} α β (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α)))) f x) c)
+but is expected to have type
+  forall {β : Type.{u1}} {α : Type.{u2}} (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β) [_inst_2 : Nonempty.{succ u1} β], Exists.{succ u1} β (fun (c : β) => forall (x : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β f x) c)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_botₓ'. -/
 theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, ∀ x, f x = c :=
   by
   have hf_meas := @simple_func.measurable_set_fiber α _ ⊥ f
@@ -179,6 +285,12 @@ theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, 
       rwa [Set.mem_preimage, Set.mem_singleton_iff] at this
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
 
+/- warning: measure_theory.simple_func.simple_func_bot' -> MeasureTheory.SimpleFunc.simpleFunc_bot' is a dubious translation:
+lean 3 declaration is
+  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_2 : Nonempty.{succ u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β), Exists.{succ u1} β (fun (c : β) => Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) β) f (MeasureTheory.SimpleFunc.const.{u2, u1} α β (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toHasBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.completeLattice.{u2} α))) c))
+but is expected to have type
+  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_2 : Nonempty.{succ u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β), Exists.{succ u1} β (fun (c : β) => Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u2, u1} α (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) β) f (MeasureTheory.SimpleFunc.const.{u2, u1} α β (Bot.bot.{u2} (MeasurableSpace.{u2} α) (CompleteLattice.toBot.{u2} (MeasurableSpace.{u2} α) (MeasurableSpace.instCompleteLatticeMeasurableSpace.{u2} α))) c))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'ₓ'. -/
 theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
     ∃ c, f = @SimpleFunc.const α _ ⊥ c :=
   by
@@ -188,6 +300,12 @@ theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
   rw [h_eq x, simple_func.coe_const]
 #align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'
 
+/- warning: measure_theory.simple_func.measurable_set_cut -> MeasureTheory.SimpleFunc.measurableSet_cut is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (r : α -> β -> Prop) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), (forall (b : β), MeasurableSet.{u1} α _inst_1 (setOf.{u1} α (fun (a : α) => r a b))) -> (MeasurableSet.{u1} α _inst_1 (setOf.{u1} α (fun (a : α) => r a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (r : α -> β -> Prop) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), (forall (b : β), MeasurableSet.{u2} α _inst_1 (setOf.{u2} α (fun (a : α) => r a b))) -> (MeasurableSet.{u2} α _inst_1 (setOf.{u2} α (fun (a : α) => r a (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_cut MeasureTheory.SimpleFunc.measurableSet_cutₓ'. -/
 theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b, MeasurableSet { a | r a b }) :
     MeasurableSet { a | r a (f a) } :=
   by
@@ -202,33 +320,56 @@ theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b
       MeasurableSet.inter (h b) (f.measurable_set_fiber _)
 #align measure_theory.simple_func.measurable_set_cut MeasureTheory.SimpleFunc.measurableSet_cut
 
+/- warning: measure_theory.simple_func.measurable_set_preimage -> MeasureTheory.SimpleFunc.measurableSet_preimage is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (s : Set.{u2} β), MeasurableSet.{u1} α _inst_1 (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (s : Set.{u1} β), MeasurableSet.{u2} α _inst_1 (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) s)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_preimage MeasureTheory.SimpleFunc.measurableSet_preimageₓ'. -/
 @[measurability]
 theorem measurableSet_preimage (f : α →ₛ β) (s) : MeasurableSet (f ⁻¹' s) :=
   measurableSet_cut (fun _ b => b ∈ s) f fun b => MeasurableSet.const (b ∈ s)
 #align measure_theory.simple_func.measurable_set_preimage MeasureTheory.SimpleFunc.measurableSet_preimage
 
+#print MeasureTheory.SimpleFunc.measurable /-
 /-- A simple function is measurable -/
 @[measurability]
 protected theorem measurable [MeasurableSpace β] (f : α →ₛ β) : Measurable f := fun s _ =>
   measurableSet_preimage f s
 #align measure_theory.simple_func.measurable MeasureTheory.SimpleFunc.measurable
+-/
 
+#print MeasureTheory.SimpleFunc.aemeasurable /-
 @[measurability]
-protected theorem aEMeasurable [MeasurableSpace β] {μ : Measure α} (f : α →ₛ β) :
+protected theorem aemeasurable [MeasurableSpace β] {μ : Measure α} (f : α →ₛ β) :
     AEMeasurable f μ :=
   f.Measurable.AEMeasurable
-#align measure_theory.simple_func.ae_measurable MeasureTheory.SimpleFunc.aEMeasurable
+#align measure_theory.simple_func.ae_measurable MeasureTheory.SimpleFunc.aemeasurable
+-/
 
+/- warning: measure_theory.simple_func.sum_measure_preimage_singleton -> MeasureTheory.SimpleFunc.sum_measure_preimage_singleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {μ : MeasureTheory.Measure.{u1} α _inst_1} (s : Finset.{u2} β), Eq.{1} ENNReal (Finset.sum.{0, u2} ENNReal β (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) s (fun (y : β) => coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y)))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) s)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {μ : MeasureTheory.Measure.{u2} α _inst_1} (s : Finset.{u1} β), Eq.{1} ENNReal (Finset.sum.{0, u1} ENNReal β (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) s (fun (y : β) => MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y)))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Finset.toSet.{u1} β s)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.sum_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_measure_preimage_singletonₓ'. -/
 protected theorem sum_measure_preimage_singleton (f : α →ₛ β) {μ : Measure α} (s : Finset β) :
     (∑ y in s, μ (f ⁻¹' {y})) = μ (f ⁻¹' ↑s) :=
   sum_measure_preimage_singleton _ fun _ _ => f.measurableSet_fiber _
 #align measure_theory.simple_func.sum_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_measure_preimage_singleton
 
+/- warning: measure_theory.simple_func.sum_range_measure_preimage_singleton -> MeasureTheory.SimpleFunc.sum_range_measure_preimage_singleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (μ : MeasureTheory.Measure.{u1} α _inst_1), Eq.{1} ENNReal (Finset.sum.{0, u2} ENNReal β (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f) (fun (y : β) => coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y)))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α _inst_1) (fun (_x : MeasureTheory.Measure.{u1} α _inst_1) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α _inst_1) μ (Set.univ.{u1} α))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (μ : MeasureTheory.Measure.{u2} α _inst_1), Eq.{1} ENNReal (Finset.sum.{0, u1} ENNReal β (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f) (fun (y : β) => MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y)))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (Set.univ.{u2} α))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.sum_range_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_range_measure_preimage_singletonₓ'. -/
 theorem sum_range_measure_preimage_singleton (f : α →ₛ β) (μ : Measure α) :
     (∑ y in f.range, μ (f ⁻¹' {y})) = μ univ := by
   rw [f.sum_measure_preimage_singleton, coe_range, preimage_range]
 #align measure_theory.simple_func.sum_range_measure_preimage_singleton MeasureTheory.SimpleFunc.sum_range_measure_preimage_singleton
 
+#print MeasureTheory.SimpleFunc.piecewise /-
 /-- If-then-else as a `simple_func`. -/
 def piecewise (s : Set α) (hs : MeasurableSet s) (f g : α →ₛ β) : α →ₛ β :=
   ⟨s.piecewise f g, fun x =>
@@ -236,39 +377,82 @@ def piecewise (s : Set α) (hs : MeasurableSet s) (f g : α →ₛ β) : α →
     f.measurable.piecewise hs g.measurable trivial,
     (f.finite_range.union g.finite_range).Subset range_ite_subset⟩
 #align measure_theory.simple_func.piecewise MeasureTheory.SimpleFunc.piecewise
+-/
 
+/- warning: measure_theory.simple_func.coe_piecewise -> MeasureTheory.SimpleFunc.coe_piecewise is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f g)) (Set.piecewise.{u1, succ u2} α (fun (ᾰ : α) => β) s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g) (fun (j : α) => Classical.propDecidable (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) j s)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s hs f g)) (Set.piecewise.{u2, succ u1} α (fun (ᾰ : α) => β) s (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g) (fun (j : α) => Classical.propDecidable (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) j s)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_piecewise MeasureTheory.SimpleFunc.coe_piecewiseₓ'. -/
 @[simp]
 theorem coe_piecewise {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β) :
     ⇑(piecewise s hs f g) = s.piecewise f g :=
   rfl
 #align measure_theory.simple_func.coe_piecewise MeasureTheory.SimpleFunc.coe_piecewise
 
+/- warning: measure_theory.simple_func.piecewise_apply -> MeasureTheory.SimpleFunc.piecewise_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f g) a) (ite.{succ u2} β (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Classical.propDecidable (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g a))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (a : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s hs f g) a) (ite.{succ u1} β (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s) (Classical.propDecidable (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s)) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β g a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_apply MeasureTheory.SimpleFunc.piecewise_applyₓ'. -/
 theorem piecewise_apply {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β) (a) :
     piecewise s hs f g a = if a ∈ s then f a else g a :=
   rfl
 #align measure_theory.simple_func.piecewise_apply MeasureTheory.SimpleFunc.piecewise_apply
 
+/- warning: measure_theory.simple_func.piecewise_compl -> MeasureTheory.SimpleFunc.piecewise_compl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) s)) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) s) hs f g) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s (MeasurableSet.of_compl.{u1} α s _inst_1 hs) g f)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.instBooleanAlgebraSet.{u2} α)) s)) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.instBooleanAlgebraSet.{u2} α)) s) hs f g) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s (MeasurableSet.of_compl.{u2} α s _inst_1 hs) g f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_complₓ'. -/
 @[simp]
 theorem piecewise_compl {s : Set α} (hs : MeasurableSet (sᶜ)) (f g : α →ₛ β) :
     piecewise (sᶜ) hs f g = piecewise s hs.ofCompl g f :=
   coe_injective <| by simp [hs]
 #align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_compl
 
+/- warning: measure_theory.simple_func.piecewise_univ -> MeasureTheory.SimpleFunc.piecewise_univ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 (Set.univ.{u1} α) (MeasurableSet.univ.{u1} α _inst_1) f g) f
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 (Set.univ.{u2} α) (MeasurableSet.univ.{u2} α _inst_1) f g) f
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_univ MeasureTheory.SimpleFunc.piecewise_univₓ'. -/
 @[simp]
 theorem piecewise_univ (f g : α →ₛ β) : piecewise univ MeasurableSet.univ f g = f :=
   coe_injective <| by simp
 #align measure_theory.simple_func.piecewise_univ MeasureTheory.SimpleFunc.piecewise_univ
 
+/- warning: measure_theory.simple_func.piecewise_empty -> MeasureTheory.SimpleFunc.piecewise_empty is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α)) (MeasurableSet.empty.{u1} α _inst_1) f g) g
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.instEmptyCollectionSet.{u2} α)) (MeasurableSet.empty.{u2} α _inst_1) f g) g
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_emptyₓ'. -/
 @[simp]
 theorem piecewise_empty (f g : α →ₛ β) : piecewise ∅ MeasurableSet.empty f g = g :=
   coe_injective <| by simp
 #align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_empty
 
+/- warning: measure_theory.simple_func.support_indicator -> MeasureTheory.SimpleFunc.support_indicator is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2))))))) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s (Function.support.{u1, u2} α β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α β _inst_2 (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs f (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_2)))))) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) s (Function.support.{u1, u2} α β _inst_2 (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β f)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.support_indicator MeasureTheory.SimpleFunc.support_indicatorₓ'. -/
 theorem support_indicator [Zero β] {s : Set α} (hs : MeasurableSet s) (f : α →ₛ β) :
     Function.support (f.piecewise s hs (SimpleFunc.const α 0)) = s ∩ Function.support f :=
   Set.support_indicator
 #align measure_theory.simple_func.support_indicator MeasureTheory.SimpleFunc.support_indicator
 
+/- warning: measure_theory.simple_func.range_indicator -> MeasureTheory.SimpleFunc.range_indicator is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s), (Set.Nonempty.{u1} α s) -> (Ne.{succ u1} (Set.{u1} α) s (Set.univ.{u1} α)) -> (forall (x : β) (y : β), Eq.{succ u2} (Finset.{u2} β) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α β _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 x) (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 y))) (Insert.insert.{u2, u2} β (Finset.{u2} β) (Finset.hasInsert.{u2} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u2} β a b))) x (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) y)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s), (Set.Nonempty.{u2} α s) -> (Ne.{succ u2} (Set.{u2} α) s (Set.univ.{u2} α)) -> (forall (x : β) (y : β), Eq.{succ u1} (Finset.{u1} β) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α β _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1 x) (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1 y))) (Insert.insert.{u1, u1} β (Finset.{u1} β) (Finset.instInsertFinset.{u1} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u1} β a b))) x (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) y)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_indicator MeasureTheory.SimpleFunc.range_indicatorₓ'. -/
 theorem range_indicator {s : Set α} (hs : MeasurableSet s) (hs_nonempty : s.Nonempty)
     (hs_ne_univ : s ≠ univ) (x y : β) : (piecewise s hs (const α x) (const α y)).range = {x, y} :=
   by
@@ -277,11 +461,18 @@ theorem range_indicator {s : Set α} (hs : MeasurableSet s) (hs_nonempty : s.Non
     (nonempty_compl.2 hs_ne_univ).image_const, singleton_union]
 #align measure_theory.simple_func.range_indicator MeasureTheory.SimpleFunc.range_indicator
 
+/- warning: measure_theory.simple_func.measurable_bind -> MeasureTheory.SimpleFunc.measurable_bind is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} γ] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> α -> γ), (forall (b : β), Measurable.{u1, u3} α γ _inst_1 _inst_2 (g b)) -> (Measurable.{u1, u3} α γ _inst_1 _inst_2 (fun (a : α) => g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) a))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} γ] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (g : β -> α -> γ), (forall (b : β), Measurable.{u2, u3} α γ _inst_1 _inst_2 (g b)) -> (Measurable.{u2, u3} α γ _inst_1 _inst_2 (fun (a : α) => g (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f a) a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_bind MeasureTheory.SimpleFunc.measurable_bindₓ'. -/
 theorem measurable_bind [MeasurableSpace γ] (f : α →ₛ β) (g : β → α → γ)
     (hg : ∀ b, Measurable (g b)) : Measurable fun a => g (f a) a := fun s hs =>
   f.measurableSet_cut (fun a b => g b a ∈ s) fun b => hg b hs
 #align measure_theory.simple_func.measurable_bind MeasureTheory.SimpleFunc.measurable_bind
 
+#print MeasureTheory.SimpleFunc.bind /-
 /-- If `f : α →ₛ β` is a simple function and `g : β → α →ₛ γ` is a family of simple functions,
 then `f.bind g` binds the first argument of `g` to `f`. In other words, `f.bind g a = g (f a) a`. -/
 def bind (f : α →ₛ β) (g : β → α →ₛ γ) : α →ₛ γ :=
@@ -290,41 +481,86 @@ def bind (f : α →ₛ β) (g : β → α →ₛ γ) : α →ₛ γ :=
     (f.finite_range.biUnion fun b _ => (g b).finite_range).Subset <| by
       rintro _ ⟨a, rfl⟩ <;> simp <;> exact ⟨a, a, rfl⟩⟩
 #align measure_theory.simple_func.bind MeasureTheory.SimpleFunc.bind
+-/
 
+/- warning: measure_theory.simple_func.bind_apply -> MeasureTheory.SimpleFunc.bind_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ)) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.bind.{u1, u2, u3} α β γ _inst_1 f g) a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a)) a)
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : β -> (MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ)) (a : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.bind.{u3, u2, u1} α β γ _inst_1 f g) a) (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (g (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f a)) a)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.bind_apply MeasureTheory.SimpleFunc.bind_applyₓ'. -/
 @[simp]
 theorem bind_apply (f : α →ₛ β) (g : β → α →ₛ γ) (a) : f.bind g a = g (f a) a :=
   rfl
 #align measure_theory.simple_func.bind_apply MeasureTheory.SimpleFunc.bind_apply
 
+#print MeasureTheory.SimpleFunc.map /-
 /-- Given a function `g : β → γ` and a simple function `f : α →ₛ β`, `f.map g` return the simple
     function `g ∘ f : α →ₛ γ` -/
 def map (g : β → γ) (f : α →ₛ β) : α →ₛ γ :=
   bind f (const α ∘ g)
 #align measure_theory.simple_func.map MeasureTheory.SimpleFunc.map
+-/
 
+/- warning: measure_theory.simple_func.map_apply -> MeasureTheory.SimpleFunc.map_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f) a) (g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (a : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f) a) (g (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_apply MeasureTheory.SimpleFunc.map_applyₓ'. -/
 theorem map_apply (g : β → γ) (f : α →ₛ β) (a) : f.map g a = g (f a) :=
   rfl
 #align measure_theory.simple_func.map_apply MeasureTheory.SimpleFunc.map_apply
 
+/- warning: measure_theory.simple_func.map_map -> MeasureTheory.SimpleFunc.map_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (h : γ -> δ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u4)} (MeasureTheory.SimpleFunc.{u1, u4} α _inst_1 δ) (MeasureTheory.SimpleFunc.map.{u1, u3, u4} α γ δ _inst_1 h (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (MeasureTheory.SimpleFunc.map.{u1, u2, u4} α β δ _inst_1 (Function.comp.{succ u2, succ u3, succ u4} β γ δ h g) f)
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} {γ : Type.{u1}} {δ : Type.{u2}} [_inst_1 : MeasurableSpace.{u4} α] (g : β -> γ) (h : γ -> δ) (f : MeasureTheory.SimpleFunc.{u4, u3} α _inst_1 β), Eq.{max (succ u4) (succ u2)} (MeasureTheory.SimpleFunc.{u4, u2} α _inst_1 δ) (MeasureTheory.SimpleFunc.map.{u4, u1, u2} α γ δ _inst_1 h (MeasureTheory.SimpleFunc.map.{u4, u3, u1} α β γ _inst_1 g f)) (MeasureTheory.SimpleFunc.map.{u4, u3, u2} α β δ _inst_1 (Function.comp.{succ u3, succ u1, succ u2} β γ δ h g) f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_map MeasureTheory.SimpleFunc.map_mapₓ'. -/
 theorem map_map (g : β → γ) (h : γ → δ) (f : α →ₛ β) : (f.map g).map h = f.map (h ∘ g) :=
   rfl
 #align measure_theory.simple_func.map_map MeasureTheory.SimpleFunc.map_map
 
+/- warning: measure_theory.simple_func.coe_map -> MeasureTheory.SimpleFunc.coe_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u3)} ((fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (Function.comp.{succ u1, succ u2, succ u3} α β γ g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β), Eq.{max (succ u3) (succ u1)} (α -> γ) (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f)) (Function.comp.{succ u3, succ u2, succ u1} α β γ g (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_map MeasureTheory.SimpleFunc.coe_mapₓ'. -/
 @[simp]
 theorem coe_map (g : β → γ) (f : α →ₛ β) : (f.map g : α → γ) = g ∘ f :=
   rfl
 #align measure_theory.simple_func.coe_map MeasureTheory.SimpleFunc.coe_map
 
+/- warning: measure_theory.simple_func.range_map -> MeasureTheory.SimpleFunc.range_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : DecidableEq.{succ u3} γ] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u3} (Finset.{u3} γ) (MeasureTheory.SimpleFunc.range.{u1, u3} α γ _inst_1 (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (Finset.image.{u2, u3} β γ (fun (a : γ) (b : γ) => _inst_2 a b) g (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : DecidableEq.{succ u3} γ] (g : β -> γ) (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{succ u3} (Finset.{u3} γ) (MeasureTheory.SimpleFunc.range.{u2, u3} α γ _inst_1 (MeasureTheory.SimpleFunc.map.{u2, u1, u3} α β γ _inst_1 g f)) (Finset.image.{u1, u3} β γ (fun (a : γ) (b : γ) => _inst_2 a b) g (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_map MeasureTheory.SimpleFunc.range_mapₓ'. -/
 @[simp]
 theorem range_map [DecidableEq γ] (g : β → γ) (f : α →ₛ β) : (f.map g).range = f.range.image g :=
   Finset.coe_injective <| by simp only [coe_range, coe_map, Finset.coe_image, range_comp]
 #align measure_theory.simple_func.range_map MeasureTheory.SimpleFunc.range_map
 
+/- warning: measure_theory.simple_func.map_const -> MeasureTheory.SimpleFunc.map_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (g : β -> γ) (b : β), Eq.{max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1 b)) (MeasureTheory.SimpleFunc.const.{u1, u3} α γ _inst_1 (g b))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] (g : β -> γ) (b : β), Eq.{max (succ u3) (succ u2)} (MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u3, u1, u2} α β γ _inst_1 g (MeasureTheory.SimpleFunc.const.{u3, u1} α β _inst_1 b)) (MeasureTheory.SimpleFunc.const.{u3, u2} α γ _inst_1 (g b))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_const MeasureTheory.SimpleFunc.map_constₓ'. -/
 @[simp]
 theorem map_const (g : β → γ) (b : β) : (const α b).map g = const α (g b) :=
   rfl
 #align measure_theory.simple_func.map_const MeasureTheory.SimpleFunc.map_const
 
+/- warning: measure_theory.simple_func.map_preimage -> MeasureTheory.SimpleFunc.map_preimage is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> γ) (s : Set.{u3} γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) s) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finset.filter.{u2} β (fun (b : β) => Membership.Mem.{u3, u3} γ (Set.{u3} γ) (Set.hasMem.{u3} γ) (g b) s) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Membership.Mem.{u3, u3} γ (Set.{u3} γ) (Set.hasMem.{u3} γ) (g b) s) a)) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : β -> γ) (s : Set.{u1} γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f)) s) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) (Finset.toSet.{u2} β (Finset.filter.{u2} β (fun (b : β) => Membership.mem.{u1, u1} γ (Set.{u1} γ) (Set.instMembershipSet.{u1} γ) (g b) s) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Membership.mem.{u1, u1} γ (Set.{u1} γ) (Set.instMembershipSet.{u1} γ) (g b) s) a)) (MeasureTheory.SimpleFunc.range.{u3, u2} α β _inst_1 f))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_preimage MeasureTheory.SimpleFunc.map_preimageₓ'. -/
 theorem map_preimage (f : α →ₛ β) (g : β → γ) (s : Set γ) :
     f.map g ⁻¹' s = f ⁻¹' ↑(f.range.filterₓ fun b => g b ∈ s) :=
   by
@@ -333,11 +569,18 @@ theorem map_preimage (f : α →ₛ β) (g : β → γ) (s : Set γ) :
   apply preimage_comp
 #align measure_theory.simple_func.map_preimage MeasureTheory.SimpleFunc.map_preimage
 
+/- warning: measure_theory.simple_func.map_preimage_singleton -> MeasureTheory.SimpleFunc.map_preimage_singleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : β -> γ) (c : γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f)) (Singleton.singleton.{u3, u3} γ (Set.{u3} γ) (Set.hasSingleton.{u3} γ) c)) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finset.filter.{u2} β (fun (b : β) => Eq.{succ u3} γ (g b) c) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Eq.{succ u3} γ (g b) c) a)) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : β -> γ) (c : γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ _inst_1 g f)) (Singleton.singleton.{u1, u1} γ (Set.{u1} γ) (Set.instSingletonSet.{u1} γ) c)) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) (Finset.toSet.{u2} β (Finset.filter.{u2} β (fun (b : β) => Eq.{succ u1} γ (g b) c) (fun (a : β) => Classical.propDecidable ((fun (b : β) => Eq.{succ u1} γ (g b) c) a)) (MeasureTheory.SimpleFunc.range.{u3, u2} α β _inst_1 f))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_preimage_singleton MeasureTheory.SimpleFunc.map_preimage_singletonₓ'. -/
 theorem map_preimage_singleton (f : α →ₛ β) (g : β → γ) (c : γ) :
     f.map g ⁻¹' {c} = f ⁻¹' ↑(f.range.filterₓ fun b => g b = c) :=
   map_preimage _ _ _
 #align measure_theory.simple_func.map_preimage_singleton MeasureTheory.SimpleFunc.map_preimage_singleton
 
+#print MeasureTheory.SimpleFunc.comp /-
 /-- Composition of a `simple_fun` and a measurable function is a `simple_func`. -/
 def comp [MeasurableSpace β] (f : β →ₛ γ) (g : α → β) (hgm : Measurable g) : α →ₛ γ
     where
@@ -345,18 +588,32 @@ def comp [MeasurableSpace β] (f : β →ₛ γ) (g : α → β) (hgm : Measurab
   finite_range' := f.finite_range.Subset <| Set.range_comp_subset_range _ _
   measurableSet_fiber' z := hgm (f.measurableSet_fiber z)
 #align measure_theory.simple_func.comp MeasureTheory.SimpleFunc.comp
+-/
 
+/- warning: measure_theory.simple_func.coe_comp -> MeasureTheory.SimpleFunc.coe_comp is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u2} α β _inst_1 _inst_2 g), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 f g hgm)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) f) g)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] (f : MeasureTheory.SimpleFunc.{u3, u2} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u3} α β _inst_1 _inst_2 g), Eq.{max (succ u1) (succ u2)} (α -> γ) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 γ (MeasureTheory.SimpleFunc.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 f g hgm)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (MeasureTheory.SimpleFunc.toFun.{u3, u2} β _inst_2 γ f) g)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_comp MeasureTheory.SimpleFunc.coe_compₓ'. -/
 @[simp]
 theorem coe_comp [MeasurableSpace β] (f : β →ₛ γ) {g : α → β} (hgm : Measurable g) :
     ⇑(f.comp g hgm) = f ∘ g :=
   rfl
 #align measure_theory.simple_func.coe_comp MeasureTheory.SimpleFunc.coe_comp
 
+/- warning: measure_theory.simple_func.range_comp_subset_range -> MeasureTheory.SimpleFunc.range_comp_subset_range is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u2} α β _inst_1 _inst_2 g), HasSubset.Subset.{u3} (Finset.{u3} γ) (Finset.hasSubset.{u3} γ) (MeasureTheory.SimpleFunc.range.{u1, u3} α γ _inst_1 (MeasureTheory.SimpleFunc.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 f g hgm)) (MeasureTheory.SimpleFunc.range.{u2, u3} β γ _inst_2 f)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] (f : MeasureTheory.SimpleFunc.{u3, u2} β _inst_2 γ) {g : α -> β} (hgm : Measurable.{u1, u3} α β _inst_1 _inst_2 g), HasSubset.Subset.{u2} (Finset.{u2} γ) (Finset.instHasSubsetFinset.{u2} γ) (MeasureTheory.SimpleFunc.range.{u1, u2} α γ _inst_1 (MeasureTheory.SimpleFunc.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 f g hgm)) (MeasureTheory.SimpleFunc.range.{u3, u2} β γ _inst_2 f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_comp_subset_range MeasureTheory.SimpleFunc.range_comp_subset_rangeₓ'. -/
 theorem range_comp_subset_range [MeasurableSpace β] (f : β →ₛ γ) {g : α → β} (hgm : Measurable g) :
     (f.comp g hgm).range ⊆ f.range :=
   Finset.coe_subset.1 <| by simp only [coe_range, coe_comp, Set.range_comp_subset_range]
 #align measure_theory.simple_func.range_comp_subset_range MeasureTheory.SimpleFunc.range_comp_subset_range
 
+#print MeasureTheory.SimpleFunc.extend /-
 /-- Extend a `simple_func` along a measurable embedding: `f₁.extend g hg f₂` is the function
 `F : β →ₛ γ` such that `F ∘ g = f₁` and `F y = f₂ y` whenever `y ∉ range g`. -/
 def extend [MeasurableSpace β] (f₁ : α →ₛ γ) (g : α → β) (hg : MeasurableEmbedding g)
@@ -369,59 +626,112 @@ def extend [MeasurableSpace β] (f₁ : α →ₛ γ) (g : α → β) (hg : Meas
     letI : MeasurableSpace γ := ⊤; haveI : MeasurableSingletonClass γ := ⟨fun _ => trivial⟩
     exact fun x => hg.measurable_extend f₁.measurable f₂.measurable (measurable_set_singleton _)
 #align measure_theory.simple_func.extend MeasureTheory.SimpleFunc.extend
+-/
 
+/- warning: measure_theory.simple_func.extend_apply -> MeasureTheory.SimpleFunc.extend_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (x : α), Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂) (g x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) f₁ x)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ) (x : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂) (g x)) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ f₁ x)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_apply MeasureTheory.SimpleFunc.extend_applyₓ'. -/
 @[simp]
 theorem extend_apply [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) (x : α) : (f₁.extend g hg f₂) (g x) = f₁ x :=
   hg.Injective.extend_apply _ _ _
 #align measure_theory.simple_func.extend_apply MeasureTheory.SimpleFunc.extend_apply
 
+/- warning: measure_theory.simple_func.extend_apply' -> MeasureTheory.SimpleFunc.extend_apply' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) {y : β}, (Not (Exists.{succ u1} α (fun (x : α) => Eq.{succ u2} β (g x) y))) -> (Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂) y) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) f₂ y))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ) {y : β}, (Not (Exists.{succ u2} α (fun (x : α) => Eq.{succ u3} β (g x) y))) -> (Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂) y) (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ f₂ y))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_apply' MeasureTheory.SimpleFunc.extend_apply'ₓ'. -/
 @[simp]
 theorem extend_apply' [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) {y : β} (h : ¬∃ x, g x = y) : (f₁.extend g hg f₂) y = f₂ y :=
   Function.extend_apply' _ _ _ h
 #align measure_theory.simple_func.extend_apply' MeasureTheory.SimpleFunc.extend_apply'
 
+/- warning: measure_theory.simple_func.extend_comp_eq' -> MeasureTheory.SimpleFunc.extend_comp_eq' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ), Eq.{max (succ u1) (succ u3)} (α -> γ) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) (fun (_x : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ) => β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u2, u3} β γ _inst_2) (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂)) g) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) f₁)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ), Eq.{max (succ u2) (succ u1)} (α -> γ) (Function.comp.{succ u2, succ u3, succ u1} α β γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} β _inst_2 γ (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂)) g) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ f₁)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_comp_eq' MeasureTheory.SimpleFunc.extend_comp_eq'ₓ'. -/
 @[simp]
 theorem extend_comp_eq' [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) : f₁.extend g hg f₂ ∘ g = f₁ :=
   funext fun x => extend_apply _ _ _ _
 #align measure_theory.simple_func.extend_comp_eq' MeasureTheory.SimpleFunc.extend_comp_eq'
 
+/- warning: measure_theory.simple_func.extend_comp_eq -> MeasureTheory.SimpleFunc.extend_comp_eq is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u2} β] (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u1, u2} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u2, u3} β _inst_2 γ), Eq.{max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 (MeasureTheory.SimpleFunc.extend.{u1, u2, u3} α β γ _inst_1 _inst_2 f₁ g hg f₂) g (MeasurableEmbedding.measurable.{u1, u2} α β _inst_1 _inst_2 g hg)) f₁
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] (f₁ : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) {g : α -> β} (hg : MeasurableEmbedding.{u2, u3} α β _inst_1 _inst_2 g) (f₂ : MeasureTheory.SimpleFunc.{u3, u1} β _inst_2 γ), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.comp.{u2, u3, u1} α β γ _inst_1 _inst_2 (MeasureTheory.SimpleFunc.extend.{u2, u3, u1} α β γ _inst_1 _inst_2 f₁ g hg f₂) g (MeasurableEmbedding.measurable.{u2, u3} α β _inst_1 _inst_2 g hg)) f₁
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.extend_comp_eq MeasureTheory.SimpleFunc.extend_comp_eqₓ'. -/
 @[simp]
 theorem extend_comp_eq [MeasurableSpace β] (f₁ : α →ₛ γ) {g : α → β} (hg : MeasurableEmbedding g)
     (f₂ : β →ₛ γ) : (f₁.extend g hg f₂).comp g hg.Measurable = f₁ :=
   coe_injective <| extend_comp_eq' _ _ _
 #align measure_theory.simple_func.extend_comp_eq MeasureTheory.SimpleFunc.extend_comp_eq
 
+#print MeasureTheory.SimpleFunc.seq /-
 /-- If `f` is a simple function taking values in `β → γ` and `g` is another simple function
 with the same domain and codomain `β`, then `f.seq g = f a (g a)`. -/
 def seq (f : α →ₛ β → γ) (g : α →ₛ β) : α →ₛ γ :=
   f.bind fun f => g.map f
 #align measure_theory.simple_func.seq MeasureTheory.SimpleFunc.seq
+-/
 
+/- warning: measure_theory.simple_func.seq_apply -> MeasureTheory.SimpleFunc.seq_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (β -> γ)) (g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) (MeasureTheory.SimpleFunc.seq.{u1, u2, u3} α β γ _inst_1 f g) a) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (β -> γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (β -> γ)) => α -> β -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (β -> γ) _inst_1) f a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g a))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, max u2 u1} α _inst_1 (β -> γ)) (g : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (a : α), Eq.{succ u1} γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ (MeasureTheory.SimpleFunc.seq.{u3, u2, u1} α β γ _inst_1 f g) a) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (β -> γ) f a (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β g a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.seq_apply MeasureTheory.SimpleFunc.seq_applyₓ'. -/
 @[simp]
 theorem seq_apply (f : α →ₛ β → γ) (g : α →ₛ β) (a : α) : f.seq g a = f a (g a) :=
   rfl
 #align measure_theory.simple_func.seq_apply MeasureTheory.SimpleFunc.seq_apply
 
+#print MeasureTheory.SimpleFunc.pair /-
 /-- Combine two simple functions `f : α →ₛ β` and `g : α →ₛ β`
 into `λ a, (f a, g a)`. -/
 def pair (f : α →ₛ β) (g : α →ₛ γ) : α →ₛ β × γ :=
   (f.map Prod.mk).seq g
 #align measure_theory.simple_func.pair MeasureTheory.SimpleFunc.pair
+-/
 
+/- warning: measure_theory.simple_func.pair_apply -> MeasureTheory.SimpleFunc.pair_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (a : α), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} β γ) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) => α -> (Prod.{u2, u3} β γ)) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ _inst_1 f g) a) (Prod.mk.{u2, u3} β γ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) g a))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ) (a : α), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ _inst_1 f g) a) (Prod.mk.{u2, u1} β γ (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f a) (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ g a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_apply MeasureTheory.SimpleFunc.pair_applyₓ'. -/
 @[simp]
 theorem pair_apply (f : α →ₛ β) (g : α →ₛ γ) (a) : pair f g a = (f a, g a) :=
   rfl
 #align measure_theory.simple_func.pair_apply MeasureTheory.SimpleFunc.pair_apply
 
+/- warning: measure_theory.simple_func.pair_preimage -> MeasureTheory.SimpleFunc.pair_preimage is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (s : Set.{u2} β) (t : Set.{u3} γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, max u2 u3} α (Prod.{u2, u3} β γ) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) => α -> (Prod.{u2, u3} β γ)) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ _inst_1 f g)) (Set.prod.{u2, u3} β γ s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) g) t))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ) (s : Set.{u2} β) (t : Set.{u1} γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, max u2 u1} α (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ _inst_1 f g)) (Set.prod.{u2, u1} β γ s t)) (Inter.inter.{u3} (Set.{u3} α) (Set.instInterSet.{u3} α) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) s) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ g) t))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_preimage MeasureTheory.SimpleFunc.pair_preimageₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem pair_preimage (f : α →ₛ β) (g : α →ₛ γ) (s : Set β) (t : Set γ) :
     pair f g ⁻¹' s ×ˢ t = f ⁻¹' s ∩ g ⁻¹' t :=
   rfl
 #align measure_theory.simple_func.pair_preimage MeasureTheory.SimpleFunc.pair_preimage
 
+/- warning: measure_theory.simple_func.pair_preimage_singleton -> MeasureTheory.SimpleFunc.pair_preimage_singleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (b : β) (c : γ), Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, max u2 u3} α (Prod.{u2, u3} β γ) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) (fun (_x : MeasureTheory.SimpleFunc.{u1, max u2 u3} α _inst_1 (Prod.{u2, u3} β γ)) => α -> (Prod.{u2, u3} β γ)) (MeasureTheory.SimpleFunc.instCoeFun.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ _inst_1 f g)) (Singleton.singleton.{max u2 u3, max u2 u3} (Prod.{u2, u3} β γ) (Set.{max u2 u3} (Prod.{u2, u3} β γ)) (Set.hasSingleton.{max u2 u3} (Prod.{u2, u3} β γ)) (Prod.mk.{u2, u3} β γ b c))) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) b)) (Set.preimage.{u1, u3} α γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u3} α γ _inst_1) g) (Singleton.singleton.{u3, u3} γ (Set.{u3} γ) (Set.hasSingleton.{u3} γ) c)))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u3} α] (f : MeasureTheory.SimpleFunc.{u3, u2} α _inst_1 β) (g : MeasureTheory.SimpleFunc.{u3, u1} α _inst_1 γ) (b : β) (c : γ), Eq.{succ u3} (Set.{u3} α) (Set.preimage.{u3, max u2 u1} α (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.toFun.{u3, max u2 u1} α _inst_1 (Prod.{u2, u1} β γ) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ _inst_1 f g)) (Singleton.singleton.{max u1 u2, max u2 u1} (Prod.{u2, u1} β γ) (Set.{max u2 u1} (Prod.{u2, u1} β γ)) (Set.instSingletonSet.{max u2 u1} (Prod.{u2, u1} β γ)) (Prod.mk.{u2, u1} β γ b c))) (Inter.inter.{u3} (Set.{u3} α) (Set.instInterSet.{u3} α) (Set.preimage.{u3, u2} α β (MeasureTheory.SimpleFunc.toFun.{u3, u2} α _inst_1 β f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.instSingletonSet.{u2} β) b)) (Set.preimage.{u3, u1} α γ (MeasureTheory.SimpleFunc.toFun.{u3, u1} α _inst_1 γ g) (Singleton.singleton.{u1, u1} γ (Set.{u1} γ) (Set.instSingletonSet.{u1} γ) c)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singletonₓ'. -/
 -- A special form of `pair_preimage`
 theorem pair_preimage_singleton (f : α →ₛ β) (g : α →ₛ γ) (b : β) (c : γ) :
     pair f g ⁻¹' {(b, c)} = f ⁻¹' {b} ∩ g ⁻¹' {c} :=
@@ -430,6 +740,12 @@ theorem pair_preimage_singleton (f : α →ₛ β) (g : α →ₛ γ) (b : β) (
   exact pair_preimage _ _ _ _
 #align measure_theory.simple_func.pair_preimage_singleton MeasureTheory.SimpleFunc.pair_preimage_singleton
 
+/- warning: measure_theory.simple_func.bind_const -> MeasureTheory.SimpleFunc.bind_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.bind.{u1, u2, u2} α β β _inst_1 f (MeasureTheory.SimpleFunc.const.{u1, u2} α β _inst_1)) f
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.bind.{u2, u1, u1} α β β _inst_1 f (MeasureTheory.SimpleFunc.const.{u2, u1} α β _inst_1)) f
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.bind_const MeasureTheory.SimpleFunc.bind_constₓ'. -/
 theorem bind_const (f : α →ₛ β) : f.bind (const α) = f := by ext <;> simp
 #align measure_theory.simple_func.bind_const MeasureTheory.SimpleFunc.bind_const
 
@@ -458,83 +774,120 @@ instance [Inf β] : Inf (α →ₛ β) :=
 instance [LE β] : LE (α →ₛ β) :=
   ⟨fun f g => ∀ a, f a ≤ g a⟩
 
+#print MeasureTheory.SimpleFunc.const_one /-
 @[simp, to_additive]
 theorem const_one [One β] : const α (1 : β) = 1 :=
   rfl
 #align measure_theory.simple_func.const_one MeasureTheory.SimpleFunc.const_one
 #align measure_theory.simple_func.const_zero MeasureTheory.SimpleFunc.const_zero
+-/
 
+#print MeasureTheory.SimpleFunc.coe_one /-
 @[simp, norm_cast, to_additive]
 theorem coe_one [One β] : ⇑(1 : α →ₛ β) = 1 :=
   rfl
 #align measure_theory.simple_func.coe_one MeasureTheory.SimpleFunc.coe_one
 #align measure_theory.simple_func.coe_zero MeasureTheory.SimpleFunc.coe_zero
+-/
 
+#print MeasureTheory.SimpleFunc.coe_mul /-
 @[simp, norm_cast, to_additive]
 theorem coe_mul [Mul β] (f g : α →ₛ β) : ⇑(f * g) = f * g :=
   rfl
 #align measure_theory.simple_func.coe_mul MeasureTheory.SimpleFunc.coe_mul
 #align measure_theory.simple_func.coe_add MeasureTheory.SimpleFunc.coe_add
+-/
 
+#print MeasureTheory.SimpleFunc.coe_inv /-
 @[simp, norm_cast, to_additive]
 theorem coe_inv [Inv β] (f : α →ₛ β) : ⇑f⁻¹ = f⁻¹ :=
   rfl
 #align measure_theory.simple_func.coe_inv MeasureTheory.SimpleFunc.coe_inv
 #align measure_theory.simple_func.coe_neg MeasureTheory.SimpleFunc.coe_neg
+-/
 
+#print MeasureTheory.SimpleFunc.coe_div /-
 @[simp, norm_cast, to_additive]
 theorem coe_div [Div β] (f g : α →ₛ β) : ⇑(f / g) = f / g :=
   rfl
 #align measure_theory.simple_func.coe_div MeasureTheory.SimpleFunc.coe_div
 #align measure_theory.simple_func.coe_sub MeasureTheory.SimpleFunc.coe_sub
+-/
 
+/- warning: measure_theory.simple_func.coe_le -> MeasureTheory.SimpleFunc.coe_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Preorder.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, Iff (LE.le.{max u1 u2} ((fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) f) (Pi.hasLe.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => Preorder.toHasLe.{u2} β _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) g)) (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β _inst_2)) f g)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Preorder.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, Iff (LE.le.{max u1 u2} (α -> β) (Pi.hasLe.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => Preorder.toLE.{u2} β _inst_2)) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β f) (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β g)) (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toLE.{u2} β _inst_2)) f g)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_le MeasureTheory.SimpleFunc.coe_leₓ'. -/
 @[simp, norm_cast]
 theorem coe_le [Preorder β] {f g : α →ₛ β} : (f : α → β) ≤ g ↔ f ≤ g :=
   Iff.rfl
 #align measure_theory.simple_func.coe_le MeasureTheory.SimpleFunc.coe_le
 
+#print MeasureTheory.SimpleFunc.coe_sup /-
 @[simp, norm_cast]
 theorem coe_sup [Sup β] (f g : α →ₛ β) : ⇑(f ⊔ g) = f ⊔ g :=
   rfl
 #align measure_theory.simple_func.coe_sup MeasureTheory.SimpleFunc.coe_sup
+-/
 
+#print MeasureTheory.SimpleFunc.coe_inf /-
 @[simp, norm_cast]
 theorem coe_inf [Inf β] (f g : α →ₛ β) : ⇑(f ⊓ g) = f ⊓ g :=
   rfl
 #align measure_theory.simple_func.coe_inf MeasureTheory.SimpleFunc.coe_inf
+-/
 
+#print MeasureTheory.SimpleFunc.mul_apply /-
 @[to_additive]
 theorem mul_apply [Mul β] (f g : α →ₛ β) (a : α) : (f * g) a = f a * g a :=
   rfl
 #align measure_theory.simple_func.mul_apply MeasureTheory.SimpleFunc.mul_apply
 #align measure_theory.simple_func.add_apply MeasureTheory.SimpleFunc.add_apply
+-/
 
+#print MeasureTheory.SimpleFunc.div_apply /-
 @[to_additive]
 theorem div_apply [Div β] (f g : α →ₛ β) (x : α) : (f / g) x = f x / g x :=
   rfl
 #align measure_theory.simple_func.div_apply MeasureTheory.SimpleFunc.div_apply
 #align measure_theory.simple_func.sub_apply MeasureTheory.SimpleFunc.sub_apply
+-/
 
+#print MeasureTheory.SimpleFunc.inv_apply /-
 @[to_additive]
 theorem inv_apply [Inv β] (f : α →ₛ β) (x : α) : f⁻¹ x = (f x)⁻¹ :=
   rfl
 #align measure_theory.simple_func.inv_apply MeasureTheory.SimpleFunc.inv_apply
 #align measure_theory.simple_func.neg_apply MeasureTheory.SimpleFunc.neg_apply
+-/
 
+#print MeasureTheory.SimpleFunc.sup_apply /-
 theorem sup_apply [Sup β] (f g : α →ₛ β) (a : α) : (f ⊔ g) a = f a ⊔ g a :=
   rfl
 #align measure_theory.simple_func.sup_apply MeasureTheory.SimpleFunc.sup_apply
+-/
 
+#print MeasureTheory.SimpleFunc.inf_apply /-
 theorem inf_apply [Inf β] (f g : α →ₛ β) (a : α) : (f ⊓ g) a = f a ⊓ g a :=
   rfl
 #align measure_theory.simple_func.inf_apply MeasureTheory.SimpleFunc.inf_apply
+-/
 
+/- warning: measure_theory.simple_func.range_one -> MeasureTheory.SimpleFunc.range_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Nonempty.{succ u1} α] [_inst_3 : One.{u2} β], Eq.{succ u2} (Finset.{u2} β) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (OfNat.ofNat.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 1 (OfNat.mk.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 1 (One.one.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instOne.{u1, u2} α β _inst_1 _inst_3))))) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_3))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Nonempty.{succ u2} α] [_inst_3 : One.{u1} β], Eq.{succ u1} (Finset.{u1} β) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (OfNat.ofNat.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) 1 (One.toOfNat1.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.instOne.{u2, u1} α β _inst_1 _inst_3)))) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β _inst_3)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.range_one MeasureTheory.SimpleFunc.range_oneₓ'. -/
 @[simp, to_additive]
 theorem range_one [Nonempty α] [One β] : (1 : α →ₛ β).range = {1} :=
   Finset.ext fun x => by simp [eq_comm]
 #align measure_theory.simple_func.range_one MeasureTheory.SimpleFunc.range_one
 #align measure_theory.simple_func.range_zero MeasureTheory.SimpleFunc.range_zero
 
+#print MeasureTheory.SimpleFunc.range_eq_empty_of_isEmpty /-
 @[simp]
 theorem range_eq_empty_of_isEmpty {β} [hα : IsEmpty α] (f : α →ₛ β) : f.range = ∅ :=
   by
@@ -546,27 +899,42 @@ theorem range_eq_empty_of_isEmpty {β} [hα : IsEmpty α] (f : α →ₛ β) : f
   rw [isEmpty_iff] at hα
   exact hα x
 #align measure_theory.simple_func.range_eq_empty_of_is_empty MeasureTheory.SimpleFunc.range_eq_empty_of_isEmpty
+-/
 
+#print MeasureTheory.SimpleFunc.eq_zero_of_mem_range_zero /-
 theorem eq_zero_of_mem_range_zero [Zero β] : ∀ {y : β}, y ∈ (0 : α →ₛ β).range → y = 0 :=
   forall_range_iff.2 fun x => rfl
 #align measure_theory.simple_func.eq_zero_of_mem_range_zero MeasureTheory.SimpleFunc.eq_zero_of_mem_range_zero
+-/
 
+#print MeasureTheory.SimpleFunc.mul_eq_map₂ /-
 @[to_additive]
 theorem mul_eq_map₂ [Mul β] (f g : α →ₛ β) : f * g = (pair f g).map fun p : β × β => p.1 * p.2 :=
   rfl
 #align measure_theory.simple_func.mul_eq_map₂ MeasureTheory.SimpleFunc.mul_eq_map₂
 #align measure_theory.simple_func.add_eq_map₂ MeasureTheory.SimpleFunc.add_eq_map₂
+-/
 
+#print MeasureTheory.SimpleFunc.sup_eq_map₂ /-
 theorem sup_eq_map₂ [Sup β] (f g : α →ₛ β) : f ⊔ g = (pair f g).map fun p : β × β => p.1 ⊔ p.2 :=
   rfl
 #align measure_theory.simple_func.sup_eq_map₂ MeasureTheory.SimpleFunc.sup_eq_map₂
+-/
 
+#print MeasureTheory.SimpleFunc.const_mul_eq_map /-
 @[to_additive]
 theorem const_mul_eq_map [Mul β] (f : α →ₛ β) (b : β) : const α b * f = f.map fun a => b * a :=
   rfl
 #align measure_theory.simple_func.const_mul_eq_map MeasureTheory.SimpleFunc.const_mul_eq_map
 #align measure_theory.simple_func.const_add_eq_map MeasureTheory.SimpleFunc.const_add_eq_map
+-/
 
+/- warning: measure_theory.simple_func.map_mul -> MeasureTheory.SimpleFunc.map_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Mul.{u2} β] [_inst_3 : Mul.{u3} γ] {g : β -> γ}, (forall (x : β) (y : β), Eq.{succ u3} γ (g (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β _inst_2) x y)) (HMul.hMul.{u3, u3, u3} γ γ γ (instHMul.{u3} γ _inst_3) (g x) (g y))) -> (forall (f₁ : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (f₂ : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u3)} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (instHMul.{max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 γ) (MeasureTheory.SimpleFunc.instMul.{u1, u3} α γ _inst_1 _inst_3)) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f₁) (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ _inst_1 g f₂)))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Mul.{u3} β] [_inst_3 : Mul.{u2} γ] {g : β -> γ}, (forall (x : β) (y : β), Eq.{succ u2} γ (g (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β _inst_2) x y)) (HMul.hMul.{u2, u2, u2} γ γ γ (instHMul.{u2} γ _inst_3) (g x) (g y))) -> (forall (f₁ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (f₂ : MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.map.{u1, u3, u2} α β γ _inst_1 g (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (instHMul.{max u1 u3} (MeasureTheory.SimpleFunc.{u1, u3} α _inst_1 β) (MeasureTheory.SimpleFunc.instMul.{u1, u3} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α γ _inst_1 _inst_3)) (MeasureTheory.SimpleFunc.map.{u1, u3, u2} α β γ _inst_1 g f₁) (MeasureTheory.SimpleFunc.map.{u1, u3, u2} α β γ _inst_1 g f₂)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_mul MeasureTheory.SimpleFunc.map_mulₓ'. -/
 @[to_additive]
 theorem map_mul [Mul β] [Mul γ] {g : β → γ} (hg : ∀ x y, g (x * y) = g x * g y) (f₁ f₂ : α →ₛ β) :
     (f₁ * f₂).map g = f₁.map g * f₂.map g :=
@@ -579,40 +947,56 @@ variable {K : Type _}
 instance [SMul K β] : SMul K (α →ₛ β) :=
   ⟨fun k f => f.map ((· • ·) k)⟩
 
+#print MeasureTheory.SimpleFunc.coe_smul /-
 @[simp]
 theorem coe_smul [SMul K β] (c : K) (f : α →ₛ β) : ⇑(c • f) = c • f :=
   rfl
 #align measure_theory.simple_func.coe_smul MeasureTheory.SimpleFunc.coe_smul
+-/
 
+#print MeasureTheory.SimpleFunc.smul_apply /-
 theorem smul_apply [SMul K β] (k : K) (f : α →ₛ β) (a : α) : (k • f) a = k • f a :=
   rfl
 #align measure_theory.simple_func.smul_apply MeasureTheory.SimpleFunc.smul_apply
+-/
 
+#print MeasureTheory.SimpleFunc.hasNatPow /-
 instance hasNatPow [Monoid β] : Pow (α →ₛ β) ℕ :=
   ⟨fun f n => f.map (· ^ n)⟩
 #align measure_theory.simple_func.has_nat_pow MeasureTheory.SimpleFunc.hasNatPow
+-/
 
+#print MeasureTheory.SimpleFunc.coe_pow /-
 @[simp]
 theorem coe_pow [Monoid β] (f : α →ₛ β) (n : ℕ) : ⇑(f ^ n) = f ^ n :=
   rfl
 #align measure_theory.simple_func.coe_pow MeasureTheory.SimpleFunc.coe_pow
+-/
 
+#print MeasureTheory.SimpleFunc.pow_apply /-
 theorem pow_apply [Monoid β] (n : ℕ) (f : α →ₛ β) (a : α) : (f ^ n) a = f a ^ n :=
   rfl
 #align measure_theory.simple_func.pow_apply MeasureTheory.SimpleFunc.pow_apply
+-/
 
+#print MeasureTheory.SimpleFunc.hasIntPow /-
 instance hasIntPow [DivInvMonoid β] : Pow (α →ₛ β) ℤ :=
   ⟨fun f n => f.map (· ^ n)⟩
 #align measure_theory.simple_func.has_int_pow MeasureTheory.SimpleFunc.hasIntPow
+-/
 
+#print MeasureTheory.SimpleFunc.coe_zpow /-
 @[simp]
 theorem coe_zpow [DivInvMonoid β] (f : α →ₛ β) (z : ℤ) : ⇑(f ^ z) = f ^ z :=
   rfl
 #align measure_theory.simple_func.coe_zpow MeasureTheory.SimpleFunc.coe_zpow
+-/
 
+#print MeasureTheory.SimpleFunc.zpow_apply /-
 theorem zpow_apply [DivInvMonoid β] (z : ℤ) (f : α →ₛ β) (a : α) : (f ^ z) a = f a ^ z :=
   rfl
 #align measure_theory.simple_func.zpow_apply MeasureTheory.SimpleFunc.zpow_apply
+-/
 
 -- TODO: work out how to generate these instances with `to_additive`, which gets confused by the
 -- argument order swap between `coe_smul` and `coe_pow`.
@@ -657,17 +1041,19 @@ instance [CommGroup β] : CommGroup (α →ₛ β) :=
 instance [Semiring K] [AddCommMonoid β] [Module K β] : Module K (α →ₛ β) :=
   Function.Injective.module K ⟨fun f => show α → β from f, coe_zero, coe_add⟩ coe_injective coe_smul
 
+#print MeasureTheory.SimpleFunc.smul_eq_map /-
 theorem smul_eq_map [SMul K β] (k : K) (f : α →ₛ β) : k • f = f.map ((· • ·) k) :=
   rfl
 #align measure_theory.simple_func.smul_eq_map MeasureTheory.SimpleFunc.smul_eq_map
+-/
 
 instance [Preorder β] : Preorder (α →ₛ β) :=
-  { SimpleFunc.hasLe with
+  { SimpleFunc.instLE with
     le_refl := fun f a => le_rfl
     le_trans := fun f g h hfg hgh a => le_trans (hfg _) (hgh a) }
 
 instance [PartialOrder β] : PartialOrder (α →ₛ β) :=
-  { SimpleFunc.preorder with
+  { SimpleFunc.instPreorder with
     le_antisymm := fun f g hfg hgf => ext fun a => le_antisymm (hfg a) (hgf a) }
 
 instance [LE β] [OrderBot β] : OrderBot (α →ₛ β)
@@ -681,25 +1067,31 @@ instance [LE β] [OrderTop β] : OrderTop (α →ₛ β)
   le_top f a := le_top
 
 instance [SemilatticeInf β] : SemilatticeInf (α →ₛ β) :=
-  { SimpleFunc.partialOrder with
+  { SimpleFunc.instPartialOrder with
     inf := (· ⊓ ·)
     inf_le_left := fun f g a => inf_le_left
     inf_le_right := fun f g a => inf_le_right
     le_inf := fun f g h hfh hgh a => le_inf (hfh a) (hgh a) }
 
 instance [SemilatticeSup β] : SemilatticeSup (α →ₛ β) :=
-  { SimpleFunc.partialOrder with
+  { SimpleFunc.instPartialOrder with
     sup := (· ⊔ ·)
     le_sup_left := fun f g a => le_sup_left
     le_sup_right := fun f g a => le_sup_right
     sup_le := fun f g h hfh hgh a => sup_le (hfh a) (hgh a) }
 
 instance [Lattice β] : Lattice (α →ₛ β) :=
-  { SimpleFunc.semilatticeSup, SimpleFunc.semilatticeInf with }
+  { SimpleFunc.instSemilatticeSup, SimpleFunc.instSemilatticeInf with }
 
 instance [LE β] [BoundedOrder β] : BoundedOrder (α →ₛ β) :=
-  { SimpleFunc.orderBot, SimpleFunc.orderTop with }
-
+  { SimpleFunc.instOrderBot, SimpleFunc.instOrderTop with }
+
+/- warning: measure_theory.simple_func.finset_sup_apply -> MeasureTheory.SimpleFunc.finset_sup_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] {f : γ -> (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β)} (s : Finset.{u3} γ) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (Finset.sup.{max u1 u2, u3} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) γ (MeasureTheory.SimpleFunc.instSemilatticeSup.{u1, u2} α β _inst_1 _inst_2) (MeasureTheory.SimpleFunc.instOrderBot.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) _inst_3) s f) a) (Finset.sup.{u2, u3} β γ _inst_2 _inst_3 s (fun (c : γ) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (f c) a))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : SemilatticeSup.{u3} β] [_inst_3 : OrderBot.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2)))] {f : γ -> (MeasureTheory.SimpleFunc.{u2, u3} α _inst_1 β)} (s : Finset.{u1} γ) (a : α), Eq.{succ u3} β (MeasureTheory.SimpleFunc.toFun.{u2, u3} α _inst_1 β (Finset.sup.{max u2 u3, u1} (MeasureTheory.SimpleFunc.{u2, u3} α _inst_1 β) γ (MeasureTheory.SimpleFunc.instSemilatticeSup.{u2, u3} α β _inst_1 _inst_2) (MeasureTheory.SimpleFunc.instOrderBot.{u2, u3} α β _inst_1 (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2))) _inst_3) s f) a) (Finset.sup.{u3, u1} β γ _inst_2 _inst_3 s (fun (c : γ) => MeasureTheory.SimpleFunc.toFun.{u2, u3} α _inst_1 β (f c) a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.finset_sup_apply MeasureTheory.SimpleFunc.finset_sup_applyₓ'. -/
 theorem finset_sup_apply [SemilatticeSup β] [OrderBot β] {f : γ → α →ₛ β} (s : Finset γ) (a : α) :
     s.sup f a = s.sup fun c => f c a :=
   by
@@ -712,17 +1104,31 @@ section Restrict
 
 variable [Zero β]
 
+#print MeasureTheory.SimpleFunc.restrict /-
 /-- Restrict a simple function `f : α →ₛ β` to a set `s`. If `s` is measurable,
 then `f.restrict s a = if a ∈ s then f a else 0`, otherwise `f.restrict s = const α 0`. -/
 def restrict (f : α →ₛ β) (s : Set α) : α →ₛ β :=
   if hs : MeasurableSet s then piecewise s hs f 0 else 0
 #align measure_theory.simple_func.restrict MeasureTheory.SimpleFunc.restrict
+-/
 
+/- warning: measure_theory.simple_func.restrict_of_not_measurable -> MeasureTheory.SimpleFunc.restrict_of_not_measurable is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {s : Set.{u1} α}, (Not (MeasurableSet.{u1} α _inst_1 s)) -> (Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) (OfNat.ofNat.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (OfNat.mk.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (Zero.zero.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u1, u2} α β _inst_1 _inst_2)))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β} {s : Set.{u2} α}, (Not (MeasurableSet.{u2} α _inst_1 s)) -> (Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s) (OfNat.ofNat.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) 0 (Zero.toOfNat0.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u2, u1} α β _inst_1 _inst_2))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_of_not_measurable MeasureTheory.SimpleFunc.restrict_of_not_measurableₓ'. -/
 theorem restrict_of_not_measurable {f : α →ₛ β} {s : Set α} (hs : ¬MeasurableSet s) :
     restrict f s = 0 :=
   dif_neg hs
 #align measure_theory.simple_func.restrict_of_not_measurable MeasureTheory.SimpleFunc.restrict_of_not_measurable
 
+/- warning: measure_theory.simple_func.coe_restrict -> MeasureTheory.SimpleFunc.coe_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s)) (Set.indicator.{u1, u2} α β _inst_2 s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (Eq.{max (succ u2) (succ u1)} (α -> β) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s)) (Set.indicator.{u2, u1} α β _inst_2 s (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrictₓ'. -/
 @[simp]
 theorem coe_restrict (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
     ⇑(restrict f s) = indicator s f :=
@@ -731,50 +1137,106 @@ theorem coe_restrict (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
   rfl
 #align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrict
 
+/- warning: measure_theory.simple_func.restrict_univ -> MeasureTheory.SimpleFunc.restrict_univ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f (Set.univ.{u1} α)) f
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f (Set.univ.{u2} α)) f
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_univ MeasureTheory.SimpleFunc.restrict_univₓ'. -/
 @[simp]
 theorem restrict_univ (f : α →ₛ β) : restrict f univ = f := by simp [restrict]
 #align measure_theory.simple_func.restrict_univ MeasureTheory.SimpleFunc.restrict_univ
 
+/- warning: measure_theory.simple_func.restrict_empty -> MeasureTheory.SimpleFunc.restrict_empty is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (OfNat.ofNat.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (OfNat.mk.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) 0 (Zero.zero.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u1, u2} α β _inst_1 _inst_2))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{max (succ u2) (succ u1)} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.instEmptyCollectionSet.{u2} α))) (OfNat.ofNat.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) 0 (Zero.toOfNat0.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) (MeasureTheory.SimpleFunc.instZero.{u2, u1} α β _inst_1 _inst_2)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_empty MeasureTheory.SimpleFunc.restrict_emptyₓ'. -/
 @[simp]
 theorem restrict_empty (f : α →ₛ β) : restrict f ∅ = 0 := by simp [restrict]
 #align measure_theory.simple_func.restrict_empty MeasureTheory.SimpleFunc.restrict_empty
 
+#print MeasureTheory.SimpleFunc.map_restrict_of_zero /-
 theorem map_restrict_of_zero [Zero γ] {g : β → γ} (hg : g 0 = 0) (f : α →ₛ β) (s : Set α) :
     (f.restrict s).map g = (f.map g).restrict s :=
   ext fun x =>
     if hs : MeasurableSet s then by simp [hs, Set.indicator_comp_of_zero hg]
     else by simp [restrict_of_not_measurable hs, hg]
 #align measure_theory.simple_func.map_restrict_of_zero MeasureTheory.SimpleFunc.map_restrict_of_zero
+-/
 
-theorem map_coe_eNNReal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
+/- warning: measure_theory.simple_func.map_coe_ennreal_restrict -> MeasureTheory.SimpleFunc.map_coe_ennreal_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe)))) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal _inst_1 ENNReal.hasZero (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe)))) f) s)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ENNReal.some (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 instNNRealZero f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal _inst_1 instENNRealZero (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal ENNReal _inst_1 ENNReal.some f) s)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_coe_ennreal_restrict MeasureTheory.SimpleFunc.map_coe_ennreal_restrictₓ'. -/
+theorem map_coe_ennreal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
     (f.restrict s).map (coe : ℝ≥0 → ℝ≥0∞) = (f.map coe).restrict s :=
   map_restrict_of_zero ENNReal.coe_zero _ _
-#align measure_theory.simple_func.map_coe_ennreal_restrict MeasureTheory.SimpleFunc.map_coe_eNNReal_restrict
-
-theorem map_coe_nNReal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
+#align measure_theory.simple_func.map_coe_ennreal_restrict MeasureTheory.SimpleFunc.map_coe_ennreal_restrict
+
+/- warning: measure_theory.simple_func.map_coe_nnreal_restrict -> MeasureTheory.SimpleFunc.map_coe_nnreal_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 Real) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe)))) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α Real _inst_1 Real.hasZero (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe)))) f) s)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (s : Set.{u1} α), Eq.{succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 Real) (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 NNReal.toReal (MeasureTheory.SimpleFunc.restrict.{u1, 0} α NNReal _inst_1 instNNRealZero f s)) (MeasureTheory.SimpleFunc.restrict.{u1, 0} α Real _inst_1 Real.instZeroReal (MeasureTheory.SimpleFunc.map.{u1, 0, 0} α NNReal Real _inst_1 NNReal.toReal f) s)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_coe_nnreal_restrict MeasureTheory.SimpleFunc.map_coe_nnreal_restrictₓ'. -/
+theorem map_coe_nnreal_restrict (f : α →ₛ ℝ≥0) (s : Set α) :
     (f.restrict s).map (coe : ℝ≥0 → ℝ) = (f.map coe).restrict s :=
   map_restrict_of_zero NNReal.coe_zero _ _
-#align measure_theory.simple_func.map_coe_nnreal_restrict MeasureTheory.SimpleFunc.map_coe_nNReal_restrict
-
+#align measure_theory.simple_func.map_coe_nnreal_restrict MeasureTheory.SimpleFunc.map_coe_nnreal_restrict
+
+/- warning: measure_theory.simple_func.restrict_apply -> MeasureTheory.SimpleFunc.restrict_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) a) (Set.indicator.{u1, u2} α β _inst_2 s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) a))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (forall (a : α), Eq.{succ u1} β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s) a) (Set.indicator.{u2, u1} α β _inst_2 s (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_apply MeasureTheory.SimpleFunc.restrict_applyₓ'. -/
 theorem restrict_apply (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) (a) :
     restrict f s a = indicator s f a := by simp only [f.coe_restrict hs]
 #align measure_theory.simple_func.restrict_apply MeasureTheory.SimpleFunc.restrict_apply
 
+/- warning: measure_theory.simple_func.restrict_preimage -> MeasureTheory.SimpleFunc.restrict_preimage is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (forall {t : Set.{u2} β}, (Not (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2))) t)) -> (Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s)) t) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) t))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (forall {t : Set.{u1} β}, (Not (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2)) t)) -> (Eq.{succ u2} (Set.{u2} α) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s)) t) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) s (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) t))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_preimage MeasureTheory.SimpleFunc.restrict_preimageₓ'. -/
 theorem restrict_preimage (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) {t : Set β}
     (ht : (0 : β) ∉ t) : restrict f s ⁻¹' t = s ∩ f ⁻¹' t := by
   simp [hs, indicator_preimage_of_not_mem _ _ ht, inter_comm]
 #align measure_theory.simple_func.restrict_preimage MeasureTheory.SimpleFunc.restrict_preimage
 
+/- warning: measure_theory.simple_func.restrict_preimage_singleton -> MeasureTheory.SimpleFunc.restrict_preimage_singleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) {s : Set.{u1} α}, (MeasurableSet.{u1} α _inst_1 s) -> (forall {r : β}, (Ne.{succ u2} β r (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) -> (Eq.{succ u1} (Set.{u1} α) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s)) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) r)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) r)))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β) {s : Set.{u2} α}, (MeasurableSet.{u2} α _inst_1 s) -> (forall {r : β}, (Ne.{succ u1} β r (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) -> (Eq.{succ u2} (Set.{u2} α) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) r)) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) s (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) r)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_preimage_singleton MeasureTheory.SimpleFunc.restrict_preimage_singletonₓ'. -/
 theorem restrict_preimage_singleton (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) {r : β}
     (hr : r ≠ 0) : restrict f s ⁻¹' {r} = s ∩ f ⁻¹' {r} :=
   f.restrictPreimage hs hr.symm
 #align measure_theory.simple_func.restrict_preimage_singleton MeasureTheory.SimpleFunc.restrict_preimage_singleton
 
+/- warning: measure_theory.simple_func.mem_restrict_range -> MeasureTheory.SimpleFunc.mem_restrict_range is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {r : β} {s : Set.{u1} α} {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (MeasurableSet.{u1} α _inst_1 s) -> (Iff (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) r (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s))) (Or (And (Eq.{succ u2} β r (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (Ne.{succ u1} (Set.{u1} α) s (Set.univ.{u1} α))) (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) r (Set.image.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] {r : β} {s : Set.{u2} α} {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}, (MeasurableSet.{u2} α _inst_1 s) -> (Iff (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) r (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s))) (Or (And (Eq.{succ u1} β r (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (Ne.{succ u2} (Set.{u2} α) s (Set.univ.{u2} α))) (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) r (Set.image.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) s))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_restrict_range MeasureTheory.SimpleFunc.mem_restrict_rangeₓ'. -/
 theorem mem_restrict_range {r : β} {s : Set α} {f : α →ₛ β} (hs : MeasurableSet s) :
     r ∈ (restrict f s).range ↔ r = 0 ∧ s ≠ univ ∨ r ∈ f '' s := by
   rw [← Finset.mem_coe, coe_range, coe_restrict _ hs, mem_range_indicator]
 #align measure_theory.simple_func.mem_restrict_range MeasureTheory.SimpleFunc.mem_restrict_range
 
+/- warning: measure_theory.simple_func.mem_image_of_mem_range_restrict -> MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] {r : β} {s : Set.{u1} α} {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) r (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s))) -> (Ne.{succ u2} β r (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) -> (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) r (Set.image.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) s))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] {r : β} {s : Set.{u2} α} {f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β}, (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) r (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.restrict.{u2, u1} α β _inst_1 _inst_2 f s))) -> (Ne.{succ u1} β r (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) -> (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) r (Set.image.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) s))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrictₓ'. -/
 theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     (hr : r ∈ (restrict f s).range) (h0 : r ≠ 0) : r ∈ f '' s :=
   if hs : MeasurableSet s then by simpa [mem_restrict_range hs, h0] using hr
@@ -783,6 +1245,12 @@ theorem mem_image_of_mem_range_restrict {r : β} {s : Set α} {f : α →ₛ β}
     exact (h0 <| eq_zero_of_mem_range_zero hr).elim
 #align measure_theory.simple_func.mem_image_of_mem_range_restrict MeasureTheory.SimpleFunc.mem_image_of_mem_range_restrict
 
+/- warning: measure_theory.simple_func.restrict_mono -> MeasureTheory.SimpleFunc.restrict_mono is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Preorder.{u2} β] (s : Set.{u1} α) {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β _inst_3)) f g) -> (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toHasLe.{u2} β _inst_3)) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 g s))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Preorder.{u2} β] (s : Set.{u1} α) {f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β} {g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β}, (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toLE.{u2} β _inst_3)) f g) -> (LE.le.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (MeasureTheory.SimpleFunc.instLE.{u1, u2} α β _inst_1 (Preorder.toLE.{u2} β _inst_3)) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 f s) (MeasureTheory.SimpleFunc.restrict.{u1, u2} α β _inst_1 _inst_2 g s))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_mono MeasureTheory.SimpleFunc.restrict_monoₓ'. -/
 @[mono]
 theorem restrict_mono [Preorder β] (s : Set α) {f g : α →ₛ β} (H : f ≤ g) :
     f.restrict s ≤ g.restrict s :=
@@ -799,6 +1267,12 @@ section
 
 variable [SemilatticeSup β] [OrderBot β] [Zero β]
 
+/- warning: measure_theory.simple_func.approx -> MeasureTheory.SimpleFunc.approx is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β], (Nat -> β) -> (α -> β) -> Nat -> (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β], (Nat -> β) -> (α -> β) -> Nat -> (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx MeasureTheory.SimpleFunc.approxₓ'. -/
 /-- Fix a sequence `i : ℕ → β`. Given a function `α → β`, its `n`-th approximation
 by simple functions is defined so that in case `β = ℝ≥0∞` it sends each `a` to the supremum
 of the set `{i k | k ≤ n ∧ i k ≤ f a}`, see `approx_apply` and `supr_approx_apply` for details. -/
@@ -806,6 +1280,12 @@ def approx (i : ℕ → β) (f : α → β) (n : ℕ) : α →ₛ β :=
   (Finset.range n).sup fun k => restrict (const α (i k)) { a : α | i k ≤ f a }
 #align measure_theory.simple_func.approx MeasureTheory.SimpleFunc.approx
 
+/- warning: measure_theory.simple_func.approx_apply -> MeasureTheory.SimpleFunc.approx_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] [_inst_5 : TopologicalSpace.{u2} β] [_inst_6 : OrderClosedTopology.{u2} β _inst_5 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))] [_inst_7 : MeasurableSpace.{u2} β] [_inst_8 : OpensMeasurableSpace.{u2} β _inst_5 _inst_7] {i : Nat -> β} {f : α -> β} {n : Nat} (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_7 f) -> (Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f n) a) (Finset.sup.{u2, 0} β Nat _inst_2 _inst_3 (Finset.range n) (fun (k : Nat) => ite.{succ u2} β (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a)) (Classical.propDecidable (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a))) (i k) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_4))))))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] [_inst_5 : TopologicalSpace.{u2} β] [_inst_6 : OrderClosedTopology.{u2} β _inst_5 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))] [_inst_7 : MeasurableSpace.{u2} β] [_inst_8 : OpensMeasurableSpace.{u2} β _inst_5 _inst_7] {i : Nat -> β} {f : α -> β} {n : Nat} (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_7 f) -> (Eq.{succ u2} β (MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f n) a) (Finset.sup.{u2, 0} β Nat _inst_2 _inst_3 (Finset.range n) (fun (k : Nat) => ite.{succ u2} β (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a)) (Classical.propDecidable (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (i k) (f a))) (i k) (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_4)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx_apply MeasureTheory.SimpleFunc.approx_applyₓ'. -/
 theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] {i : ℕ → β} {f : α → β} {n : ℕ} (a : α) (hf : Measurable f) :
     (approx i f n : α →ₛ β) a = (Finset.range n).sup fun k => if i k ≤ f a then i k else 0 :=
@@ -819,10 +1299,22 @@ theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableS
   exact hf measurableSet_Ici
 #align measure_theory.simple_func.approx_apply MeasureTheory.SimpleFunc.approx_apply
 
+/- warning: measure_theory.simple_func.monotone_approx -> MeasureTheory.SimpleFunc.monotone_approx is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] (i : Nat -> β) (f : α -> β), Monotone.{0, max u1 u2} Nat (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (MeasureTheory.SimpleFunc.instPreorder.{u1, u2} α β _inst_1 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] (i : Nat -> β) (f : α -> β), Monotone.{0, max u2 u1} Nat (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (MeasureTheory.SimpleFunc.instPreorder.{u1, u2} α β _inst_1 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approxₓ'. -/
 theorem monotone_approx (i : ℕ → β) (f : α → β) : Monotone (approx i f) := fun n m h =>
   Finset.sup_mono <| Finset.range_subset.2 h
 #align measure_theory.simple_func.monotone_approx MeasureTheory.SimpleFunc.monotone_approx
 
+/- warning: measure_theory.simple_func.approx_comp -> MeasureTheory.SimpleFunc.approx_comp is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u2} β] [_inst_3 : OrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2)))] [_inst_4 : Zero.{u2} β] [_inst_5 : TopologicalSpace.{u2} β] [_inst_6 : OrderClosedTopology.{u2} β _inst_5 (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_2))] [_inst_7 : MeasurableSpace.{u2} β] [_inst_8 : OpensMeasurableSpace.{u2} β _inst_5 _inst_7] [_inst_9 : MeasurableSpace.{u3} γ] {i : Nat -> β} {f : γ -> β} {g : α -> γ} {n : Nat} (a : α), (Measurable.{u3, u2} γ β _inst_9 _inst_7 f) -> (Measurable.{u1, u3} α γ _inst_1 _inst_9 g) -> (Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 i (Function.comp.{succ u1, succ u3, succ u2} α γ β f g) n) a) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (MeasureTheory.SimpleFunc.{u3, u2} γ _inst_9 β) (fun (_x : MeasureTheory.SimpleFunc.{u3, u2} γ _inst_9 β) => γ -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u3, u2} γ β _inst_9) (MeasureTheory.SimpleFunc.approx.{u3, u2} γ β _inst_9 _inst_2 _inst_3 _inst_4 i f n) (g a)))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : SemilatticeSup.{u3} β] [_inst_3 : OrderBot.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2)))] [_inst_4 : Zero.{u3} β] [_inst_5 : TopologicalSpace.{u3} β] [_inst_6 : OrderClosedTopology.{u3} β _inst_5 (PartialOrder.toPreorder.{u3} β (SemilatticeSup.toPartialOrder.{u3} β _inst_2))] [_inst_7 : MeasurableSpace.{u3} β] [_inst_8 : OpensMeasurableSpace.{u3} β _inst_5 _inst_7] [_inst_9 : MeasurableSpace.{u2} γ] {i : Nat -> β} {f : γ -> β} {g : α -> γ} {n : Nat} (a : α), (Measurable.{u2, u3} γ β _inst_9 _inst_7 f) -> (Measurable.{u1, u2} α γ _inst_1 _inst_9 g) -> (Eq.{succ u3} β (MeasureTheory.SimpleFunc.toFun.{u1, u3} α _inst_1 β (MeasureTheory.SimpleFunc.approx.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4 i (Function.comp.{succ u1, succ u2, succ u3} α γ β f g) n) a) (MeasureTheory.SimpleFunc.toFun.{u2, u3} γ _inst_9 β (MeasureTheory.SimpleFunc.approx.{u2, u3} γ β _inst_9 _inst_2 _inst_3 _inst_4 i f n) (g a)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.approx_comp MeasureTheory.SimpleFunc.approx_compₓ'. -/
 theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSpace β]
     [OpensMeasurableSpace β] [MeasurableSpace γ] {i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
     (hf : Measurable f) (hg : Measurable g) :
@@ -832,6 +1324,12 @@ theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSp
 
 end
 
+/- warning: measure_theory.simple_func.supr_approx_apply -> MeasureTheory.SimpleFunc.iSup_approx_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : CompleteLattice.{u2} β] [_inst_4 : OrderClosedTopology.{u2} β _inst_2 (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_3)))] [_inst_5 : Zero.{u2} β] [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : OpensMeasurableSpace.{u2} β _inst_2 _inst_6] (i : Nat -> β) (f : α -> β) (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_6 f) -> (Eq.{succ u2} β (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_5))) (Bot.bot.{u2} β (CompleteLattice.toHasBot.{u2} β _inst_3))) -> (Eq.{succ u2} β (iSup.{u2, 1} β (ConditionallyCompleteLattice.toHasSup.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (n : Nat) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3))) (BoundedOrder.toOrderBot.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)))))) (CompleteLattice.toBoundedOrder.{u2} β _inst_3)) _inst_5 i f n) a)) (iSup.{u2, 1} β (ConditionallyCompleteLattice.toHasSup.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (k : Nat) => iSup.{u2, 0} β (ConditionallyCompleteLattice.toHasSup.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_3)))) (i k) (f a)) (fun (h : LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_3)))) (i k) (f a)) => i k))))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : CompleteLattice.{u2} β] [_inst_4 : OrderClosedTopology.{u2} β _inst_2 (PartialOrder.toPreorder.{u2} β (OmegaCompletePartialOrder.toPartialOrder.{u2} β (CompleteLattice.instOmegaCompletePartialOrder.{u2} β _inst_3)))] [_inst_5 : Zero.{u2} β] [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : OpensMeasurableSpace.{u2} β _inst_2 _inst_6] (i : Nat -> β) (f : α -> β) (a : α), (Measurable.{u1, u2} α β _inst_1 _inst_6 f) -> (Eq.{succ u2} β (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_5)) (Bot.bot.{u2} β (CompleteLattice.toBot.{u2} β _inst_3))) -> (Eq.{succ u2} β (iSup.{u2, 1} β (ConditionallyCompleteLattice.toSupSet.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (n : Nat) => MeasureTheory.SimpleFunc.toFun.{u1, u2} α _inst_1 β (MeasureTheory.SimpleFunc.approx.{u1, u2} α β _inst_1 (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3))) (BoundedOrder.toOrderBot.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β (Lattice.toSemilatticeSup.{u2} β (ConditionallyCompleteLattice.toLattice.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)))))) (CompleteLattice.toBoundedOrder.{u2} β _inst_3)) _inst_5 i f n) a)) (iSup.{u2, 1} β (ConditionallyCompleteLattice.toSupSet.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) Nat (fun (k : Nat) => iSup.{u2, 0} β (ConditionallyCompleteLattice.toSupSet.{u2} β (CompleteLattice.toConditionallyCompleteLattice.{u2} β _inst_3)) (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OmegaCompletePartialOrder.toPartialOrder.{u2} β (CompleteLattice.instOmegaCompletePartialOrder.{u2} β _inst_3)))) (i k) (f a)) (fun (h : LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OmegaCompletePartialOrder.toPartialOrder.{u2} β (CompleteLattice.instOmegaCompletePartialOrder.{u2} β _inst_3)))) (i k) (f a)) => i k))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.supr_approx_apply MeasureTheory.SimpleFunc.iSup_approx_applyₓ'. -/
 theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
     (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (h : i k ≤ f a), i k :=
@@ -853,20 +1351,36 @@ end Approx
 
 section Eapprox
 
+#print MeasureTheory.SimpleFunc.ennrealRatEmbed /-
 /-- A sequence of `ℝ≥0∞`s such that its range is the set of non-negative rational numbers. -/
 def ennrealRatEmbed (n : ℕ) : ℝ≥0∞ :=
   ENNReal.ofReal ((Encodable.decode ℚ n).getD (0 : ℚ))
 #align measure_theory.simple_func.ennreal_rat_embed MeasureTheory.SimpleFunc.ennrealRatEmbed
+-/
 
+/- warning: measure_theory.simple_func.ennreal_rat_embed_encode -> MeasureTheory.SimpleFunc.ennrealRatEmbed_encode is a dubious translation:
+lean 3 declaration is
+  forall (q : Rat), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.ennrealRatEmbed (Encodable.encode.{0} Rat Rat.encodable q)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (Real.toNNReal ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Rat Real (HasLiftT.mk.{1, 1} Rat Real (CoeTCₓ.coe.{1, 1} Rat Real (Rat.castCoe.{0} Real Real.hasRatCast))) q)))
+but is expected to have type
+  forall (q : Rat), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.ennrealRatEmbed (Encodable.encode.{0} Rat Rat.instEncodableRat q)) (ENNReal.some (Real.toNNReal (Rat.cast.{0} Real Real.ratCast q)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.ennreal_rat_embed_encode MeasureTheory.SimpleFunc.ennrealRatEmbed_encodeₓ'. -/
 theorem ennrealRatEmbed_encode (q : ℚ) : ennrealRatEmbed (Encodable.encode q) = Real.toNNReal q :=
   by rw [ennreal_rat_embed, Encodable.encodek] <;> rfl
 #align measure_theory.simple_func.ennreal_rat_embed_encode MeasureTheory.SimpleFunc.ennrealRatEmbed_encode
 
+#print MeasureTheory.SimpleFunc.eapprox /-
 /-- Approximate a function `α → ℝ≥0∞` by a sequence of simple functions. -/
 def eapprox : (α → ℝ≥0∞) → ℕ → α →ₛ ℝ≥0∞ :=
   approx ennrealRatEmbed
 #align measure_theory.simple_func.eapprox MeasureTheory.SimpleFunc.eapprox
+-/
 
+/- warning: measure_theory.simple_func.eapprox_lt_top -> MeasureTheory.SimpleFunc.eapprox_lt_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal _inst_1) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 ENNReal (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.eapprox_lt_top MeasureTheory.SimpleFunc.eapprox_lt_topₓ'. -/
 theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n a < ∞ :=
   by
   simp only [eapprox, approx, finset_sup_apply, Finset.sup_lt_iff, WithTop.zero_lt_top,
@@ -883,11 +1397,23 @@ theorem eapprox_lt_top (f : α → ℝ≥0∞) (n : ℕ) (a : α) : eapprox f n
   · exact WithTop.zero_lt_top
 #align measure_theory.simple_func.eapprox_lt_top MeasureTheory.SimpleFunc.eapprox_lt_top
 
+/- warning: measure_theory.simple_func.monotone_eapprox -> MeasureTheory.SimpleFunc.monotone_eapprox is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), Monotone.{0, u1} Nat (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (MeasureTheory.SimpleFunc.instPreorder.{u1, 0} α ENNReal _inst_1 (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), Monotone.{0, u1} Nat (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (MeasureTheory.SimpleFunc.instPreorder.{u1, 0} α ENNReal _inst_1 (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapproxₓ'. -/
 @[mono]
 theorem monotone_eapprox (f : α → ℝ≥0∞) : Monotone (eapprox f) :=
   monotone_approx _ f
 #align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapprox
 
+/- warning: measure_theory.simple_func.supr_eapprox_apply -> MeasureTheory.SimpleFunc.iSup_eapprox_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) Nat (fun (n : Nat) => coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal _inst_1) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)) (f a))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) Nat (fun (n : Nat) => MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 ENNReal (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)) (f a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.iSup_eapprox_applyₓ'. -/
 theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (⨆ n, (eapprox f n : α →ₛ ℝ≥0∞) a) = f a :=
   by
@@ -905,18 +1431,28 @@ theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α)
   exact lt_irrefl _ (lt_of_le_of_lt this lt_q)
 #align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.iSup_eapprox_apply
 
+#print MeasureTheory.SimpleFunc.eapprox_comp /-
 theorem eapprox_comp [MeasurableSpace γ] {f : γ → ℝ≥0∞} {g : α → γ} {n : ℕ} (hf : Measurable f)
     (hg : Measurable g) : (eapprox (f ∘ g) n : α → ℝ≥0∞) = (eapprox f n : γ →ₛ ℝ≥0∞) ∘ g :=
   funext fun a => approx_comp a hf hg
 #align measure_theory.simple_func.eapprox_comp MeasureTheory.SimpleFunc.eapprox_comp
+-/
 
+#print MeasureTheory.SimpleFunc.eapproxDiff /-
 /-- Approximate a function `α → ℝ≥0∞` by a series of simple functions taking their values
 in `ℝ≥0`. -/
 def eapproxDiff (f : α → ℝ≥0∞) : ∀ n : ℕ, α →ₛ ℝ≥0
   | 0 => (eapprox f 0).map ENNReal.toNNReal
   | n + 1 => (eapprox f (n + 1) - eapprox f n).map ENNReal.toNNReal
 #align measure_theory.simple_func.eapprox_diff MeasureTheory.SimpleFunc.eapproxDiff
+-/
 
+/- warning: measure_theory.simple_func.sum_eapprox_diff -> MeasureTheory.SimpleFunc.sum_eapproxDiff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), Eq.{1} ENNReal (Finset.sum.{0, 0} ENNReal Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Finset.range (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (k : Nat) => (fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) => α -> NNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α NNReal _inst_1) (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f k) a))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal _inst_1) (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal) (n : Nat) (a : α), Eq.{1} ENNReal (Finset.sum.{0, 0} ENNReal Nat (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Finset.range (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (k : Nat) => ENNReal.some (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 NNReal (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f k) a))) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 ENNReal (MeasureTheory.SimpleFunc.eapprox.{u1} α _inst_1 f n) a)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.sum_eapprox_diff MeasureTheory.SimpleFunc.sum_eapproxDiffₓ'. -/
 theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     (∑ k in Finset.range (n + 1), (eapproxDiff f k a : ℝ≥0∞)) = eapprox f n a :=
   by
@@ -931,6 +1467,12 @@ theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
     exact le_self_add
 #align measure_theory.simple_func.sum_eapprox_diff MeasureTheory.SimpleFunc.sum_eapproxDiff
 
+/- warning: measure_theory.simple_func.tsum_eapprox_diff -> MeasureTheory.SimpleFunc.tsum_eapproxDiff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (tsum.{0, 0} ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) ENNReal.topologicalSpace Nat (fun (n : Nat) => (fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 NNReal) => α -> NNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α NNReal _inst_1) (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f n) a))) (f a))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : α -> ENNReal), (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (forall (a : α), Eq.{1} ENNReal (tsum.{0, 0} ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) ENNReal.instTopologicalSpaceENNReal Nat (fun (n : Nat) => ENNReal.some (MeasureTheory.SimpleFunc.toFun.{u1, 0} α _inst_1 NNReal (MeasureTheory.SimpleFunc.eapproxDiff.{u1} α _inst_1 f n) a))) (f a))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.tsum_eapprox_diff MeasureTheory.SimpleFunc.tsum_eapproxDiffₓ'. -/
 theorem tsum_eapproxDiff (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (∑' n, (eapproxDiff f n a : ℝ≥0∞)) = f a := by
   simp_rw [ENNReal.tsum_eq_iSup_nat' (tendsto_add_at_top_nat 1), sum_eapprox_diff,
@@ -945,11 +1487,19 @@ section Measure
 
 variable {m : MeasurableSpace α} {μ ν : Measure α}
 
+#print MeasureTheory.SimpleFunc.lintegral /-
 /-- Integral of a simple function whose codomain is `ℝ≥0∞`. -/
 def lintegral {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (μ : Measure α) : ℝ≥0∞ :=
   ∑ x in f.range, x * μ (f ⁻¹' {x})
 #align measure_theory.simple_func.lintegral MeasureTheory.SimpleFunc.lintegral
+-/
 
+/- warning: measure_theory.simple_func.lintegral_eq_of_subset -> MeasureTheory.SimpleFunc.lintegral_eq_of_subset is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (forall (x : α), (Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f x) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f x)))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Membership.Mem.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.hasMem.{0} ENNReal) (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f x) s)) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) x (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) x))))))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (forall (x : α), (Ne.{1} ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f x) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Ne.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f x)))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Membership.mem.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.instMembershipFinset.{0} ENNReal) (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f x) s)) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) x (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) x))))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subsetₓ'. -/
 theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞}
     (hs : ∀ x, f x ≠ 0 → μ (f ⁻¹' {f x}) ≠ 0 → f x ∈ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) :=
@@ -966,12 +1516,24 @@ theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞
     rfl
 #align measure_theory.simple_func.lintegral_eq_of_subset MeasureTheory.SimpleFunc.lintegral_eq_of_subset
 
+/- warning: measure_theory.simple_func.lintegral_eq_of_subset' -> MeasureTheory.SimpleFunc.lintegral_eq_of_subset' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (HasSubset.Subset.{0} (Finset.{0} ENNReal) (Finset.hasSubset.{0} ENNReal) (SDiff.sdiff.{0} (Finset.{0} ENNReal) (Finset.hasSdiff.{0} ENNReal (fun (a : ENNReal) (b : ENNReal) => Option.decidableEq.{0} NNReal (fun (a : NNReal) (b : NNReal) => Subtype.decidableEq.{0} Real (fun (x : Real) => LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) x) (fun (a : Real) (b : Real) => Real.decidableEq a b) a b) a b)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (Singleton.singleton.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.hasSingleton.{0} ENNReal) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))))) s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) x (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) x))))))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Finset.{0} ENNReal}, (HasSubset.Subset.{0} (Finset.{0} ENNReal) (Finset.instHasSubsetFinset.{0} ENNReal) (SDiff.sdiff.{0} (Finset.{0} ENNReal) (Finset.instSDiffFinset.{0} ENNReal (fun (a : ENNReal) (b : ENNReal) => instDecidableEq.{0} ENNReal (instLinearOrder.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) a b)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (Singleton.singleton.{0, 0} ENNReal (Finset.{0} ENNReal) (Finset.instSingletonFinset.{0} ENNReal) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)))) s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) s (fun (x : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) x (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) x))))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_eq_of_subset' MeasureTheory.SimpleFunc.lintegral_eq_of_subset'ₓ'. -/
 theorem lintegral_eq_of_subset' (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞} (hs : f.range \ {0} ⊆ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) :=
   f.lintegral_eq_of_subset fun x hfx _ =>
     hs <| Finset.mem_sdiff.2 ⟨f.mem_range_self x, mt Finset.mem_singleton.1 hfx⟩
 #align measure_theory.simple_func.lintegral_eq_of_subset' MeasureTheory.SimpleFunc.lintegral_eq_of_subset'
 
+/- warning: measure_theory.simple_func.map_lintegral -> MeasureTheory.SimpleFunc.map_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (g : β -> ENNReal) (f : MeasureTheory.SimpleFunc.{u1, u2} α m β), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.map.{u1, u2, 0} α β ENNReal m g f) μ) (Finset.sum.{0, u2} ENNReal β (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β m f) (fun (x : β) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) (g x) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) x)))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} {μ : MeasureTheory.Measure.{u2} α m} (g : β -> ENNReal) (f : MeasureTheory.SimpleFunc.{u2, u1} α m β), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u2} α m (MeasureTheory.SimpleFunc.map.{u2, u1, 0} α β ENNReal m g f) μ) (Finset.sum.{0, u1} ENNReal β (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u2, u1} α β m f) (fun (x : β) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (g x) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.map_lintegral MeasureTheory.SimpleFunc.map_lintegralₓ'. -/
 /-- Calculate the integral of `(g ∘ f)`, where `g : β → ℝ≥0∞` and `f : α →ₛ β`.  -/
 theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
     (f.map g).lintegral μ = ∑ x in f.range, g x * μ (f ⁻¹' {x}) :=
@@ -988,6 +1550,12 @@ theorem map_lintegral (g : β → ℝ≥0∞) (f : α →ₛ β) :
     rw [h]
 #align measure_theory.simple_func.map_lintegral MeasureTheory.SimpleFunc.map_lintegral
 
+/- warning: measure_theory.simple_func.add_lintegral -> MeasureTheory.SimpleFunc.add_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHAdd.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instAdd.{u1, 0} α ENNReal m (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) f g) μ) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHAdd.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instAdd.{u1, 0} α ENNReal m (Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))))) f g) μ) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.add_lintegral MeasureTheory.SimpleFunc.add_lintegralₓ'. -/
 theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.lintegral μ + g.lintegral μ :=
   calc
     (f + g).lintegral μ =
@@ -1003,6 +1571,12 @@ theorem add_lintegral (f g : α →ₛ ℝ≥0∞) : (f + g).lintegral μ = f.li
     
 #align measure_theory.simple_func.add_lintegral MeasureTheory.SimpleFunc.add_lintegral
 
+/- warning: measure_theory.simple_func.const_mul_lintegral -> MeasureTheory.SimpleFunc.const_mul_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (x : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HMul.hMul.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHMul.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instMul.{u1, 0} α ENNReal m (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m x) f) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) x (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (x : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (HMul.hMul.{u1, u1, u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (instHMul.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instMul.{u1, 0} α ENNReal m (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m x) f) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) x (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegralₓ'. -/
 theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     (const α x * f).lintegral μ = x * f.lintegral μ :=
   calc
@@ -1013,6 +1587,12 @@ theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     
 #align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegral
 
+/- warning: measure_theory.simple_func.lintegralₗ -> MeasureTheory.SimpleFunc.lintegralₗ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α}, LinearMap.{0, 0, u1, u1} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (LinearMap.{0, 0, u1, 0} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (MeasureTheory.Measure.{u1} α m) ENNReal (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_1 m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (MeasureTheory.SimpleFunc.instAddCommMonoid.{u1, 0} α ENNReal m (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (LinearMap.addCommMonoid.{0, 0, u1, 0} ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_1 m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))) (MeasureTheory.SimpleFunc.instModule.{u1, 0, 0} α ENNReal m ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (LinearMap.module.{0, 0, 0, u1, 0} ENNReal ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_1 m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) MeasureTheory.SimpleFunc.lintegralₗ._proof_2)
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α}, LinearMap.{0, 0, u1, u1} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (LinearMap.{0, 0, u1, 0} ENNReal ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (MeasureTheory.Measure.{u1} α m) ENNReal (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (MeasureTheory.SimpleFunc.instAddCommMonoid.{u1, 0} α ENNReal m (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal))) (LinearMap.addCommMonoid.{0, 0, u1, 0} ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))))) (MeasureTheory.SimpleFunc.instModule.{u1, 0, 0} α ENNReal m ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, u1, 0} ENNReal ENNReal ENNReal (MeasureTheory.Measure.{u1} α m) ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (MeasureTheory.Measure.instAddCommMonoid.{u1} α m) (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.Measure.instModule.{u1, 0} α ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (RingHom.id.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Semiring.toModule.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) (smulCommClass_self.{0, 0} ENNReal ENNReal (LinearOrderedCommMonoid.toCommMonoid.{0} ENNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} ENNReal ENNReal.instLinearOrderedCommMonoidWithZeroENNReal)) (MulActionWithZero.toMulAction.{0, 0} ENNReal ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) instENNRealZero (MonoidWithZero.toMulActionWithZero.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegralₗ MeasureTheory.SimpleFunc.lintegralₗₓ'. -/
 /-- Integral of a simple function `α →ₛ ℝ≥0∞` as a bilinear map. -/
 def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥0∞] Measure α →ₗ[ℝ≥0∞] ℝ≥0∞
     where
@@ -1024,24 +1604,54 @@ def lintegralₗ {m : MeasurableSpace α} : (α →ₛ ℝ≥0∞) →ₗ[ℝ≥
   map_smul' c f := LinearMap.ext fun μ => const_mul_lintegral f c
 #align measure_theory.simple_func.lintegralₗ MeasureTheory.SimpleFunc.lintegralₗ
 
+/- warning: measure_theory.simple_func.zero_lintegral -> MeasureTheory.SimpleFunc.zero_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m}, Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (OfNat.ofNat.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) 0 (OfNat.mk.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) 0 (Zero.zero.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instZero.{u1, 0} α ENNReal m ENNReal.hasZero)))) μ) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m}, Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (OfNat.ofNat.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) 0 (Zero.toOfNat0.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instZero.{u1, 0} α ENNReal m instENNRealZero))) μ) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.zero_lintegral MeasureTheory.SimpleFunc.zero_lintegralₓ'. -/
 @[simp]
 theorem zero_lintegral : (0 : α →ₛ ℝ≥0∞).lintegral μ = 0 :=
   LinearMap.ext_iff.1 lintegralₗ.map_zero μ
 #align measure_theory.simple_func.zero_lintegral MeasureTheory.SimpleFunc.zero_lintegral
 
+/- warning: measure_theory.simple_func.lintegral_add -> MeasureTheory.SimpleFunc.lintegral_add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (instHAdd.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instAdd.{u1} α m)) μ ν)) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f ν))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (HAdd.hAdd.{u1, u1, u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (instHAdd.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instAdd.{u1} α m)) μ ν)) (HAdd.hAdd.{0, 0, 0} ENNReal ENNReal ENNReal (instHAdd.{0} ENNReal (Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f ν))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_add MeasureTheory.SimpleFunc.lintegral_addₓ'. -/
 theorem lintegral_add {ν} (f : α →ₛ ℝ≥0∞) : f.lintegral (μ + ν) = f.lintegral μ + f.lintegral ν :=
   (lintegralₗ f).map_add μ ν
 #align measure_theory.simple_func.lintegral_add MeasureTheory.SimpleFunc.lintegral_add
 
+/- warning: measure_theory.simple_func.lintegral_smul -> MeasureTheory.SimpleFunc.lintegral_smul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (SMul.smul.{0, u1} ENNReal (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instSMul.{u1, 0} α ENNReal (SMulZeroClass.toHasSmul.{0, 0} ENNReal ENNReal (AddZeroClass.toHasZero.{0} ENNReal (AddMonoid.toAddZeroClass.{0} ENNReal (AddCommMonoid.toAddMonoid.{0} ENNReal (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (SMulWithZero.toSmulZeroClass.{0, 0} ENNReal ENNReal (MulZeroClass.toHasZero.{0} ENNReal (MulZeroOneClass.toMulZeroClass.{0} ENNReal (MonoidWithZero.toMulZeroOneClass.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))) (AddZeroClass.toHasZero.{0} ENNReal (AddMonoid.toAddZeroClass.{0} ENNReal (AddCommMonoid.toAddMonoid.{0} ENNReal (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (MulActionWithZero.toSMulWithZero.{0, 0} ENNReal ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (AddZeroClass.toHasZero.{0} ENNReal (AddMonoid.toAddZeroClass.{0} ENNReal (AddCommMonoid.toAddMonoid.{0} ENNReal (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) (Module.toMulActionWithZero.{0, 0} ENNReal ENNReal (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))) (Algebra.toModule.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))) m) c μ)) (SMul.smul.{0, 0} ENNReal ENNReal (Mul.toSMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (HSMul.hSMul.{0, u1, u1} ENNReal (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.{u1} α m) (instHSMul.{0, u1} ENNReal (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instSMul.{u1, 0} α ENNReal (Algebra.toSMul.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (IsScalarTower.right.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (CommSemiring.toSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) m)) c μ)) (HSMul.hSMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHSMul.{0, 0} ENNReal ENNReal (Algebra.toSMul.{0, 0} ENNReal ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) (Algebra.id.{0} ENNReal (CanonicallyOrderedCommSemiring.toCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)))) c (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_smul MeasureTheory.SimpleFunc.lintegral_smulₓ'. -/
 theorem lintegral_smul (f : α →ₛ ℝ≥0∞) (c : ℝ≥0∞) : f.lintegral (c • μ) = c • f.lintegral μ :=
   (lintegralₗ f).map_smul c μ
 #align measure_theory.simple_func.lintegral_smul MeasureTheory.SimpleFunc.lintegral_smul
 
+/- warning: measure_theory.simple_func.lintegral_zero -> MeasureTheory.SimpleFunc.lintegral_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α _inst_1 f (OfNat.ofNat.{u1} (MeasureTheory.Measure.{u1} α _inst_1) 0 (OfNat.mk.{u1} (MeasureTheory.Measure.{u1} α _inst_1) 0 (Zero.zero.{u1} (MeasureTheory.Measure.{u1} α _inst_1) (MeasureTheory.Measure.instZero.{u1} α _inst_1))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, 0} α _inst_1 ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α _inst_1 f (OfNat.ofNat.{u1} (MeasureTheory.Measure.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (MeasureTheory.Measure.{u1} α _inst_1) (MeasureTheory.Measure.instZero.{u1} α _inst_1)))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_zero MeasureTheory.SimpleFunc.lintegral_zeroₓ'. -/
 @[simp]
 theorem lintegral_zero [MeasurableSpace α] (f : α →ₛ ℝ≥0∞) : f.lintegral 0 = 0 :=
   (lintegralₗ f).map_zero
 #align measure_theory.simple_func.lintegral_zero MeasureTheory.SimpleFunc.lintegral_zero
 
+/- warning: measure_theory.simple_func.lintegral_sum -> MeasureTheory.SimpleFunc.lintegral_sum is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {ι : Type.{u2}} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (μ : ι -> (MeasureTheory.Measure.{u1} α m)), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.sum.{u1, u2} α ι m μ)) (tsum.{0, u2} ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) ENNReal.topologicalSpace ι (fun (i : ι) => MeasureTheory.SimpleFunc.lintegral.{u1} α m f (μ i)))
+but is expected to have type
+  forall {α : Type.{u2}} {m : MeasurableSpace.{u2} α} {ι : Type.{u1}} (f : MeasureTheory.SimpleFunc.{u2, 0} α m ENNReal) (μ : ι -> (MeasureTheory.Measure.{u2} α m)), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u2} α m f (MeasureTheory.Measure.sum.{u2, u1} α ι m μ)) (tsum.{0, u1} ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) ENNReal.instTopologicalSpaceENNReal ι (fun (i : ι) => MeasureTheory.SimpleFunc.lintegral.{u2} α m f (μ i)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_sum MeasureTheory.SimpleFunc.lintegral_sumₓ'. -/
 theorem lintegral_sum {m : MeasurableSpace α} {ι} (f : α →ₛ ℝ≥0∞) (μ : ι → Measure α) :
     f.lintegral (Measure.sum μ) = ∑' i, f.lintegral (μ i) :=
   by
@@ -1050,6 +1660,12 @@ theorem lintegral_sum {m : MeasurableSpace α} {ι} (f : α →ₛ ℝ≥0∞) (
   apply ENNReal.tsum_comm
 #align measure_theory.simple_func.lintegral_sum MeasureTheory.SimpleFunc.lintegral_sum
 
+/- warning: measure_theory.simple_func.restrict_lintegral -> MeasureTheory.SimpleFunc.restrict_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m ENNReal.hasZero f s) μ) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (r : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) r (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) r)) s)))))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m instENNRealZero f s) μ) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (r : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) r (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) r)) s)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegralₓ'. -/
 theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : MeasurableSet s) :
     (restrict f s).lintegral μ = ∑ r in f.range, r * μ (f ⁻¹' {r} ∩ s) :=
   calc
@@ -1066,16 +1682,34 @@ theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : Measura
     
 #align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegral
 
+/- warning: measure_theory.simple_func.lintegral_restrict -> MeasureTheory.SimpleFunc.lintegral_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (s : Set.{u1} α) (μ : MeasureTheory.Measure.{u1} α m), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)) (Finset.sum.{0, 0} ENNReal ENNReal (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (y : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) y (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (Set.preimage.{u1, 0} α ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.hasSingleton.{0} ENNReal) y)) s))))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (s : Set.{u1} α) (μ : MeasureTheory.Measure.{u1} α m), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)) (Finset.sum.{0, 0} ENNReal ENNReal (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (MeasureTheory.SimpleFunc.range.{u1, 0} α ENNReal m f) (fun (y : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) y (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (Set.preimage.{u1, 0} α ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f) (Singleton.singleton.{0, 0} ENNReal (Set.{0} ENNReal) (Set.instSingletonSet.{0} ENNReal) y)) s))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_restrict MeasureTheory.SimpleFunc.lintegral_restrictₓ'. -/
 theorem lintegral_restrict {m : MeasurableSpace α} (f : α →ₛ ℝ≥0∞) (s : Set α) (μ : Measure α) :
     f.lintegral (μ.restrict s) = ∑ y in f.range, y * μ (f ⁻¹' {y} ∩ s) := by
   simp only [lintegral, measure.restrict_apply, f.measurable_set_preimage]
 #align measure_theory.simple_func.lintegral_restrict MeasureTheory.SimpleFunc.lintegral_restrict
 
+/- warning: measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict -> MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m ENNReal.hasZero f s) μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m instENNRealZero f s) μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f (MeasureTheory.Measure.restrict.{u1} α m μ s)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrictₓ'. -/
 theorem restrict_lintegral_eq_lintegral_restrict (f : α →ₛ ℝ≥0∞) {s : Set α}
     (hs : MeasurableSet s) : (restrict f s).lintegral μ = f.lintegral (μ.restrict s) := by
   rw [f.restrict_lintegral hs, lintegral_restrict]
 #align measure_theory.simple_func.restrict_lintegral_eq_lintegral_restrict MeasureTheory.SimpleFunc.restrict_lintegral_eq_lintegral_restrict
 
+/- warning: measure_theory.simple_func.const_lintegral -> MeasureTheory.SimpleFunc.const_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.univ.{u1} α)))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) c (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Set.univ.{u1} α)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.const_lintegral MeasureTheory.SimpleFunc.const_lintegralₓ'. -/
 theorem const_lintegral (c : ℝ≥0∞) : (const α c).lintegral μ = c * μ univ :=
   by
   rw [lintegral]
@@ -1084,16 +1718,34 @@ theorem const_lintegral (c : ℝ≥0∞) : (const α c).lintegral μ = c * μ un
   · simp [preimage_const_of_mem]
 #align measure_theory.simple_func.const_lintegral MeasureTheory.SimpleFunc.const_lintegral
 
+/- warning: measure_theory.simple_func.const_lintegral_restrict -> MeasureTheory.SimpleFunc.const_lintegral_restrict is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) (s : Set.{u1} α), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) (MeasureTheory.Measure.restrict.{u1} α m μ s)) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ s))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) (s : Set.{u1} α), Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) (MeasureTheory.Measure.restrict.{u1} α m μ s)) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) c (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) s))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.const_lintegral_restrict MeasureTheory.SimpleFunc.const_lintegral_restrictₓ'. -/
 theorem const_lintegral_restrict (c : ℝ≥0∞) (s : Set α) :
     (const α c).lintegral (μ.restrict s) = c * μ s := by
   rw [const_lintegral, measure.restrict_apply MeasurableSet.univ, univ_inter]
 #align measure_theory.simple_func.const_lintegral_restrict MeasureTheory.SimpleFunc.const_lintegral_restrict
 
+/- warning: measure_theory.simple_func.restrict_const_lintegral -> MeasureTheory.SimpleFunc.restrict_const_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m ENNReal.hasZero (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) s) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) c (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ s)))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (c : ENNReal) {s : Set.{u1} α}, (MeasurableSet.{u1} α m s) -> (Eq.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m (MeasureTheory.SimpleFunc.restrict.{u1, 0} α ENNReal m instENNRealZero (MeasureTheory.SimpleFunc.const.{u1, 0} α ENNReal m c) s) μ) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) c (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) s)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.restrict_const_lintegral MeasureTheory.SimpleFunc.restrict_const_lintegralₓ'. -/
 theorem restrict_const_lintegral (c : ℝ≥0∞) {s : Set α} (hs : MeasurableSet s) :
     ((const α c).restrict s).lintegral μ = c * μ s := by
   rw [restrict_lintegral_eq_lintegral_restrict _ hs, const_lintegral_restrict]
 #align measure_theory.simple_func.restrict_const_lintegral MeasureTheory.SimpleFunc.restrict_const_lintegral
 
+/- warning: measure_theory.simple_func.le_sup_lintegral -> MeasureTheory.SimpleFunc.le_sup_lintegral is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Sup.sup.{0} ENNReal (SemilatticeSup.toHasSup.{0} ENNReal ENNReal.semilatticeSup) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ)) (MeasureTheory.SimpleFunc.lintegral.{u1} α m (Sup.sup.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instSup.{u1, 0} α ENNReal m (SemilatticeSup.toHasSup.{0} ENNReal ENNReal.semilatticeSup)) f g) μ)
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} (f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal), LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Sup.sup.{0} ENNReal (SemilatticeSup.toSup.{0} ENNReal instENNRealSemilatticeSup) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g μ)) (MeasureTheory.SimpleFunc.lintegral.{u1} α m (Sup.sup.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instSup.{u1, 0} α ENNReal m (SemilatticeSup.toSup.{0} ENNReal instENNRealSemilatticeSup)) f g) μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegralₓ'. -/
 theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lintegral μ ≤ (f ⊔ g).lintegral μ :=
   calc
     f.lintegral μ ⊔ g.lintegral μ =
@@ -1109,6 +1761,12 @@ theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lin
     
 #align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegral
 
+/- warning: measure_theory.simple_func.lintegral_mono -> MeasureTheory.SimpleFunc.lintegral_mono is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal} {g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (LE.le.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instLE.{u1, 0} α ENNReal m (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))) f g) -> (LE.le.{u1} (MeasureTheory.Measure.{u1} α m) (Preorder.toHasLe.{u1} (MeasureTheory.Measure.{u1} α m) (PartialOrder.toPreorder.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instPartialOrder.{u1} α m))) μ ν) -> (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g ν))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {ν : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal} {g : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (LE.le.{u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (MeasureTheory.SimpleFunc.instLE.{u1, 0} α ENNReal m (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))) f g) -> (LE.le.{u1} (MeasureTheory.Measure.{u1} α m) (Preorder.toLE.{u1} (MeasureTheory.Measure.{u1} α m) (PartialOrder.toPreorder.{u1} (MeasureTheory.Measure.{u1} α m) (MeasureTheory.Measure.instPartialOrder.{u1} α m))) μ ν) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (MeasureTheory.SimpleFunc.lintegral.{u1} α m g ν))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_monoₓ'. -/
 /-- `simple_func.lintegral` is monotone both in function and in measure. -/
 @[mono]
 theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ ≤ ν) :
@@ -1122,6 +1780,7 @@ theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ
     
 #align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_mono
 
+#print MeasureTheory.SimpleFunc.lintegral_eq_of_measure_preimage /-
 /-- `simple_func.lintegral` depends only on the measures of `f ⁻¹' {y}`. -/
 theorem lintegral_eq_of_measure_preimage [MeasurableSpace β] {f : α →ₛ ℝ≥0∞} {g : β →ₛ ℝ≥0∞}
     {ν : Measure β} (H : ∀ y, μ (f ⁻¹' {y}) = ν (g ⁻¹' {y})) : f.lintegral μ = g.lintegral ν :=
@@ -1132,13 +1791,17 @@ theorem lintegral_eq_of_measure_preimage [MeasurableSpace β] {f : α →ₛ ℝ
   intros
   exact mem_range_of_measure_ne_zero ‹_›
 #align measure_theory.simple_func.lintegral_eq_of_measure_preimage MeasureTheory.SimpleFunc.lintegral_eq_of_measure_preimage
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_congr /-
 /-- If two simple functions are equal a.e., then their `lintegral`s are equal. -/
 theorem lintegral_congr {f g : α →ₛ ℝ≥0∞} (h : f =ᵐ[μ] g) : f.lintegral μ = g.lintegral μ :=
   lintegral_eq_of_measure_preimage fun y =>
     measure_congr <| Eventually.set_eq <| h.mono fun x hx => by simp [hx]
 #align measure_theory.simple_func.lintegral_congr MeasureTheory.SimpleFunc.lintegral_congr
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_map' /-
 theorem lintegral_map' {β} [MeasurableSpace β] {μ' : Measure β} (f : α →ₛ ℝ≥0∞) (g : β →ₛ ℝ≥0∞)
     (m' : α → β) (eq : ∀ a, f a = g (m' a)) (h : ∀ s, MeasurableSet s → μ' s = μ (m' ⁻¹' s)) :
     f.lintegral μ = g.lintegral μ' :=
@@ -1147,11 +1810,14 @@ theorem lintegral_map' {β} [MeasurableSpace β] {μ' : Measure β} (f : α →
     simp only [preimage, Eq]
     exact (h (g ⁻¹' {y}) (g.measurable_set_preimage _)).symm
 #align measure_theory.simple_func.lintegral_map' MeasureTheory.SimpleFunc.lintegral_map'
+-/
 
+#print MeasureTheory.SimpleFunc.lintegral_map /-
 theorem lintegral_map {β} [MeasurableSpace β] (g : β →ₛ ℝ≥0∞) {f : α → β} (hf : Measurable f) :
     g.lintegral (Measure.map f μ) = (g.comp f hf).lintegral μ :=
   Eq.symm <| lintegral_map' _ _ f (fun a => rfl) fun s hs => Measure.map_apply hf hs
 #align measure_theory.simple_func.lintegral_map MeasureTheory.SimpleFunc.lintegral_map
+-/
 
 end Measure
 
@@ -1159,6 +1825,12 @@ section FinMeasSupp
 
 open Finset Function
 
+/- warning: measure_theory.simple_func.support_eq -> MeasureTheory.SimpleFunc.support_eq is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : Zero.{u2} β] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f)) (Set.iUnion.{u1, succ u2} α β (fun (y : β) => Set.iUnion.{u1, 0} α (Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (Finset.filter.{u2} β (fun (y : β) => Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (fun (a : β) => Ne.decidable.{succ u2} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u2} β a b)) a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))) (fun (H : Membership.Mem.{u2, u2} β (Finset.{u2} β) (Finset.hasMem.{u2} β) y (Finset.filter.{u2} β (fun (y : β) => Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (fun (a : β) => Ne.decidable.{succ u2} β (fun (a : β) (b : β) => Classical.propDecidable (Eq.{succ u2} β a b)) a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (MeasureTheory.SimpleFunc.range.{u1, u2} α β _inst_1 f))) => Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_1) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : Zero.{u1} β] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 β), Eq.{succ u2} (Set.{u2} α) (Function.support.{u2, u1} α β _inst_2 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f)) (Set.iUnion.{u2, succ u1} α β (fun (y : β) => Set.iUnion.{u2, 0} α (Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (Finset.filter.{u1} β (fun (y : β) => Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (fun (a : β) => instDecidableNot (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (Classical.propDecidable (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))))) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))) (fun (H : Membership.mem.{u1, u1} β (Finset.{u1} β) (Finset.instMembershipFinset.{u1} β) y (Finset.filter.{u1} β (fun (y : β) => Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (fun (a : β) => instDecidableNot (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))) (Classical.propDecidable (Eq.{succ u1} β a (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_2))))) (MeasureTheory.SimpleFunc.range.{u2, u1} α β _inst_1 f))) => Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.support_eq MeasureTheory.SimpleFunc.support_eqₓ'. -/
 theorem support_eq [MeasurableSpace α] [Zero β] (f : α →ₛ β) :
     support f = ⋃ y ∈ f.range.filterₓ fun y => y ≠ 0, f ⁻¹' {y} :=
   Set.ext fun x => by
@@ -1168,22 +1840,42 @@ theorem support_eq [MeasurableSpace α] [Zero β] (f : α →ₛ β) :
 
 variable {m : MeasurableSpace α} [Zero β] [Zero γ] {μ : Measure α} {f : α →ₛ β}
 
+/- warning: measure_theory.simple_func.measurable_set_support -> MeasureTheory.SimpleFunc.measurableSet_support is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Zero.{u2} β] [_inst_3 : MeasurableSpace.{u1} α] (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_3 β), MeasurableSet.{u1} α _inst_3 (Function.support.{u1, u2} α β _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_3 β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_3 β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β _inst_3) f))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Zero.{u1} β] [_inst_3 : MeasurableSpace.{u2} α] (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_3 β), MeasurableSet.{u2} α _inst_3 (Function.support.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_3 β f))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_supportₓ'. -/
 theorem measurableSet_support [MeasurableSpace α] (f : α →ₛ β) : MeasurableSet (support f) :=
   by
   rw [f.support_eq]
   exact Finset.measurableSet_biUnion _ fun y hy => measurable_set_fiber _ _
 #align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_support
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp /-
 /-- A `simple_func` has finite measure support if it is equal to `0` outside of a set of finite
 measure. -/
 protected def FinMeasSupp {m : MeasurableSpace α} (f : α →ₛ β) (μ : Measure α) : Prop :=
   f =ᶠ[μ.cofinite] 0
 #align measure_theory.simple_func.fin_meas_supp MeasureTheory.SimpleFunc.FinMeasSupp
+-/
 
+/- warning: measure_theory.simple_func.fin_meas_supp_iff_support -> MeasureTheory.SimpleFunc.finMeasSupp_iff_support is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Function.support.{u1, u2} α β _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} [_inst_1 : Zero.{u1} β] {μ : MeasureTheory.Measure.{u2} α m} {f : MeasureTheory.SimpleFunc.{u2, u1} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u2, u1} α β _inst_1 m f μ) (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Function.support.{u2, u1} α β _inst_1 (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_supportₓ'. -/
 theorem finMeasSupp_iff_support : f.FinMeasSupp μ ↔ μ (support f) < ∞ :=
   Iff.rfl
 #align measure_theory.simple_func.fin_meas_supp_iff_support MeasureTheory.SimpleFunc.finMeasSupp_iff_support
 
+/- warning: measure_theory.simple_func.fin_meas_supp_iff -> MeasureTheory.SimpleFunc.finMeasSupp_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) (forall (y : β), (Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) -> (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} [_inst_1 : Zero.{u1} β] {μ : MeasureTheory.Measure.{u2} α m} {f : MeasureTheory.SimpleFunc.{u2, u1} α m β}, Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u2, u1} α β _inst_1 m f μ) (forall (y : β), (Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_1))) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp_iff MeasureTheory.SimpleFunc.finMeasSupp_iffₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ≠ » 0) -/
 theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻¹' {y}) < ∞ :=
   by
@@ -1198,25 +1890,51 @@ theorem finMeasSupp_iff : f.FinMeasSupp μ ↔ ∀ (y) (_ : y ≠ 0), μ (f ⁻
 
 namespace FinMeasSupp
 
+/- warning: measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero -> MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (forall {y : β}, (Ne.{succ u2} β y (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) -> (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α m β) => α -> β) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α β m) f) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} {m : MeasurableSpace.{u2} α} [_inst_1 : Zero.{u1} β] {μ : MeasureTheory.Measure.{u2} α m} {f : MeasureTheory.SimpleFunc.{u2, u1} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u2, u1} α β _inst_1 m f μ) -> (forall {y : β}, (Ne.{succ u1} β y (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_1))) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Set.preimage.{u2, u1} α β (MeasureTheory.SimpleFunc.toFun.{u2, u1} α m β f) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zeroₓ'. -/
 theorem meas_preimage_singleton_ne_zero (h : f.FinMeasSupp μ) {y : β} (hy : y ≠ 0) :
     μ (f ⁻¹' {y}) < ∞ :=
   finMeasSupp_iff.1 h y hy
 #align measure_theory.simple_func.fin_meas_supp.meas_preimage_singleton_ne_zero MeasureTheory.SimpleFunc.FinMeasSupp.meas_preimage_singleton_ne_zero
 
+/- warning: measure_theory.simple_func.fin_meas_supp.map -> MeasureTheory.SimpleFunc.FinMeasSupp.map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (Eq.{succ u3} γ (g (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ m g f) μ)
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u1} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u2} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α β _inst_1 m f μ) -> (Eq.{succ u1} γ (g (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_1))) (OfNat.ofNat.{u1} γ 0 (Zero.toOfNat0.{u1} γ _inst_2))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u3, u2, u1} α β γ m g f) μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.map MeasureTheory.SimpleFunc.FinMeasSupp.mapₓ'. -/
 protected theorem map {g : β → γ} (hf : f.FinMeasSupp μ) (hg : g 0 = 0) : (f.map g).FinMeasSupp μ :=
   flip lt_of_le_of_lt hf (measure_mono <| support_comp_subset hg f)
 #align measure_theory.simple_func.fin_meas_supp.map MeasureTheory.SimpleFunc.FinMeasSupp.map
 
+/- warning: measure_theory.simple_func.fin_meas_supp.of_map -> MeasureTheory.SimpleFunc.FinMeasSupp.of_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u1, u2, u3} α β γ m g f) μ) -> (forall (b : β), (Eq.{succ u3} γ (g b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (Eq.{succ u2} β b (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1))))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ)
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u1} β] [_inst_2 : Zero.{u2} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u1} α m β} {g : β -> γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α γ _inst_2 m (MeasureTheory.SimpleFunc.map.{u3, u1, u2} α β γ m g f) μ) -> (forall (b : β), (Eq.{succ u2} γ (g b) (OfNat.ofNat.{u2} γ 0 (Zero.toOfNat0.{u2} γ _inst_2))) -> (Eq.{succ u1} β b (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β _inst_1)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α β _inst_1 m f μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.of_map MeasureTheory.SimpleFunc.FinMeasSupp.of_mapₓ'. -/
 theorem of_map {g : β → γ} (h : (f.map g).FinMeasSupp μ) (hg : ∀ b, g b = 0 → b = 0) :
     f.FinMeasSupp μ :=
   flip lt_of_le_of_lt h <| measure_mono <| support_subset_comp hg _
 #align measure_theory.simple_func.fin_meas_supp.of_map MeasureTheory.SimpleFunc.FinMeasSupp.of_map
 
+#print MeasureTheory.SimpleFunc.FinMeasSupp.map_iff /-
 theorem map_iff {g : β → γ} (hg : ∀ {b}, g b = 0 ↔ b = 0) :
     (f.map g).FinMeasSupp μ ↔ f.FinMeasSupp μ :=
   ⟨fun h => h.of_map fun b => hg.1, fun h => h.map <| hg.2 rfl⟩
 #align measure_theory.simple_func.fin_meas_supp.map_iff MeasureTheory.SimpleFunc.FinMeasSupp.map_iff
+-/
 
+/- warning: measure_theory.simple_func.fin_meas_supp.pair -> MeasureTheory.SimpleFunc.FinMeasSupp.pair is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u3} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, max u2 u3} α (Prod.{u2, u3} β γ) (Prod.hasZero.{u2, u3} β γ _inst_1 _inst_2) m (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ m f g) μ)
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u1} β] [_inst_2 : Zero.{u2} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u1} α m β} {g : MeasureTheory.SimpleFunc.{u3, u2} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α β _inst_1 m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α γ _inst_2 m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, max u1 u2} α (Prod.{u1, u2} β γ) (Prod.instZeroSum.{u1, u2} β γ _inst_1 _inst_2) m (MeasureTheory.SimpleFunc.pair.{u3, u1, u2} α β γ m f g) μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pairₓ'. -/
 protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMeasSupp μ) :
     (pair f g).FinMeasSupp μ :=
   calc
@@ -1226,11 +1944,23 @@ protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMea
     
 #align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pair
 
+/- warning: measure_theory.simple_func.fin_meas_supp.map₂ -> MeasureTheory.SimpleFunc.FinMeasSupp.map₂ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} {m : MeasurableSpace.{u1} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} [_inst_3 : Zero.{u4} δ], (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β _inst_1 m f μ) -> (forall {g : MeasureTheory.SimpleFunc.{u1, u3} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u3} α γ _inst_2 m g μ) -> (forall {op : β -> γ -> δ}, (Eq.{succ u4} δ (op (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) (OfNat.ofNat.{u4} δ 0 (OfNat.mk.{u4} δ 0 (Zero.zero.{u4} δ _inst_3)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u4} α δ _inst_3 m (MeasureTheory.SimpleFunc.map.{u1, max u2 u3, u4} α (Prod.{u2, u3} β γ) δ m (Function.uncurry.{u2, u3, u4} β γ δ op) (MeasureTheory.SimpleFunc.pair.{u1, u2, u3} α β γ m f g)) μ)))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {δ : Type.{u4}} {m : MeasurableSpace.{u3} α} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u1} γ] {μ : MeasureTheory.Measure.{u3} α m} {f : MeasureTheory.SimpleFunc.{u3, u2} α m β} [_inst_3 : Zero.{u4} δ], (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u2} α β _inst_1 m f μ) -> (forall {g : MeasureTheory.SimpleFunc.{u3, u1} α m γ}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u1} α γ _inst_2 m g μ) -> (forall {op : β -> γ -> δ}, (Eq.{succ u4} δ (op (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β _inst_1)) (OfNat.ofNat.{u1} γ 0 (Zero.toOfNat0.{u1} γ _inst_2))) (OfNat.ofNat.{u4} δ 0 (Zero.toOfNat0.{u4} δ _inst_3))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u3, u4} α δ _inst_3 m (MeasureTheory.SimpleFunc.map.{u3, max u1 u2, u4} α (Prod.{u2, u1} β γ) δ m (Function.uncurry.{u2, u1, u4} β γ δ op) (MeasureTheory.SimpleFunc.pair.{u3, u2, u1} α β γ m f g)) μ)))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.map₂ MeasureTheory.SimpleFunc.FinMeasSupp.map₂ₓ'. -/
 protected theorem map₂ [Zero δ] (hf : f.FinMeasSupp μ) {g : α →ₛ γ} (hg : g.FinMeasSupp μ)
     {op : β → γ → δ} (H : op 0 0 = 0) : ((pair f g).map (Function.uncurry op)).FinMeasSupp μ :=
   (hf.pair hg).map H
 #align measure_theory.simple_func.fin_meas_supp.map₂ MeasureTheory.SimpleFunc.FinMeasSupp.map₂
 
+/- warning: measure_theory.simple_func.fin_meas_supp.add -> MeasureTheory.SimpleFunc.FinMeasSupp.add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : AddMonoid.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)) m (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α β m (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)))) f g) μ)
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : AddMonoid.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (AddMonoid.toZero.{u2} β _inst_3) m (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α β m (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β _inst_3)))) f g) μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.addₓ'. -/
 protected theorem add {β} [AddMonoid β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f + g).FinMeasSupp μ :=
   by
@@ -1238,6 +1968,12 @@ protected theorem add {β} [AddMonoid β] {f g : α →ₛ β} (hf : f.FinMeasSu
   exact hf.map₂ hg (zero_add 0)
 #align measure_theory.simple_func.fin_meas_supp.add MeasureTheory.SimpleFunc.FinMeasSupp.add
 
+/- warning: measure_theory.simple_func.fin_meas_supp.mul -> MeasureTheory.SimpleFunc.FinMeasSupp.mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : MonoidWithZero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))) m (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β m (MulZeroClass.toHasMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))))) f g) μ)
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {β : Type.{u2}} [_inst_3 : MonoidWithZero.{u2} β] {f : MeasureTheory.SimpleFunc.{u1, u2} α m β} {g : MeasureTheory.SimpleFunc.{u1, u2} α m β}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m f μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m g μ) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β _inst_3) m (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.{u1, u2} α m β) (instHMul.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α m β) (MeasureTheory.SimpleFunc.instMul.{u1, u2} α β m (MulZeroClass.toMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β _inst_3))))) f g) μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mulₓ'. -/
 protected theorem mul {β} [MonoidWithZero β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f * g).FinMeasSupp μ :=
   by
@@ -1245,6 +1981,12 @@ protected theorem mul {β} [MonoidWithZero β] {f g : α →ₛ β} (hf : f.FinM
   exact hf.map₂ hg (MulZeroClass.zero_mul 0)
 #align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mul
 
+/- warning: measure_theory.simple_func.fin_meas_supp.lintegral_lt_top -> MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal ENNReal.hasZero m f μ) -> (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f a) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal instENNRealZero m f μ) -> (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f a) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_topₓ'. -/
 theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.lintegral μ < ∞ := by
   refine' sum_lt_top fun a ha => _
@@ -1257,6 +1999,12 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     · exact mul_ne_top ha (fin_meas_supp_iff.1 hm _ ha0).Ne
 #align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top
 
+/- warning: measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top -> MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Ne.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal ENNReal.hasZero m f μ)
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Ne.{1} ENNReal (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal instENNRealZero m f μ)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_topₓ'. -/
 theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
   by
   refine' fin_meas_supp_iff.2 fun b hb => _
@@ -1265,6 +2013,12 @@ theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ 
   exact (lt_top_of_sum_ne_top h (Finset.mem_insert_self _ _)).Ne
 #align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top
 
+/- warning: measure_theory.simple_func.fin_meas_supp.iff_lintegral_lt_top -> MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) (fun (_x : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal) => α -> ENNReal) (MeasureTheory.SimpleFunc.instCoeFun.{u1, 0} α ENNReal m) f a) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal ENNReal.hasZero m f μ) (LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))
+but is expected to have type
+  forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} {μ : MeasureTheory.Measure.{u1} α m} {f : MeasureTheory.SimpleFunc.{u1, 0} α m ENNReal}, (Filter.Eventually.{u1} α (fun (a : α) => Ne.{1} ENNReal (MeasureTheory.SimpleFunc.toFun.{u1, 0} α m ENNReal f a) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (MeasureTheory.Measure.ae.{u1} α m μ)) -> (Iff (MeasureTheory.SimpleFunc.FinMeasSupp.{u1, 0} α ENNReal instENNRealZero m f μ) (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (MeasureTheory.SimpleFunc.lintegral.{u1} α m f μ) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.fin_meas_supp.iff_lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_topₓ'. -/
 theorem iff_lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.FinMeasSupp μ ↔ f.lintegral μ < ∞ :=
   ⟨fun h => h.lintegral_lt_top hf, fun h => of_lintegral_ne_top h.Ne⟩
@@ -1274,6 +2028,12 @@ end FinMeasSupp
 
 end FinMeasSupp
 
+/- warning: measure_theory.simple_func.induction -> MeasureTheory.SimpleFunc.induction is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {γ : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : AddMonoid.{u2} γ] {P : (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) -> Prop}, (forall (c : γ) {s : Set.{u1} α} (hs : MeasurableSet.{u1} α _inst_1 s), P (MeasureTheory.SimpleFunc.piecewise.{u1, u2} α γ _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u1, u2} α γ _inst_1 c) (MeasureTheory.SimpleFunc.const.{u1, u2} α γ _inst_1 (OfNat.ofNat.{u2} γ 0 (OfNat.mk.{u2} γ 0 (Zero.zero.{u2} γ (AddZeroClass.toHasZero.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)))))))) -> (forall {{f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ}} {{g : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ}}, (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) (Function.support.{u1, u2} α γ (AddZeroClass.toHasZero.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α γ _inst_1) f)) (Function.support.{u1, u2} α γ (AddZeroClass.toHasZero.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (fun (_x : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) => α -> γ) (MeasureTheory.SimpleFunc.instCoeFun.{u1, u2} α γ _inst_1) g))) -> (P f) -> (P g) -> (P (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (instHAdd.{max u1 u2} (MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ) (MeasureTheory.SimpleFunc.instAdd.{u1, u2} α γ _inst_1 (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ _inst_2)))) f g))) -> (forall (f : MeasureTheory.SimpleFunc.{u1, u2} α _inst_1 γ), P f)
+but is expected to have type
+  forall {α : Type.{u2}} {γ : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : AddMonoid.{u1} γ] {P : (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) -> Prop}, (forall (c : γ) {s : Set.{u2} α} (hs : MeasurableSet.{u2} α _inst_1 s), P (MeasureTheory.SimpleFunc.piecewise.{u2, u1} α γ _inst_1 s hs (MeasureTheory.SimpleFunc.const.{u2, u1} α γ _inst_1 c) (MeasureTheory.SimpleFunc.const.{u2, u1} α γ _inst_1 (OfNat.ofNat.{u1} γ 0 (Zero.toOfNat0.{u1} γ (AddMonoid.toZero.{u1} γ _inst_2)))))) -> (forall {{f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ}} {{g : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ}}, (Disjoint.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} α) (Preorder.toLE.{u2} (Set.{u2} α) (PartialOrder.toPreorder.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (Function.support.{u2, u1} α γ (AddMonoid.toZero.{u1} γ _inst_2) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ f)) (Function.support.{u2, u1} α γ (AddMonoid.toZero.{u1} γ _inst_2) (MeasureTheory.SimpleFunc.toFun.{u2, u1} α _inst_1 γ g))) -> (P f) -> (P g) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (instHAdd.{max u2 u1} (MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ) (MeasureTheory.SimpleFunc.instAdd.{u2, u1} α γ _inst_1 (AddZeroClass.toAdd.{u1} γ (AddMonoid.toAddZeroClass.{u1} γ _inst_2)))) f g))) -> (forall (f : MeasureTheory.SimpleFunc.{u2, u1} α _inst_1 γ), P f)
+Case conversion may be inaccurate. Consider using '#align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.inductionₓ'. -/
 /-- To prove something for an arbitrary simple function, it suffices to show
 that the property holds for (multiples of) characteristic functions and is closed under
 addition (of functions with disjoint support).
@@ -1323,6 +2083,12 @@ end MeasureTheory
 
 open MeasureTheory MeasureTheory.SimpleFunc
 
+/- warning: measurable.ennreal_induction -> Measurable.ennreal_induction is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {P : (α -> ENNReal) -> Prop}, (forall (c : ENNReal) {{s : Set.{u1} α}}, (MeasurableSet.{u1} α _inst_1 s) -> (P (Set.indicator.{u1, 0} α ENNReal ENNReal.hasZero s (fun (_x : α) => c)))) -> (forall {{f : α -> ENNReal}} {{g : α -> ENNReal}}, (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) (Function.support.{u1, 0} α ENNReal ENNReal.hasZero f) (Function.support.{u1, 0} α ENNReal ENNReal.hasZero g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g) -> (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (α -> ENNReal) (α -> ENNReal) (α -> ENNReal) (instHAdd.{u1} (α -> ENNReal) (Pi.instAdd.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))))) f g))) -> (forall {{f : Nat -> α -> ENNReal}}, (forall (n : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f n)) -> (Monotone.{0, u1} Nat (α -> ENNReal) (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (Pi.preorder.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) f) -> (forall (n : Nat), P (f n)) -> (P (fun (x : α) => iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) Nat (fun (n : Nat) => f n x)))) -> (forall {{f : α -> ENNReal}}, (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (P f))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {P : (α -> ENNReal) -> Prop}, (forall (c : ENNReal) {{s : Set.{u1} α}}, (MeasurableSet.{u1} α _inst_1 s) -> (P (Set.indicator.{u1, 0} α ENNReal instENNRealZero s (fun (_x : α) => c)))) -> (forall {{f : α -> ENNReal}} {{g : α -> ENNReal}}, (Disjoint.{u1} (Set.{u1} α) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} α) (Preorder.toLE.{u1} (Set.{u1} α) (PartialOrder.toPreorder.{u1} (Set.{u1} α) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))) (Function.support.{u1, 0} α ENNReal instENNRealZero f) (Function.support.{u1, 0} α ENNReal instENNRealZero g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g) -> (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (α -> ENNReal) (α -> ENNReal) (α -> ENNReal) (instHAdd.{u1} (α -> ENNReal) (Pi.instAdd.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => Distrib.toAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))))) f g))) -> (forall {{f : Nat -> α -> ENNReal}}, (forall (n : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f n)) -> (Monotone.{0, u1} Nat (α -> ENNReal) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (Pi.preorder.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (i : α) => PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) f) -> (forall (n : Nat), P (f n)) -> (P (fun (x : α) => iSup.{0, 1} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) Nat (fun (n : Nat) => f n x)))) -> (forall {{f : α -> ENNReal}}, (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace f) -> (P f))
+Case conversion may be inaccurate. Consider using '#align measurable.ennreal_induction Measurable.ennreal_inductionₓ'. -/
 /-- To prove something for an arbitrary measurable function into `ℝ≥0∞`, it suffices to show
 that the property holds for (multiples of) characteristic functions and is closed under addition
 and supremum of increasing sequences of functions.
@@ -1332,7 +2098,7 @@ can be added once we need them (for example in `h_add` it is only necessary to c
 a simple function with a multiple of a characteristic function and that the intersection
 of their images is a subset of `{0}`. -/
 @[elab_as_elim]
-theorem Measurable.eNNReal_induction {α} [MeasurableSpace α] {P : (α → ℝ≥0∞) → Prop}
+theorem Measurable.ennreal_induction {α} [MeasurableSpace α] {P : (α → ℝ≥0∞) → Prop}
     (h_ind : ∀ (c : ℝ≥0∞) ⦃s⦄, MeasurableSet s → P (indicator s fun _ => c))
     (h_add :
       ∀ ⦃f g : α → ℝ≥0∞⦄,
@@ -1349,5 +2115,5 @@ theorem Measurable.eNNReal_induction {α} [MeasurableSpace α] {P : (α → ℝ
     exact fun n =>
       simple_func.induction (fun c s hs => h_ind c hs)
         (fun f g hfg hf hg => h_add hfg f.Measurable g.Measurable hf hg) (eapprox f n)
-#align measurable.ennreal_induction Measurable.eNNReal_induction
+#align measurable.ennreal_induction Measurable.ennreal_induction
 
Diff
@@ -4,11 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
 
 ! This file was ported from Lean 3 source module measure_theory.function.simple_func
-! leanprover-community/mathlib commit 7317149f12f55affbc900fc873d0d422485122b9
+! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
-import Mathbin.MeasureTheory.Constructions.BorelSpace
+import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
 import Mathbin.Algebra.IndicatorFunction
 import Mathbin.Algebra.Support
 
Diff
@@ -198,7 +198,7 @@ theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b
     exact ⟨fun h => ⟨a, ⟨h, rfl⟩⟩, fun ⟨a', ⟨h', e⟩⟩ => e.symm ▸ h'⟩
   rw [this]
   exact
-    MeasurableSet.bunionᵢ f.finite_range.countable fun b _ =>
+    MeasurableSet.biUnion f.finite_range.countable fun b _ =>
       MeasurableSet.inter (h b) (f.measurable_set_fiber _)
 #align measure_theory.simple_func.measurable_set_cut MeasureTheory.SimpleFunc.measurableSet_cut
 
@@ -287,7 +287,7 @@ then `f.bind g` binds the first argument of `g` to `f`. In other words, `f.bind
 def bind (f : α →ₛ β) (g : β → α →ₛ γ) : α →ₛ γ :=
   ⟨fun a => g (f a) a, fun c =>
     f.measurableSet_cut (fun a b => g b a = c) fun b => (g b).measurableSet_preimage {c},
-    (f.finite_range.bunionᵢ fun b _ => (g b).finite_range).Subset <| by
+    (f.finite_range.biUnion fun b _ => (g b).finite_range).Subset <| by
       rintro _ ⟨a, rfl⟩ <;> simp <;> exact ⟨a, a, rfl⟩⟩
 #align measure_theory.simple_func.bind MeasureTheory.SimpleFunc.bind
 
@@ -832,22 +832,22 @@ theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSp
 
 end
 
-theorem supᵢ_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
+theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
     (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (h : i k ≤ f a), i k :=
   by
-  refine' le_antisymm (supᵢ_le fun n => _) (supᵢ_le fun k => supᵢ_le fun hk => _)
+  refine' le_antisymm (iSup_le fun n => _) (iSup_le fun k => iSup_le fun hk => _)
   · rw [approx_apply a hf, h_zero]
     refine' Finset.sup_le fun k hk => _
     split_ifs
-    exact le_supᵢ_of_le k (le_supᵢ _ h)
+    exact le_iSup_of_le k (le_iSup _ h)
     exact bot_le
-  · refine' le_supᵢ_of_le (k + 1) _
+  · refine' le_iSup_of_le (k + 1) _
     rw [approx_apply a hf]
     have : k ∈ Finset.range (k + 1) := Finset.mem_range.2 (Nat.lt_succ_self _)
     refine' le_trans (le_of_eq _) (Finset.le_sup this)
     rw [if_pos hk]
-#align measure_theory.simple_func.supr_approx_apply MeasureTheory.SimpleFunc.supᵢ_approx_apply
+#align measure_theory.simple_func.supr_approx_apply MeasureTheory.SimpleFunc.iSup_approx_apply
 
 end Approx
 
@@ -888,22 +888,22 @@ theorem monotone_eapprox (f : α → ℝ≥0∞) : Monotone (eapprox f) :=
   monotone_approx _ f
 #align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapprox
 
-theorem supᵢ_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
+theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (⨆ n, (eapprox f n : α →ₛ ℝ≥0∞) a) = f a :=
   by
   rw [eapprox, supr_approx_apply ennreal_rat_embed f a hf rfl]
-  refine' le_antisymm (supᵢ_le fun i => supᵢ_le fun hi => hi) (le_of_not_gt _)
+  refine' le_antisymm (iSup_le fun i => iSup_le fun hi => hi) (le_of_not_gt _)
   intro h
   rcases ENNReal.lt_iff_exists_rat_btwn.1 h with ⟨q, hq, lt_q, q_lt⟩
   have :
     (Real.toNNReal q : ℝ≥0∞) ≤ ⨆ (k : ℕ) (h : ennreal_rat_embed k ≤ f a), ennreal_rat_embed k :=
     by
-    refine' le_supᵢ_of_le (Encodable.encode q) _
+    refine' le_iSup_of_le (Encodable.encode q) _
     rw [ennreal_rat_embed_encode q]
-    refine' le_supᵢ_of_le (le_of_lt q_lt) _
+    refine' le_iSup_of_le (le_of_lt q_lt) _
     exact le_rfl
   exact lt_irrefl _ (lt_of_le_of_lt this lt_q)
-#align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.supᵢ_eapprox_apply
+#align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.iSup_eapprox_apply
 
 theorem eapprox_comp [MeasurableSpace γ] {f : γ → ℝ≥0∞} {g : α → γ} {n : ℕ} (hf : Measurable f)
     (hg : Measurable g) : (eapprox (f ∘ g) n : α → ℝ≥0∞) = (eapprox f n : γ →ₛ ℝ≥0∞) ∘ g :=
@@ -933,7 +933,7 @@ theorem sum_eapproxDiff (f : α → ℝ≥0∞) (n : ℕ) (a : α) :
 
 theorem tsum_eapproxDiff (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
     (∑' n, (eapproxDiff f n a : ℝ≥0∞)) = f a := by
-  simp_rw [ENNReal.tsum_eq_supᵢ_nat' (tendsto_add_at_top_nat 1), sum_eapprox_diff,
+  simp_rw [ENNReal.tsum_eq_iSup_nat' (tendsto_add_at_top_nat 1), sum_eapprox_diff,
     supr_eapprox_apply f hf a]
 #align measure_theory.simple_func.tsum_eapprox_diff MeasureTheory.SimpleFunc.tsum_eapproxDiff
 
@@ -1171,7 +1171,7 @@ variable {m : MeasurableSpace α} [Zero β] [Zero γ] {μ : Measure α} {f : α
 theorem measurableSet_support [MeasurableSpace α] (f : α →ₛ β) : MeasurableSet (support f) :=
   by
   rw [f.support_eq]
-  exact Finset.measurableSet_bunionᵢ _ fun y hy => measurable_set_fiber _ _
+  exact Finset.measurableSet_biUnion _ fun y hy => measurable_set_fiber _ _
 #align measure_theory.simple_func.measurable_set_support MeasureTheory.SimpleFunc.measurableSet_support
 
 /-- A `simple_func` has finite measure support if it is equal to `0` outside of a set of finite
Diff
@@ -214,10 +214,10 @@ protected theorem measurable [MeasurableSpace β] (f : α →ₛ β) : Measurabl
 #align measure_theory.simple_func.measurable MeasureTheory.SimpleFunc.measurable
 
 @[measurability]
-protected theorem aeMeasurable [MeasurableSpace β] {μ : Measure α} (f : α →ₛ β) :
-    AeMeasurable f μ :=
-  f.Measurable.AeMeasurable
-#align measure_theory.simple_func.ae_measurable MeasureTheory.SimpleFunc.aeMeasurable
+protected theorem aEMeasurable [MeasurableSpace β] {μ : Measure α} (f : α →ₛ β) :
+    AEMeasurable f μ :=
+  f.Measurable.AEMeasurable
+#align measure_theory.simple_func.ae_measurable MeasureTheory.SimpleFunc.aEMeasurable
 
 protected theorem sum_measure_preimage_singleton (f : α →ₛ β) {μ : Measure α} (s : Finset β) :
     (∑ y in s, μ (f ⁻¹' {y})) = μ (f ⁻¹' ↑s) :=
@@ -1207,10 +1207,10 @@ protected theorem map {g : β → γ} (hf : f.FinMeasSupp μ) (hg : g 0 = 0) : (
   flip lt_of_le_of_lt hf (measure_mono <| support_comp_subset hg f)
 #align measure_theory.simple_func.fin_meas_supp.map MeasureTheory.SimpleFunc.FinMeasSupp.map
 
-theorem ofMap {g : β → γ} (h : (f.map g).FinMeasSupp μ) (hg : ∀ b, g b = 0 → b = 0) :
+theorem of_map {g : β → γ} (h : (f.map g).FinMeasSupp μ) (hg : ∀ b, g b = 0 → b = 0) :
     f.FinMeasSupp μ :=
   flip lt_of_le_of_lt h <| measure_mono <| support_subset_comp hg _
-#align measure_theory.simple_func.fin_meas_supp.of_map MeasureTheory.SimpleFunc.FinMeasSupp.ofMap
+#align measure_theory.simple_func.fin_meas_supp.of_map MeasureTheory.SimpleFunc.FinMeasSupp.of_map
 
 theorem map_iff {g : β → γ} (hg : ∀ {b}, g b = 0 ↔ b = 0) :
     (f.map g).FinMeasSupp μ ↔ f.FinMeasSupp μ :=
@@ -1257,17 +1257,17 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     · exact mul_ne_top ha (fin_meas_supp_iff.1 hm _ ha0).Ne
 #align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top
 
-theorem ofLintegralNeTop {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
+theorem of_lintegral_ne_top {f : α →ₛ ℝ≥0∞} (h : f.lintegral μ ≠ ∞) : f.FinMeasSupp μ :=
   by
   refine' fin_meas_supp_iff.2 fun b hb => _
   rw [f.lintegral_eq_of_subset' (Finset.subset_insert b _)] at h
   refine' ENNReal.lt_top_of_mul_ne_top_right _ hb
   exact (lt_top_of_sum_ne_top h (Finset.mem_insert_self _ _)).Ne
-#align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.ofLintegralNeTop
+#align measure_theory.simple_func.fin_meas_supp.of_lintegral_ne_top MeasureTheory.SimpleFunc.FinMeasSupp.of_lintegral_ne_top
 
 theorem iff_lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
     f.FinMeasSupp μ ↔ f.lintegral μ < ∞ :=
-  ⟨fun h => h.lintegral_lt_top hf, fun h => ofLintegralNeTop h.Ne⟩
+  ⟨fun h => h.lintegral_lt_top hf, fun h => of_lintegral_ne_top h.Ne⟩
 #align measure_theory.simple_func.fin_meas_supp.iff_lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.iff_lintegral_lt_top
 
 end FinMeasSupp

Changes in mathlib4

mathlib3
mathlib4
chore: unify date formatting in lemma deprecations (#12334)
  • consistently use the YYYY-MM-DD format
  • when easily possible, put the date on the same line as the deprecated attribute
  • when easily possible, format the entire declaration on the same line

Why these changes?

  • consistency makes it easier for tools to parse this information
  • compactness: I don't see a good reason for these declarations taking up more space than needed; as I understand it, deprecated lemmas are not supposed to be used in mathlib anyway
  • putting the date on the same line as the attribute makes it easier to discover un-dated deprecations; they also ease writing a tool to replace these by a machine-readable version using leanprover/lean4#3968
Diff
@@ -91,8 +91,7 @@ def ofFinite [Finite α] [MeasurableSingletonClass α] (f : α → β) : α →
   measurableSet_fiber' x := (toFinite (f ⁻¹' {x})).measurableSet
   finite_range' := Set.finite_range f
 
-@[deprecated] -- Since 2024/02/05
-alias ofFintype := ofFinite
+@[deprecated] alias ofFintype := ofFinite -- Since 2024-02-05
 
 /-- Simple function defined on the empty type. -/
 def ofIsEmpty [IsEmpty α] : α →ₛ β := ofFinite isEmptyElim
chore: superfluous parentheses part 2 (#12131)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -1218,7 +1218,7 @@ protected theorem pair {g : α →ₛ γ} (hf : f.FinMeasSupp μ) (hg : g.FinMea
     (pair f g).FinMeasSupp μ :=
   calc
     μ (support <| pair f g) = μ (support f ∪ support g) := congr_arg μ <| support_prod_mk f g
-    _ ≤ μ (support f) + μ (support g) := (measure_union_le _ _)
+    _ ≤ μ (support f) + μ (support g) := measure_union_le _ _
     _ < _ := add_lt_top.2 ⟨hf, hg⟩
 #align measure_theory.simple_func.fin_meas_supp.pair MeasureTheory.SimpleFunc.FinMeasSupp.pair
 
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -1243,7 +1243,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     f.lintegral μ < ∞ := by
   refine' sum_lt_top fun a ha => _
   rcases eq_or_ne a ∞ with (rfl | ha)
-  · simp only [ae_iff, Ne.def, Classical.not_not] at hf
+  · simp only [ae_iff, Ne, Classical.not_not] at hf
     simp [Set.preimage, hf]
   · by_cases ha0 : a = 0
     · subst a
chore: Remove ball and bex from lemma names (#10816)

ball for "bounded forall" and bex for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem and exists_mem in the few Set lemma names that mention them.

Also deprecate ball_image_of_ball, mem_image_elim, mem_image_elim_on since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image semi-implicit), have obscure names and are completely unused.

Diff
@@ -123,9 +123,9 @@ theorem mem_range_of_measure_ne_zero {f : α →ₛ β} {x : β} {μ : Measure 
   mem_range.2 ⟨a, ha⟩
 #align measure_theory.simple_func.mem_range_of_measure_ne_zero MeasureTheory.SimpleFunc.mem_range_of_measure_ne_zero
 
-theorem forall_range_iff {f : α →ₛ β} {p : β → Prop} : (∀ y ∈ f.range, p y) ↔ ∀ x, p (f x) := by
-  simp only [mem_range, Set.forall_range_iff]
-#align measure_theory.simple_func.forall_range_iff MeasureTheory.SimpleFunc.forall_range_iff
+theorem forall_mem_range {f : α →ₛ β} {p : β → Prop} : (∀ y ∈ f.range, p y) ↔ ∀ x, p (f x) := by
+  simp only [mem_range, Set.forall_mem_range]
+#align measure_theory.simple_func.forall_mem_range MeasureTheory.SimpleFunc.forall_mem_range
 
 theorem exists_range_iff {f : α →ₛ β} {p : β → Prop} : (∃ y ∈ f.range, p y) ↔ ∃ x, p (f x) := by
   simpa only [mem_range, exists_prop] using Set.exists_range_iff
@@ -137,7 +137,7 @@ theorem preimage_eq_empty_iff (f : α →ₛ β) (b : β) : f ⁻¹' {b} = ∅ 
 
 theorem exists_forall_le [Nonempty β] [Preorder β] [IsDirected β (· ≤ ·)] (f : α →ₛ β) :
     ∃ C, ∀ x, f x ≤ C :=
-  f.range.exists_le.imp fun _ => forall_range_iff.1
+  f.range.exists_le.imp fun _ => forall_mem_range.1
 #align measure_theory.simple_func.exists_forall_le MeasureTheory.SimpleFunc.exists_forall_le
 
 /-- Constant function as a `SimpleFunc`. -/
@@ -553,7 +553,7 @@ theorem range_eq_empty_of_isEmpty {β} [hα : IsEmpty α] (f : α →ₛ β) : f
 #align measure_theory.simple_func.range_eq_empty_of_is_empty MeasureTheory.SimpleFunc.range_eq_empty_of_isEmpty
 
 theorem eq_zero_of_mem_range_zero [Zero β] : ∀ {y : β}, y ∈ (0 : α →ₛ β).range → y = 0 :=
-  @(forall_range_iff.2 fun _ => rfl)
+  @(forall_mem_range.2 fun _ => rfl)
 #align measure_theory.simple_func.eq_zero_of_mem_range_zero MeasureTheory.SimpleFunc.eq_zero_of_mem_range_zero
 
 @[to_additive]
@@ -970,7 +970,7 @@ theorem lintegral_eq_of_subset (f : α →ₛ ℝ≥0∞) {s : Finset ℝ≥0∞
     (hs : ∀ x, f x ≠ 0 → μ (f ⁻¹' {f x}) ≠ 0 → f x ∈ s) :
     f.lintegral μ = ∑ x in s, x * μ (f ⁻¹' {x}) := by
   refine' Finset.sum_bij_ne_zero (fun r _ _ => r) _ _ _ _
-  · simpa only [forall_range_iff, mul_ne_zero_iff, and_imp]
+  · simpa only [forall_mem_range, mul_ne_zero_iff, and_imp]
   · intros
     assumption
   · intro b _ hb
@@ -1068,7 +1068,7 @@ theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : Measura
         else False.elim <| hx <| by simp [*]
     _ = ∑ r in f.range, r * μ (f ⁻¹' {r} ∩ s) :=
       Finset.sum_congr rfl <|
-        forall_range_iff.2 fun b =>
+        forall_mem_range.2 fun b =>
           if hb : f b = 0 then by simp only [hb, zero_mul]
           else by rw [restrict_preimage_singleton _ hs hb, inter_comm]
 #align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegral
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -30,7 +30,8 @@ open Filter ENNReal
 
 open Function (support)
 
-open Classical Topology BigOperators NNReal ENNReal MeasureTheory
+open scoped Classical
+open Topology BigOperators NNReal ENNReal MeasureTheory
 
 namespace MeasureTheory
 
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -238,17 +238,23 @@ theorem piecewise_apply {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β)
 @[simp]
 theorem piecewise_compl {s : Set α} (hs : MeasurableSet sᶜ) (f g : α →ₛ β) :
     piecewise sᶜ hs f g = piecewise s hs.of_compl g f :=
-  coe_injective <| by simp [hs]; convert Set.piecewise_compl s f g
+  coe_injective <| by
+    set_option tactic.skipAssignedInstances false in
+    simp [hs]; convert Set.piecewise_compl s f g
 #align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_compl
 
 @[simp]
 theorem piecewise_univ (f g : α →ₛ β) : piecewise univ MeasurableSet.univ f g = f :=
-  coe_injective <| by simp; convert Set.piecewise_univ f g
+  coe_injective <| by
+    set_option tactic.skipAssignedInstances false in
+    simp; convert Set.piecewise_univ f g
 #align measure_theory.simple_func.piecewise_univ MeasureTheory.SimpleFunc.piecewise_univ
 
 @[simp]
 theorem piecewise_empty (f g : α →ₛ β) : piecewise ∅ MeasurableSet.empty f g = g :=
-  coe_injective <| by simp; convert Set.piecewise_empty f g
+  coe_injective <| by
+    set_option tactic.skipAssignedInstances false in
+    simp; convert Set.piecewise_empty f g
 #align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_empty
 
 @[simp]
chore: more backporting of simp changes from #10995 (#11001)

Co-authored-by: Patrick Massot <patrickmassot@free.fr> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -1287,7 +1287,7 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
     let g := SimpleFunc.piecewise (f ⁻¹' {x}) mx 0 f
     have Pg : P g := by
       apply ih
-      simp only [SimpleFunc.coe_piecewise, range_piecewise]
+      simp only [g, SimpleFunc.coe_piecewise, range_piecewise]
       rw [image_compl_preimage, union_diff_distrib, diff_diff_comm, h, Finset.coe_insert,
         insert_diff_self_of_not_mem, diff_eq_empty.mpr, Set.empty_union]
       · rw [Set.image_subset_iff]
@@ -1297,12 +1297,12 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
     convert h_add _ Pg (h_ind x mx)
     · ext1 y
       by_cases hy : y ∈ f ⁻¹' {x}
-      · simpa [piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator]
-      · simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]
+      · simpa [g, piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator]
+      · simp [g, piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]
     rw [disjoint_iff_inf_le]
     rintro y
     by_cases hy : y ∈ f ⁻¹' {x}
-    · simp [piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator]
+    · simp [g, piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator]
     · simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]
 #align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.induction
 
refactor(MeasureTheory): redefine on measures (#10714)

Redefine on MeasureTheory.Measure so that μ ≤ ν ↔ ∀ s, μ s ≤ ν s by definition instead of ∀ s, MeasurableSet s → μ s ≤ ν s.

Reasons

  • this way it is defeq to on outer measures;
  • if we decide to introduce an order on all DFunLike types and migrate measures to FunLike, then this is unavoidable;
  • the reasoning for the old definition was "it's slightly easier to prove μ ≤ ν this way"; the counter-argument is "it's slightly harder to apply μ ≤ ν this way".

Other changes

  • golf some proofs broken by this change;
  • add @[gcongr] tags to some ENNReal lemmas;
  • fix the name ENNReal.coe_lt_coe_of_le -> ENNReal.ENNReal.coe_lt_coe_of_lt;
  • drop an unneeded MeasurableSet assumption in set_lintegral_pdf_le_map
Diff
@@ -1112,10 +1112,9 @@ theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ
     f.lintegral μ ≤ g.lintegral ν :=
   calc
     f.lintegral μ ≤ f.lintegral μ ⊔ g.lintegral μ := le_sup_left
-    _ ≤ (f ⊔ g).lintegral μ := (le_sup_lintegral _ _)
+    _ ≤ (f ⊔ g).lintegral μ := le_sup_lintegral _ _
     _ = g.lintegral μ := by rw [sup_of_le_right hfg]
-    _ ≤ g.lintegral ν :=
-      Finset.sum_le_sum fun y _ => ENNReal.mul_left_mono <| hμν _ (g.measurableSet_preimage _)
+    _ ≤ g.lintegral ν := Finset.sum_le_sum fun y _ => ENNReal.mul_left_mono <| hμν _
 #align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_mono
 
 /-- `SimpleFunc.lintegral` depends only on the measures of `f ⁻¹' {y}`. -/
chore: classify simp can do this porting notes (#10619)

Classify by adding issue number (#10618) to porting notes claiming anything semantically equivalent to simp can prove this or simp can simplify this.

Diff
@@ -79,7 +79,7 @@ theorem measurableSet_fiber (f : α →ₛ β) (x : β) : MeasurableSet (f ⁻¹
   f.measurableSet_fiber' x
 #align measure_theory.simple_func.measurable_set_fiber MeasureTheory.SimpleFunc.measurableSet_fiber
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem apply_mk (f : α → β) (h h') (x : α) : SimpleFunc.mk f h h' x = f x :=
   rfl
 #align measure_theory.simple_func.apply_mk MeasureTheory.SimpleFunc.apply_mk
chore(MeasureTheory): Fintype -> Finite (#10289)
  • Rename hasFiniteIntegral_of_fintype to HasFiniteIntegral.of_finite, generalize to [Finite α], golf.
  • Rename integrable_of_fintype to Integrable.of_finite, generalize to [Finite α].
  • Rename SimpleFunc.ofFintype to SimpleFunc.ofFinite, generalize to [Finite α], use it to golf SimpleFunc.ofIsEmpty.
  • Rename stronglyMeasurable_of_fintype to StronglyMeasurable.of_finite, deprecate stronglyMeasurable_of_isEmpty.
Diff
@@ -84,19 +84,19 @@ theorem apply_mk (f : α → β) (h h') (x : α) : SimpleFunc.mk f h h' x = f x
   rfl
 #align measure_theory.simple_func.apply_mk MeasureTheory.SimpleFunc.apply_mk
 
-/-- Simple function defined on the empty type. -/
-def ofIsEmpty [IsEmpty α] : α →ₛ β where
-  toFun := isEmptyElim
-  measurableSet_fiber' x := Subsingleton.measurableSet
-  finite_range' := by simp [range_eq_empty]
-#align measure_theory.simple_func.of_is_empty MeasureTheory.SimpleFunc.ofIsEmpty
-
 /-- Simple function defined on a finite type. -/
-def ofFintype [Fintype α] [MeasurableSingletonClass α] (f : α → β) : α →ₛ β where
+def ofFinite [Finite α] [MeasurableSingletonClass α] (f : α → β) : α →ₛ β where
   toFun := f
-  measurableSet_fiber' x := Finite.measurableSet (toFinite (f ⁻¹' {x}))
+  measurableSet_fiber' x := (toFinite (f ⁻¹' {x})).measurableSet
   finite_range' := Set.finite_range f
 
+@[deprecated] -- Since 2024/02/05
+alias ofFintype := ofFinite
+
+/-- Simple function defined on the empty type. -/
+def ofIsEmpty [IsEmpty α] : α →ₛ β := ofFinite isEmptyElim
+#align measure_theory.simple_func.of_is_empty MeasureTheory.SimpleFunc.ofIsEmpty
+
 /-- Range of a simple function `α →ₛ β` as a `Finset β`. -/
 protected def range (f : α →ₛ β) : Finset β :=
   f.finite_range.toFinset
feat(MeasureTheory/Function/StronglyMeasurable): pow lemmas (#9489)

This also adds some missing to_additives for vadd.

Diff
@@ -574,19 +574,24 @@ theorem map_mul [Mul β] [Mul γ] {g : β → γ} (hg : ∀ x y, g (x * y) = g x
 
 variable {K : Type*}
 
+@[to_additive]
 instance instSMul [SMul K β] : SMul K (α →ₛ β) :=
   ⟨fun k f => f.map (k • ·)⟩
 #align measure_theory.simple_func.has_smul MeasureTheory.SimpleFunc.instSMul
 
-@[simp]
+@[to_additive (attr := simp)]
 theorem coe_smul [SMul K β] (c : K) (f : α →ₛ β) : ⇑(c • f) = c • ⇑f :=
   rfl
 #align measure_theory.simple_func.coe_smul MeasureTheory.SimpleFunc.coe_smul
 
+@[to_additive (attr := simp)]
 theorem smul_apply [SMul K β] (k : K) (f : α →ₛ β) (a : α) : (k • f) a = k • f a :=
   rfl
 #align measure_theory.simple_func.smul_apply MeasureTheory.SimpleFunc.smul_apply
 
+instance hasNatSMul [AddMonoid β] : SMul ℕ (α →ₛ β) := inferInstance
+
+@[to_additive existing hasNatSMul]
 instance hasNatPow [Monoid β] : Pow (α →ₛ β) ℕ :=
   ⟨fun f n => f.map (· ^ n)⟩
 #align measure_theory.simple_func.has_nat_pow MeasureTheory.SimpleFunc.hasNatPow
chore: Relocate big operator lemmas (#9383)

A bunch of lemmas in Algebra.BigOperators.Ring were not about rings. This PR moves them along with some lemmas from Data.Fintype.BigOperators to their correct place.

I create a new file with the content from #6605 to avoid importing Fin material in finset files as a result.

From LeanAPAP

Diff
@@ -1007,9 +1007,7 @@ theorem const_mul_lintegral (f : α →ₛ ℝ≥0∞) (x : ℝ≥0∞) :
     (const α x * f).lintegral μ = x * f.lintegral μ :=
   calc
     (f.map fun a => x * a).lintegral μ = ∑ r in f.range, x * r * μ (f ⁻¹' {r}) := map_lintegral _ _
-    _ = ∑ r in f.range, x * (r * μ (f ⁻¹' {r})) :=
-      (Finset.sum_congr rfl fun _ _ => mul_assoc _ _ _)
-    _ = x * f.lintegral μ := Finset.mul_sum.symm
+    _ = x * ∑ r in f.range, r * μ (f ⁻¹' {r}) := by simp_rw [Finset.mul_sum, mul_assoc]
 #align measure_theory.simple_func.const_mul_lintegral MeasureTheory.SimpleFunc.const_mul_lintegral
 
 /-- Integral of a simple function `α →ₛ ℝ≥0∞` as a bilinear map. -/
chore: Sink Algebra.Support down the import tree (#8919)

Function.support is a very basic definition. Nevertheless, it is a pretty heavy import because it imports most objects a support lemma can be written about.

This PR reverses the dependencies between those objects and Function.support, so that the latter can become a much more lightweight import.

Only two import could not easily be reversed, namely the ones to Data.Set.Finite and Order.ConditionallyCompleteLattice.Basic, so I created two new files instead.

I credit:

Diff
@@ -4,8 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
 -/
 import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
-import Mathlib.Algebra.IndicatorFunction
-import Mathlib.Algebra.Support
 
 #align_import measure_theory.function.simple_func from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
 
chore: Replace (· op ·) a by (a op ·) (#8843)

I used the regex \(\(· (.) ·\) (.)\), replacing with ($2 $1 ·).

Diff
@@ -577,7 +577,7 @@ theorem map_mul [Mul β] [Mul γ] {g : β → γ} (hg : ∀ x y, g (x * y) = g x
 variable {K : Type*}
 
 instance instSMul [SMul K β] : SMul K (α →ₛ β) :=
-  ⟨fun k f => f.map ((· • ·) k)⟩
+  ⟨fun k f => f.map (k • ·)⟩
 #align measure_theory.simple_func.has_smul MeasureTheory.SimpleFunc.instSMul
 
 @[simp]
@@ -668,7 +668,7 @@ instance instModule [Semiring K] [AddCommMonoid β] [Module K β] : Module K (α
     coe_injective coe_smul
 #align measure_theory.simple_func.module MeasureTheory.SimpleFunc.instModule
 
-theorem smul_eq_map [SMul K β] (k : K) (f : α →ₛ β) : k • f = f.map ((· • ·) k) :=
+theorem smul_eq_map [SMul K β] (k : K) (f : α →ₛ β) : k • f = f.map (k • ·) :=
   rfl
 #align measure_theory.simple_func.smul_eq_map MeasureTheory.SimpleFunc.smul_eq_map
 
chore: bump to v4.3.0-rc2 (#8366)

PR contents

This is the supremum of

along with some minor fixes from failures on nightly-testing as Mathlib master is merged into it.

Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.

I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0 branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.

Lean PRs involved in this bump

In particular this includes adjustments for the Lean PRs

leanprover/lean4#2778

We can get rid of all the

local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)

macros across Mathlib (and in any projects that want to write natural number powers of reals).

leanprover/lean4#2722

Changes the default behaviour of simp to (config := {decide := false}). This makes simp (and consequentially norm_num) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp or norm_num to decide or rfl, or adding (config := {decide := true}).

leanprover/lean4#2783

This changed the behaviour of simp so that simp [f] will only unfold "fully applied" occurrences of f. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true }). We may in future add a syntax for this, e.g. simp [!f]; please provide feedback! In the meantime, we have made the following changes:

  • switching to using explicit lemmas that have the intended level of application
  • (config := { unfoldPartialApp := true }) in some places, to recover the old behaviour
  • Using @[eqns] to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp and Function.flip.

This change in Lean may require further changes down the line (e.g. adding the !f syntax, and/or upstreaming the special treatment for Function.comp and Function.flip, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!

Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>

Diff
@@ -161,7 +161,7 @@ theorem coe_const (b : β) : ⇑(const α b) = Function.const α b :=
 
 @[simp]
 theorem range_const (α) [MeasurableSpace α] [Nonempty α] (b : β) : (const α b).range = {b} :=
-  Finset.coe_injective <| by simp [Function.const]
+  Finset.coe_injective <| by simp (config := { unfoldPartialApp := true }) [Function.const]
 #align measure_theory.simple_func.range_const MeasureTheory.SimpleFunc.range_const
 
 theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).range ⊆ {b} :=
feat(MeasureTheory/SimpleFunc): add piecewise_same (#8144)
Diff
@@ -253,6 +253,11 @@ theorem piecewise_empty (f g : α →ₛ β) : piecewise ∅ MeasurableSet.empty
   coe_injective <| by simp; convert Set.piecewise_empty f g
 #align measure_theory.simple_func.piecewise_empty MeasureTheory.SimpleFunc.piecewise_empty
 
+@[simp]
+theorem piecewise_same (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
+    piecewise s hs f f = f :=
+  coe_injective <| Set.piecewise_same _ _
+
 theorem support_indicator [Zero β] {s : Set α} (hs : MeasurableSet s) (f : α →ₛ β) :
     Function.support (f.piecewise s hs (SimpleFunc.const α 0)) = s ∩ Function.support f :=
   Set.support_indicator
@@ -1312,7 +1317,7 @@ theorem _root_.Measurable.add_simpleFunc
   · simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const,
       SimpleFunc.coe_zero]
     change Measurable (g + s.piecewise (Function.const α c) (0 : α → E))
-    rw [← piecewise_same s g, ← piecewise_add]
+    rw [← s.piecewise_same g, ← piecewise_add]
     exact Measurable.piecewise hs (hg.add_const _) (hg.add_const _)
   · have : (g + ↑(f + f'))
         = (Function.support f).piecewise (g + (f : α → E)) (g + f') := by
@@ -1337,7 +1342,7 @@ theorem _root_.Measurable.simpleFunc_add
   · simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const,
       SimpleFunc.coe_zero]
     change Measurable (s.piecewise (Function.const α c) (0 : α → E) + g)
-    rw [← piecewise_same s g, ← piecewise_add]
+    rw [← s.piecewise_same g, ← piecewise_add]
     exact Measurable.piecewise hs (hg.const_add _) (hg.const_add _)
   · have : (↑(f + f') + g)
         = (Function.support f).piecewise ((f : α → E) + g) (f' + g) := by
chore(MeasureTheory/Function): golf some proofs (#7588)
Diff
@@ -171,28 +171,12 @@ theorem range_const_subset (α) [MeasurableSpace α] (b : β) : (const α b).ran
 theorem simpleFunc_bot {α} (f : @SimpleFunc α ⊥ β) [Nonempty β] : ∃ c, ∀ x, f x = c := by
   have hf_meas := @SimpleFunc.measurableSet_fiber α _ ⊥ f
   simp_rw [MeasurableSpace.measurableSet_bot_iff] at hf_meas
-  cases' isEmpty_or_nonempty α with h h
-  · simp only [IsEmpty.forall_iff, exists_const]
-  · specialize hf_meas (f h.some)
-    cases' hf_meas with hf_meas hf_meas
-    · exfalso
-      refine' Set.not_mem_empty h.some _
-      rw [← hf_meas, Set.mem_preimage]
-      exact Set.mem_singleton _
-    · refine' ⟨f h.some, fun x => _⟩
-      have : x ∈ f ⁻¹' {f h.some} := by
-        rw [hf_meas]
-        exact Set.mem_univ x
-      rwa [Set.mem_preimage, Set.mem_singleton_iff] at this
+  exact (exists_eq_const_of_preimage_singleton hf_meas).imp fun c hc ↦ congr_fun hc
 #align measure_theory.simple_func.simple_func_bot MeasureTheory.SimpleFunc.simpleFunc_bot
 
 theorem simpleFunc_bot' {α} [Nonempty β] (f : @SimpleFunc α ⊥ β) :
-    ∃ c, f = @SimpleFunc.const α _ ⊥ c := by
-  letI : MeasurableSpace α := ⊥
-  obtain ⟨c, h_eq⟩ := simpleFunc_bot f
-  refine' ⟨c, _⟩
-  ext1 x
-  rw [h_eq x, SimpleFunc.coe_const, Function.const]
+    ∃ c, f = @SimpleFunc.const α _ ⊥ c :=
+  letI : MeasurableSpace α := ⊥; (simpleFunc_bot f).imp fun _ ↦ ext
 #align measure_theory.simple_func.simple_func_bot' MeasureTheory.SimpleFunc.simpleFunc_bot'
 
 theorem measurableSet_cut (r : α → β → Prop) (f : α →ₛ β) (h : ∀ b, MeasurableSet { a | r a b }) :
@@ -1126,7 +1110,6 @@ theorem lintegral_mono {f g : α →ₛ ℝ≥0∞} (hfg : f ≤ g) (hμν : μ
     _ = g.lintegral μ := by rw [sup_of_le_right hfg]
     _ ≤ g.lintegral ν :=
       Finset.sum_le_sum fun y _ => ENNReal.mul_left_mono <| hμν _ (g.measurableSet_preimage _)
-
 #align measure_theory.simple_func.lintegral_mono MeasureTheory.SimpleFunc.lintegral_mono
 
 /-- `SimpleFunc.lintegral` depends only on the measures of `f ⁻¹' {y}`. -/
feat: strong law of large numbers for vector-valued random variables (#7218)

We already have the strong law of large numbers for real-valued integrable random variables. We generalize it to general vector-valued integrable random variables. This does not require any second-countability assumptions as integrable functions can by definition be approximated by simple functions, for which the result is deduced from the one-dimensional one.

Along the way, we extend a few lemmas in the library from the real case to the vector case, and remove unneeded second-countability assumptions.

Diff
@@ -1318,6 +1318,56 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
     · simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]
 #align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.induction
 
+/-- In a topological vector space, the addition of a measurable function and a simple function is
+measurable. -/
+theorem _root_.Measurable.add_simpleFunc
+    {E : Type*} {_ : MeasurableSpace α} [MeasurableSpace E] [AddGroup E] [MeasurableAdd E]
+    {g : α → E} (hg : Measurable g) (f : SimpleFunc α E) :
+    Measurable (g + (f : α → E)) := by
+  classical
+  induction' f using SimpleFunc.induction with c s hs f f' hff' hf hf'
+  · simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const,
+      SimpleFunc.coe_zero]
+    change Measurable (g + s.piecewise (Function.const α c) (0 : α → E))
+    rw [← piecewise_same s g, ← piecewise_add]
+    exact Measurable.piecewise hs (hg.add_const _) (hg.add_const _)
+  · have : (g + ↑(f + f'))
+        = (Function.support f).piecewise (g + (f : α → E)) (g + f') := by
+      ext x
+      by_cases hx : x ∈ Function.support f
+      · simpa only [SimpleFunc.coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not,
+          Set.piecewise_eq_of_mem _ _ _ hx, _root_.add_right_inj, add_right_eq_self]
+          using Set.disjoint_left.1 hff' hx
+      · simpa only [SimpleFunc.coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not,
+          Set.piecewise_eq_of_not_mem _ _ _ hx, _root_.add_right_inj, add_left_eq_self] using hx
+    rw [this]
+    exact Measurable.piecewise f.measurableSet_support hf hf'
+
+/-- In a topological vector space, the addition of a simple function and a measurable function is
+measurable. -/
+theorem _root_.Measurable.simpleFunc_add
+    {E : Type*} {_ : MeasurableSpace α} [MeasurableSpace E] [AddGroup E] [MeasurableAdd E]
+    {g : α → E} (hg : Measurable g) (f : SimpleFunc α E) :
+    Measurable ((f : α → E) + g) := by
+  classical
+  induction' f using SimpleFunc.induction with c s hs f f' hff' hf hf'
+  · simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const,
+      SimpleFunc.coe_zero]
+    change Measurable (s.piecewise (Function.const α c) (0 : α → E) + g)
+    rw [← piecewise_same s g, ← piecewise_add]
+    exact Measurable.piecewise hs (hg.const_add _) (hg.const_add _)
+  · have : (↑(f + f') + g)
+        = (Function.support f).piecewise ((f : α → E) + g) (f' + g) := by
+      ext x
+      by_cases hx : x ∈ Function.support f
+      · simpa only [coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not,
+          Set.piecewise_eq_of_mem _ _ _ hx, _root_.add_left_inj, add_right_eq_self]
+          using Set.disjoint_left.1 hff' hx
+      · simpa only [SimpleFunc.coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not,
+          Set.piecewise_eq_of_not_mem _ _ _ hx, _root_.add_left_inj, add_left_eq_self] using hx
+    rw [this]
+    exact Measurable.piecewise f.measurableSet_support hf hf'
+
 end SimpleFunc
 
 end MeasureTheory
feat: Pmf.integral_eq_sum (#6454)

The main result is that the integral (i.e. the expected value) with regard to a measure derived from a Pmf is a sum weighted by the Pmf.

It also provides the expected value for specific probability mass functions (bernoulli so far).

Diff
@@ -93,6 +93,12 @@ def ofIsEmpty [IsEmpty α] : α →ₛ β where
   finite_range' := by simp [range_eq_empty]
 #align measure_theory.simple_func.of_is_empty MeasureTheory.SimpleFunc.ofIsEmpty
 
+/-- Simple function defined on a finite type. -/
+def ofFintype [Fintype α] [MeasurableSingletonClass α] (f : α → β) : α →ₛ β where
+  toFun := f
+  measurableSet_fiber' x := Finite.measurableSet (toFinite (f ⁻¹' {x}))
+  finite_range' := Set.finite_range f
+
 /-- Range of a simple function `α →ₛ β` as a `Finset β`. -/
 protected def range (f : α →ₛ β) : Finset β :=
   f.finite_range.toFinset
chore: tidy various files (#6577)
Diff
@@ -50,7 +50,6 @@ structure SimpleFunc.{u, v} (α : Type u) [MeasurableSpace α] (β : Type v) whe
 #align measure_theory.simple_func.measurable_set_fiber' MeasureTheory.SimpleFunc.measurableSet_fiber'
 #align measure_theory.simple_func.finite_range' MeasureTheory.SimpleFunc.finite_range'
 
--- mathport name: «expr →ₛ »
 local infixr:25 " →ₛ " => SimpleFunc
 
 namespace SimpleFunc
@@ -748,8 +747,7 @@ theorem restrict_of_not_measurable {f : α →ₛ β} {s : Set α} (hs : ¬Measu
 @[simp]
 theorem coe_restrict (f : α →ₛ β) {s : Set α} (hs : MeasurableSet s) :
     ⇑(restrict f s) = indicator s f := by
-  rw [restrict, dif_pos hs]
-  rfl
+  rw [restrict, dif_pos hs, coe_piecewise, coe_zero, piecewise_eq_indicator]
 #align measure_theory.simple_func.coe_restrict MeasureTheory.SimpleFunc.coe_restrict
 
 @[simp]
@@ -835,8 +833,8 @@ theorem approx_apply [TopologicalSpace β] [OrderClosedTopology β] [MeasurableS
   congr
   funext k
   rw [restrict_apply]
-  rfl
-  exact hf measurableSet_Ici
+  · simp only [coe_const, mem_setOf_eq, indicator_apply, Function.const_apply]
+  · exact hf measurableSet_Ici
 #align measure_theory.simple_func.approx_apply MeasureTheory.SimpleFunc.approx_apply
 
 theorem monotone_approx (i : ℕ → β) (f : α → β) : Monotone (approx i f) := fun _ _ h =>
@@ -847,8 +845,7 @@ theorem approx_comp [TopologicalSpace β] [OrderClosedTopology β] [MeasurableSp
     [OpensMeasurableSpace β] [MeasurableSpace γ] {i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
     (hf : Measurable f) (hg : Measurable g) :
     (approx i (f ∘ g) n : α →ₛ β) a = (approx i f n : γ →ₛ β) (g a) := by
-  rw [approx_apply _ hf, approx_apply _ (hf.comp hg)]
-  rfl
+  rw [approx_apply _ hf, approx_apply _ (hf.comp hg), Function.comp_apply]
 #align measure_theory.simple_func.approx_comp MeasureTheory.SimpleFunc.approx_comp
 
 end
@@ -860,8 +857,8 @@ theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClose
   · rw [approx_apply a hf, h_zero]
     refine' Finset.sup_le fun k _ => _
     split_ifs with h
-    exact le_iSup_of_le k (le_iSup (fun _ : i k ≤ f a => i k) h)
-    exact bot_le
+    · exact le_iSup_of_le k (le_iSup (fun _ : i k ≤ f a => i k) h)
+    · exact bot_le
   · refine' le_iSup_of_le (k + 1) _
     rw [approx_apply a hf]
     have : k ∈ Finset.range (k + 1) := Finset.mem_range.2 (Nat.lt_succ_self _)
@@ -916,8 +913,7 @@ theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α)
     (Real.toNNReal q : ℝ≥0∞) ≤ ⨆ (k : ℕ) (_ : ennrealRatEmbed k ≤ f a), ennrealRatEmbed k := by
     refine' le_iSup_of_le (Encodable.encode q) _
     rw [ennrealRatEmbed_encode q]
-    refine' le_iSup_of_le (le_of_lt q_lt) _
-    exact le_rfl
+    exact le_iSup_of_le (le_of_lt q_lt) le_rfl
   exact lt_irrefl _ (lt_of_le_of_lt this lt_q)
 #align measure_theory.simple_func.supr_eapprox_apply MeasureTheory.SimpleFunc.iSup_eapprox_apply
 
@@ -1109,8 +1105,8 @@ theorem le_sup_lintegral (f g : α →ₛ ℝ≥0∞) : f.lintegral μ ⊔ g.lin
     _ ≤ ∑ x in (pair f g).range, (x.1 ⊔ x.2) * μ (pair f g ⁻¹' {x}) := by
       rw [map_lintegral, map_lintegral]
       refine' sup_le _ _ <;> refine' Finset.sum_le_sum fun a _ => mul_le_mul_right' _ _
-      exact le_sup_left
-      exact le_sup_right
+      · exact le_sup_left
+      · exact le_sup_right
     _ = (f ⊔ g).lintegral μ := by rw [sup_eq_map₂, map_lintegral]
 #align measure_theory.simple_func.le_sup_lintegral MeasureTheory.SimpleFunc.le_sup_lintegral
 
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -1070,7 +1070,7 @@ theorem restrict_lintegral (f : α →ₛ ℝ≥0∞) {s : Set α} (hs : Measura
     _ = ∑ r in f.range, r * μ (f ⁻¹' {r} ∩ s) :=
       Finset.sum_congr rfl <|
         forall_range_iff.2 fun b =>
-          if hb : f b = 0 then by simp only [hb, MulZeroClass.zero_mul]
+          if hb : f b = 0 then by simp only [hb, zero_mul]
           else by rw [restrict_preimage_singleton _ hs hb, inter_comm]
 #align measure_theory.simple_func.restrict_lintegral MeasureTheory.SimpleFunc.restrict_lintegral
 
@@ -1239,7 +1239,7 @@ protected theorem add {β} [AddMonoid β] {f g : α →ₛ β} (hf : f.FinMeasSu
 protected theorem mul {β} [MonoidWithZero β] {f g : α →ₛ β} (hf : f.FinMeasSupp μ)
     (hg : g.FinMeasSupp μ) : (f * g).FinMeasSupp μ := by
   rw [mul_eq_map₂]
-  exact hf.map₂ hg (MulZeroClass.zero_mul 0)
+  exact hf.map₂ hg (zero_mul 0)
 #align measure_theory.simple_func.fin_meas_supp.mul MeasureTheory.SimpleFunc.FinMeasSupp.mul
 
 theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf : ∀ᵐ a ∂μ, f a ≠ ∞) :
@@ -1250,7 +1250,7 @@ theorem lintegral_lt_top {f : α →ₛ ℝ≥0∞} (hm : f.FinMeasSupp μ) (hf
     simp [Set.preimage, hf]
   · by_cases ha0 : a = 0
     · subst a
-      rwa [MulZeroClass.zero_mul]
+      rwa [zero_mul]
     · exact mul_ne_top ha (finMeasSupp_iff.1 hm _ ha0).ne
 #align measure_theory.simple_func.fin_meas_supp.lintegral_lt_top MeasureTheory.SimpleFunc.FinMeasSupp.lintegral_lt_top
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -36,7 +36,7 @@ open Classical Topology BigOperators NNReal ENNReal MeasureTheory
 
 namespace MeasureTheory
 
-variable {α β γ δ : Type _}
+variable {α β γ δ : Type*}
 
 /-- A function `f` from a measurable space to any type is called *simple*,
 if every preimage `f ⁻¹' {x}` is measurable, and the range is finite. This structure bundles
@@ -580,7 +580,7 @@ theorem map_mul [Mul β] [Mul γ] {g : β → γ} (hg : ∀ x y, g (x * y) = g x
 #align measure_theory.simple_func.map_mul MeasureTheory.SimpleFunc.map_mul
 #align measure_theory.simple_func.map_add MeasureTheory.SimpleFunc.map_add
 
-variable {K : Type _}
+variable {K : Type*}
 
 instance instSMul [SMul K β] : SMul K (α →ₛ β) :=
   ⟨fun k f => f.map ((· • ·) k)⟩
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2018 Mario Carneiro. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro, Johannes Hölzl
-
-! This file was ported from Lean 3 source module measure_theory.function.simple_func
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
 import Mathlib.Algebra.IndicatorFunction
 import Mathlib.Algebra.Support
 
+#align_import measure_theory.function.simple_func from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
+
 /-!
 # Simple functions
 
fix: precedences of ⨆⋃⋂⨅ (#5614)
Diff
@@ -858,7 +858,7 @@ end
 
 theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
-    (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (_ : i k ≤ f a), i k := by
+    (h_zero : (0 : β) = ⊥) : ⨆ n, (approx i f n : α →ₛ β) a = ⨆ (k) (_ : i k ≤ f a), i k := by
   refine' le_antisymm (iSup_le fun n => _) (iSup_le fun k => iSup_le fun hk => _)
   · rw [approx_apply a hf, h_zero]
     refine' Finset.sup_le fun k _ => _
@@ -910,7 +910,7 @@ theorem monotone_eapprox (f : α → ℝ≥0∞) : Monotone (eapprox f) :=
 #align measure_theory.simple_func.monotone_eapprox MeasureTheory.SimpleFunc.monotone_eapprox
 
 theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α) :
-    (⨆ n, (eapprox f n : α →ₛ ℝ≥0∞) a) = f a := by
+    ⨆ n, (eapprox f n : α →ₛ ℝ≥0∞) a = f a := by
   rw [eapprox, iSup_approx_apply ennrealRatEmbed f a hf rfl]
   refine' le_antisymm (iSup_le fun i => iSup_le fun hi => hi) (le_of_not_gt _)
   intro h
fix: change compl precedence (#5586)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -252,8 +252,8 @@ theorem piecewise_apply {s : Set α} (hs : MeasurableSet s) (f g : α →ₛ β)
 #align measure_theory.simple_func.piecewise_apply MeasureTheory.SimpleFunc.piecewise_apply
 
 @[simp]
-theorem piecewise_compl {s : Set α} (hs : MeasurableSet (sᶜ)) (f g : α →ₛ β) :
-    piecewise (sᶜ) hs f g = piecewise s hs.of_compl g f :=
+theorem piecewise_compl {s : Set α} (hs : MeasurableSet sᶜ) (f g : α →ₛ β) :
+    piecewise sᶜ hs f g = piecewise s hs.of_compl g f :=
   coe_injective <| by simp [hs]; convert Set.piecewise_compl s f g
 #align measure_theory.simple_func.piecewise_compl MeasureTheory.SimpleFunc.piecewise_compl
 
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -858,7 +858,7 @@ end
 
 theorem iSup_approx_apply [TopologicalSpace β] [CompleteLattice β] [OrderClosedTopology β] [Zero β]
     [MeasurableSpace β] [OpensMeasurableSpace β] (i : ℕ → β) (f : α → β) (a : α) (hf : Measurable f)
-    (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (_h : i k ≤ f a), i k := by
+    (h_zero : (0 : β) = ⊥) : (⨆ n, (approx i f n : α →ₛ β) a) = ⨆ (k) (_ : i k ≤ f a), i k := by
   refine' le_antisymm (iSup_le fun n => _) (iSup_le fun k => iSup_le fun hk => _)
   · rw [approx_apply a hf, h_zero]
     refine' Finset.sup_le fun k _ => _
@@ -916,7 +916,7 @@ theorem iSup_eapprox_apply (f : α → ℝ≥0∞) (hf : Measurable f) (a : α)
   intro h
   rcases ENNReal.lt_iff_exists_rat_btwn.1 h with ⟨q, _, lt_q, q_lt⟩
   have :
-    (Real.toNNReal q : ℝ≥0∞) ≤ ⨆ (k : ℕ) (_h : ennrealRatEmbed k ≤ f a), ennrealRatEmbed k := by
+    (Real.toNNReal q : ℝ≥0∞) ≤ ⨆ (k : ℕ) (_ : ennrealRatEmbed k ≤ f a), ennrealRatEmbed k := by
     refine' le_iSup_of_le (Encodable.encode q) _
     rw [ennrealRatEmbed_encode q]
     refine' le_iSup_of_le (le_of_lt q_lt) _
chore: update std 05-22 (#4248)

The main breaking change is that tac <;> [t1, t2] is now written tac <;> [t1; t2], to avoid clashing with tactics like cases and use that take comma-separated lists.

Diff
@@ -1309,14 +1309,14 @@ protected theorem induction {α γ} [MeasurableSpace α] [AddMonoid γ] {P : Sim
       · rwa [Finset.mem_coe]
     convert h_add _ Pg (h_ind x mx)
     · ext1 y
-      by_cases hy : y ∈ f ⁻¹' {x} <;>
-        [simpa [piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator],
-          simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]]
+      by_cases hy : y ∈ f ⁻¹' {x}
+      · simpa [piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator]
+      · simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]
     rw [disjoint_iff_inf_le]
     rintro y
-    by_cases hy : y ∈ f ⁻¹' {x} <;>
-      [simp [piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator],
-          simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]]
+    by_cases hy : y ∈ f ⁻¹' {x}
+    · simp [piecewise_eq_of_mem _ _ _ hy, -piecewise_eq_indicator]
+    · simp [piecewise_eq_of_not_mem _ _ _ hy, -piecewise_eq_indicator]
 #align measure_theory.simple_func.induction MeasureTheory.SimpleFunc.induction
 
 end SimpleFunc
feat: port MeasureTheory.Function.SimpleFunc (#4043)

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: ChrisHughes24 <chrishughes24@gmail.com>

Dependencies 10 + 633

634 files ported (98.4%)
285411 lines ported (98.2%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file