-- Mathlib/MeasureTheory/Integral/SetToL1.lean
theorem of_smul_measure {c : ℝ≥0∞} (hc_ne_top : c ≠ ∞) (hT : DominatedFinMeasAdditive (c • μ) T C) :
    DominatedFinMeasAdditive μ T (c.toReal * C)

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c • μ s ≠ ⊤
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Tactic:
rw [smul_eq_mul] at hcμs

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c * μ s ≠ ⊤
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Tactic:
have hcμs : c • μ s ≠ ∞ := mt (h s hs) hμs.ne

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c • μ s ≠ ⊤
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
⊢ DominatedFinMeasAdditive μ T (c.toReal * C)

Tactic:
refine ⟨hT.1.of_eq_top_imp_eq_top (μ := c • μ) h, fun s hs hμs => ?_⟩

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
s : Set α
a✝ : MeasurableSet s
hcμs : c • μ s = ⊤
⊢ μ s = ⊤

Tactic:
simp only [hc_ne_top, Algebra.id.smul_eq_mul, ENNReal.mul_eq_top, or_false, Ne,
  false_and] at hcμs

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
s : Set α
a✝ : MeasurableSet s
hcμs : ¬c = 0 ∧ μ s = ⊤
⊢ μ s = ⊤

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c * μ s ≠ ⊤
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Tactic:
simp_rw [DominatedFinMeasAdditive, Measure.smul_apply, smul_eq_mul, toReal_mul] at hT

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c * μ s ≠ ⊤
hT : FinMeasAdditive (c • μ) T ∧ ∀ (s : Set α), MeasurableSet s → c * μ s < ⊤ → ‖T s‖ ≤ C * (c.toReal * (μ s).toReal)
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c * μ s ≠ ⊤
hT : FinMeasAdditive (c • μ) T ∧ ∀ (s : Set α), MeasurableSet s → c * μ s < ⊤ → ‖T s‖ ≤ C * (c.toReal * (μ s).toReal)
⊢ C * (c.toReal * (μ s).toReal) = c.toReal * C * (μ s).toReal

Tactic:
ring

Result:
no goals

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
⊢ DominatedFinMeasAdditive μ T (c.toReal * C)

Tactic:
have h : ∀ s, MeasurableSet s → c • μ s = ∞ → μ s = ∞ := by
  intro s _ hcμs
  simp only [hc_ne_top, Algebra.id.smul_eq_mul, ENNReal.mul_eq_top, or_false, Ne,
    false_and] at hcμs
  exact hcμs.2

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
⊢ DominatedFinMeasAdditive μ T (c.toReal * C)

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
s : Set α
a✝ : MeasurableSet s
hcμs : ¬c = 0 ∧ μ s = ⊤
⊢ μ s = ⊤

Tactic:
exact hcμs.2

Result:
no goals

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
⊢ ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤

Tactic:
intro s _ hcμs

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : DominatedFinMeasAdditive (c • μ) T C
s : Set α
a✝ : MeasurableSet s
hcμs : c • μ s = ⊤
⊢ μ s = ⊤

Proof state:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c * μ s ≠ ⊤
hT : FinMeasAdditive (c • μ) T ∧ ∀ (s : Set α), MeasurableSet s → c * μ s < ⊤ → ‖T s‖ ≤ C * (c.toReal * (μ s).toReal)
⊢ ‖T s‖ ≤ c.toReal * C * (μ s).toReal

Tactic:
refine (hT.2 s hs hcμs.lt_top).trans (le_of_eq ?_)

Result:
α : Type u_1
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T : Set α → β
C : ℝ
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
h : ∀ (s : Set α), MeasurableSet s → c • μ s = ⊤ → μ s = ⊤
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
hcμs : c * μ s ≠ ⊤
hT : FinMeasAdditive (c • μ) T ∧ ∀ (s : Set α), MeasurableSet s → c * μ s < ⊤ → ‖T s‖ ≤ C * (c.toReal * (μ s).toReal)
⊢ C * (c.toReal * (μ s).toReal) = c.toReal * C * (μ s).toReal