l3lab/ntp-mathlib huggingface dataset:
theorem condexpInd_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
    (hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) : (condexpInd G hm μ (s ∪ t) : G →L[ℝ] α →₁[μ] G) =
    condexpInd G hm μ s + condexpInd G hm μ t := by
  ext1 x; push_cast; 

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
ht : MeasurableSet t
hμs : ↑↑μ s ≠ ⊤
hμt : ↑↑μ t ≠ ⊤
hst : s ∩ t = ∅
x : G
⊢ (condexpInd G hm μ (s ∪ t)) x = (⇑(condexpInd G hm μ s) + ⇑(condexpInd G hm μ t)) x

Next tactic:
exact condexpInd_disjoint_union_apply hs ht hμs hμt hst x
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
⊢ (condexpInd G hm μ s) c = indicatorConstLp 1 (_ : MeasurableSet s) hμs c

Next tactic:
ext1
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
⊢ ↑↑((condexpInd G hm μ s) c) =ᵐ[μ] ↑↑(indicatorConstLp 1 (_ : MeasurableSet s) hμs c)

Next tactic:
refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
⊢ ↑↑((condexpInd G hm μ s) c) =ᵐ[μ] Set.indicator s fun x => c

Next tactic:
refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
⊢ ↑↑(condexpIndSMul hm (_ : MeasurableSet s) hμs c) =ᵐ[μ] Set.indicator s fun x => c

Next tactic:
refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 (_ : MeasurableSet s) hμs 1)) a • c) =ᵐ[μ]
    Set.indicator s fun x => c

Next tactic:
rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
⊢ (fun a => ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) a • c) =ᵐ[μ] Set.indicator s fun x => c

Next tactic:
refine' (@indicatorConstLp_coeFn α _ _ 2 μ _ s (hm s hs) hμs (1 : ℝ)).mono fun x hx => _
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
  refine' (@indicatorConstLp_coeFn α _ _ 2 μ _ s (hm s hs) hμs (1 : ℝ)).mono fun x hx => _
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
x : α
hx : ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) x = Set.indicator s (fun x => 1) x
⊢ (fun a => ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) a • c) x = Set.indicator s (fun x => c) x

Next tactic:
dsimp only
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
  refine' (@indicatorConstLp_coeFn α _ _ 2 μ _ s (hm s hs) hμs (1 : ℝ)).mono fun x hx => _
  dsimp only
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
x : α
hx : ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) x = Set.indicator s (fun x => 1) x
⊢ ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) x • c = Set.indicator s (fun x => c) x

Next tactic:
rw [hx]
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
  refine' (@indicatorConstLp_coeFn α _ _ 2 μ _ s (hm s hs) hμs (1 : ℝ)).mono fun x hx => _
  dsimp only
  rw [hx]
  

Proof state:
case h
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
x : α
hx : ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) x = Set.indicator s (fun x => 1) x
⊢ Set.indicator s (fun x => 1) x • c = Set.indicator s (fun x => c) x

Next tactic:
by_cases hx_mem : x ∈ s
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
  refine' (@indicatorConstLp_coeFn α _ _ 2 μ _ s (hm s hs) hμs (1 : ℝ)).mono fun x hx => _
  dsimp only
  rw [hx]
  by_cases hx_mem : x ∈ s <;> 

Proof state:
case pos
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
x : α
hx : ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) x = Set.indicator s (fun x => 1) x
hx_mem : x ∈ s
⊢ Set.indicator s (fun x => 1) x • c = Set.indicator s (fun x => c) x

Next tactic:
simp [hx_mem]
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
    condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
  ext1
  refine' EventuallyEq.trans _ indicatorConstLp_coeFn.symm
  refine' (condexpInd_ae_eq_condexpIndSMul hm (hm s hs) hμs c).trans _
  refine' (condexpIndSMul_ae_eq_smul hm (hm s hs) hμs c).trans _
  rw [lpMeas_coe, condexpL2_indicator_of_measurable hm hs hμs (1 : ℝ)]
  refine' (@indicatorConstLp_coeFn α _ _ 2 μ _ s (hm s hs) hμs (1 : ℝ)).mono fun x hx => _
  dsimp only
  rw [hx]
  by_cases hx_mem : x ∈ s <;> 

Proof state:
case neg
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜 F'
inst✝⁷ : NormedSpace ℝ F'
inst✝⁶ : CompleteSpace F'
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedAddCommGroup G'
inst✝³ : NormedSpace ℝ G'
inst✝² : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝¹ : NormedSpace ℝ G
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : G
x : α
hx : ↑↑(indicatorConstLp 2 (_ : MeasurableSet s) hμs 1) x = Set.indicator s (fun x => 1) x
hx_mem : x ∉ s
⊢ Set.indicator s (fun x => 1) x • c = Set.indicator s (fun x => c) x

Next tactic:
simp [hx_mem]
theorem condexpInd_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
    (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : E) (hx : 0 ≤ x) : 0 ≤ condexpInd E hm μ s x := by
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹⁵ : IsROrC 𝕜
inst✝¹⁴ : NormedAddCommGroup F
inst✝¹³ : NormedSpace 𝕜 F
inst✝¹² : NormedAddCommGroup F'
inst✝¹¹ : NormedSpace 𝕜 F'
inst✝¹⁰ : NormedSpace ℝ F'
inst✝⁹ : CompleteSpace F'
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedAddCommGroup G'
inst✝⁶ : NormedSpace ℝ G'
inst✝⁵ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝⁴ : NormedSpace ℝ G
hm : m ≤ m0
inst✝³ : SigmaFinite (Measure.trim μ hm)
E : Type u_8
inst✝² : NormedLatticeAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : OrderedSMul ℝ E
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : E
hx : 0 ≤ x
⊢ 0 ≤ (condexpInd E hm μ s) x

Next tactic:
rw [← coeFn_le]
theorem condexpInd_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
    (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : E) (hx : 0 ≤ x) : 0 ≤ condexpInd E hm μ s x := by
  rw [← coeFn_le]
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹⁵ : IsROrC 𝕜
inst✝¹⁴ : NormedAddCommGroup F
inst✝¹³ : NormedSpace 𝕜 F
inst✝¹² : NormedAddCommGroup F'
inst✝¹¹ : NormedSpace 𝕜 F'
inst✝¹⁰ : NormedSpace ℝ F'
inst✝⁹ : CompleteSpace F'
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedAddCommGroup G'
inst✝⁶ : NormedSpace ℝ G'
inst✝⁵ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝⁴ : NormedSpace ℝ G
hm : m ≤ m0
inst✝³ : SigmaFinite (Measure.trim μ hm)
E : Type u_8
inst✝² : NormedLatticeAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : OrderedSMul ℝ E
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : E
hx : 0 ≤ x
⊢ ↑↑0 ≤ᵐ[μ] ↑↑((condexpInd E hm μ s) x)

Next tactic:
refine' EventuallyLE.trans_eq _ (condexpInd_ae_eq_condexpIndSMul hm hs hμs x).symm
theorem condexpInd_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
    (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : E) (hx : 0 ≤ x) : 0 ≤ condexpInd E hm μ s x := by
  rw [← coeFn_le]
  refine' EventuallyLE.trans_eq _ (condexpInd_ae_eq_condexpIndSMul hm hs hμs x).symm
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹⁵ : IsROrC 𝕜
inst✝¹⁴ : NormedAddCommGroup F
inst✝¹³ : NormedSpace 𝕜 F
inst✝¹² : NormedAddCommGroup F'
inst✝¹¹ : NormedSpace 𝕜 F'
inst✝¹⁰ : NormedSpace ℝ F'
inst✝⁹ : CompleteSpace F'
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedAddCommGroup G'
inst✝⁶ : NormedSpace ℝ G'
inst✝⁵ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝⁴ : NormedSpace ℝ G
hm : m ≤ m0
inst✝³ : SigmaFinite (Measure.trim μ hm)
E : Type u_8
inst✝² : NormedLatticeAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : OrderedSMul ℝ E
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : E
hx : 0 ≤ x
⊢ ↑↑0 ≤ᵐ[μ] ↑↑(condexpIndSMul hm hs hμs x)

Next tactic:
exact (coeFn_zero E 1 μ).trans_le (condexpIndSMul_nonneg hs hμs x hx)
theorem condexpL1Clm_smul (c : 𝕜) (f : α →₁[μ] F') :
    condexpL1Clm F' hm μ (c • f) = c • condexpL1Clm F' hm μ f := by
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
c : 𝕜
f : ↥(Lp F' 1)
⊢ (condexpL1Clm F' hm μ) (c • f) = c • (condexpL1Clm F' hm μ) f

Next tactic:
refine' L1.setToL1_smul (dominatedFinMeasAdditive_condexpInd F' hm μ) _ c f
theorem condexpL1Clm_smul (c : 𝕜) (f : α →₁[μ] F') :
    condexpL1Clm F' hm μ (c • f) = c • condexpL1Clm F' hm μ f := by
  refine' L1.setToL1_smul (dominatedFinMeasAdditive_condexpInd F' hm μ) _ c f
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
c : 𝕜
f : ↥(Lp F' 1)
⊢ ∀ (c : 𝕜) (s : Set α) (x : F'), (condexpInd F' hm μ s) (c • x) = c • (condexpInd F' hm μ s) x

Next tactic:
exact fun c s x => condexpInd_smul' c x
theorem condexpL1Clm_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
    (condexpL1Clm F' hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd F' hm μ s x := by
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f g : α → F'
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : F'
⊢ (condexpL1Clm F' hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = (condexpInd F' hm μ s) x

Next tactic:
rw [Lp.simpleFunc.coe_indicatorConst]
theorem condexpL1Clm_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
    (condexpL1Clm F' hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd F' hm μ s x := by
  rw [Lp.simpleFunc.coe_indicatorConst]; 

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f g : α → F'
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : F'
⊢ (condexpL1Clm F' hm μ) (indicatorConstLp 1 hs hμs x) = (condexpInd F' hm μ s) x

Next tactic:
exact condexpL1Clm_indicatorConstLp hs hμs x
/-- Auxiliary lemma used in the proof of `set_integral_condexpL1Clm`. -/
theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
    (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
⊢ ∫ (x : α) in s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ = ∫ (x : α) in s, ↑↑f x ∂μ

Next tactic:
refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ) _ _
    (isClosed_eq _ _) f
/-- Auxiliary lemma used in the proof of `set_integral_condexpL1Clm`. -/
theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
    (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ) _ _
    (isClosed_eq _ _) f
  · 

Proof state:
case refine'_1
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
⊢ ∀ (c : F') {s_1 : Set α} (hs : MeasurableSet s_1) (hμs : ↑↑μ s_1 < ⊤),
    (fun f => ∫ (x : α) in s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ = ∫ (x : α) in s, ↑↑f x ∂μ)
      ↑(simpleFunc.indicatorConst 1 hs (_ : ↑↑μ s_1 ≠ ⊤) c)

Next tactic:
intro x t ht hμt
/-- Auxiliary lemma used in the proof of `set_integral_condexpL1Clm`. -/
theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
    (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ) _ _
    (isClosed_eq _ _) f
  · intro x t ht hμt
    

Proof state:
case refine'_1
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : F'
t : Set α
ht : MeasurableSet t
hμt : ↑↑μ t < ⊤
⊢ ∫ (x_1 : α) in s, ↑↑((condexpL1Clm F' hm μ) ↑(simpleFunc.indicatorConst 1 ht (_ : ↑↑μ t ≠ ⊤) x)) x_1 ∂μ =
    ∫ (x_1 : α) in s, ↑↑↑(simpleFunc.indicatorConst 1 ht (_ : ↑↑μ t ≠ ⊤) x) x_1 ∂μ

Next tactic:
simp_rw [condexpL1Clm_indicatorConst ht hμt.ne x]