Theorem: MeasureTheory.SignedMeasure.toJordanDecomposition_smul_real
File: Mathlib/MeasureTheory/Decomposition/Jordan.lean

tactic: by_cases hr : 0 ≤ r
state_before: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
⊢ (r • s).toJordanDecomposition = r • s.toJordanDecomposition
state_after: case pos
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : 0 ≤ r
⊢ (r • s).toJordanDecomposition = r • s.toJordanDecomposition

case neg
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ (r • s).toJordanDecomposition = r • s.toJordanDecomposition

tactic: exact toJordanDecomposition_smul_real_nonneg s r hr
state_before: case pos
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : 0 ≤ r
⊢ (r • s).toJordanDecomposition = r • s.toJordanDecomposition
state_after: no goals

tactic: ext1
state_before: case neg
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ (r • s).toJordanDecomposition = r • s.toJordanDecomposition
state_after: case neg.posPart
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ (r • s).toJordanDecomposition.posPart = (r • s.toJordanDecomposition).posPart

case neg.negPart
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ (r • s).toJordanDecomposition.negPart = (r • s.toJordanDecomposition).negPart

tactic: rw [real_smul_posPart_neg _ _ (not_le.1 hr),
  show r • s = -(-r • s) by rw [neg_smul, neg_neg], toJordanDecomposition_neg, neg_posPart,
  toJordanDecomposition_smul_real_nonneg, ← smul_negPart, real_smul_nonneg]
state_before: case neg.posPart
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ (r • s).toJordanDecomposition.posPart = (r • s.toJordanDecomposition).posPart
state_after: case neg.posPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r

case neg.posPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r

tactic: all_goals exact Left.nonneg_neg_iff.2 (le_of_lt (not_le.1 hr))
state_before: case neg.posPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r

case neg.posPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r
state_after: no goals

tactic: rw [neg_smul, neg_neg]
state_before: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ r • s = -(-r • s)
state_after: no goals

tactic: exact Left.nonneg_neg_iff.2 (le_of_lt (not_le.1 hr))
state_before: case neg.posPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r
state_after: no goals

tactic: rw [real_smul_negPart_neg _ _ (not_le.1 hr),
  show r • s = -(-r • s) by rw [neg_smul, neg_neg], toJordanDecomposition_neg, neg_negPart,
  toJordanDecomposition_smul_real_nonneg, ← smul_posPart, real_smul_nonneg]
state_before: case neg.negPart
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ (r • s).toJordanDecomposition.negPart = (r • s.toJordanDecomposition).negPart
state_after: case neg.negPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r

case neg.negPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r

tactic: all_goals exact Left.nonneg_neg_iff.2 (le_of_lt (not_le.1 hr))
state_before: case neg.negPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r

case neg.negPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r
state_after: no goals

tactic: exact Left.nonneg_neg_iff.2 (le_of_lt (not_le.1 hr))
state_before: case neg.negPart.hr
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
r : ℝ
hr : ¬0 ≤ r
⊢ 0 ≤ -r
state_after: no goals