Theorem: NonUnitalStarAlgHom.realContinuousMapZeroOfNNReal_apply
File: Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Unique.lean

Proof steps:
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun 0 = 0
state_after: no goals
tactic: simp
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun (f * g) =
    { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun f *
      { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun g
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ ((f * g).toNNReal + (-f).toNNReal * g.toNNReal + f.toNNReal * (-g).toNNReal) =
    φ ((-(f * g)).toNNReal + f.toNNReal * g.toNNReal + (-f).toNNReal * (-g).toNNReal)
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun (f * g) =
    { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun f *
      { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun g
tactic: have := congr(φ $(f.toNNReal_mul_add_neg_mul_add_mul_neg_eq g))
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ ((f * g).toNNReal + (-f).toNNReal * g.toNNReal + f.toNNReal * (-g).toNNReal) =
    φ ((-(f * g)).toNNReal + f.toNNReal * g.toNNReal + (-f).toNNReal * (-g).toNNReal)
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun (f * g) =
    { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun f *
      { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }.toFun g
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal =
    φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal
⊢ φ (f * g).toNNReal - φ (-(f * g)).toNNReal =
    φ f.toNNReal * φ g.toNNReal - φ (-f).toNNReal * φ g.toNNReal -
      (φ f.toNNReal * φ (-g).toNNReal - φ (-f).toNNReal * φ (-g).toNNReal)
tactic: simp only [map_add, map_mul, sub_mul, mul_sub] at this ⊢
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal =
    φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal
⊢ φ (f * g).toNNReal - φ (-(f * g)).toNNReal =
    φ f.toNNReal * φ g.toNNReal - φ (-f).toNNReal * φ g.toNNReal -
      (φ f.toNNReal * φ (-g).toNNReal - φ (-f).toNNReal * φ (-g).toNNReal)
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal -
      (φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal) =
    0
⊢ φ (f * g).toNNReal - φ (-(f * g)).toNNReal -
      (φ f.toNNReal * φ g.toNNReal - φ (-f).toNNReal * φ g.toNNReal -
        (φ f.toNNReal * φ (-g).toNNReal - φ (-f).toNNReal * φ (-g).toNNReal)) =
    0
tactic: rw [← sub_eq_zero] at this ⊢
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal -
      (φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal) =
    0
⊢ φ (f * g).toNNReal - φ (-(f * g)).toNNReal -
      (φ f.toNNReal * φ g.toNNReal - φ (-f).toNNReal * φ g.toNNReal -
        (φ f.toNNReal * φ (-g).toNNReal - φ (-f).toNNReal * φ (-g).toNNReal)) =
    0
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal -
      (φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal) =
    0
⊢ φ (f * g).toNNReal - φ (-(f * g)).toNNReal -
      (φ f.toNNReal * φ g.toNNReal - φ (-f).toNNReal * φ g.toNNReal -
        (φ f.toNNReal * φ (-g).toNNReal - φ (-f).toNNReal * φ (-g).toNNReal)) =
    φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal -
      (φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal)
tactic: rw [← this]
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal -
      (φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal) =
    0
⊢ φ (f * g).toNNReal - φ (-(f * g)).toNNReal -
      (φ f.toNNReal * φ g.toNNReal - φ (-f).toNNReal * φ g.toNNReal -
        (φ f.toNNReal * φ (-g).toNNReal - φ (-f).toNNReal * φ (-g).toNNReal)) =
    φ (f * g).toNNReal + φ (-f).toNNReal * φ g.toNNReal + φ f.toNNReal * φ (-g).toNNReal -
      (φ (-(f * g)).toNNReal + φ f.toNNReal * φ g.toNNReal + φ (-f).toNNReal * φ (-g).toNNReal)
state_after: no goals
tactic: abel
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun (f + g) =
    { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun f +
      { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun g
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this : φ ((f + g).toNNReal + (-f).toNNReal + (-g).toNNReal) = φ ((-(f + g)).toNNReal + f.toNNReal + g.toNNReal)
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun (f + g) =
    { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun f +
      { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun g
tactic: have := congr(φ $(f.toNNReal_add_add_neg_add_neg_eq g))
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this : φ ((f + g).toNNReal + (-f).toNNReal + (-g).toNNReal) = φ ((-(f + g)).toNNReal + f.toNNReal + g.toNNReal)
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun (f + g) =
    { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun f +
      { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯ }.toFun g
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this : φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal = φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal
⊢ φ (f + g).toNNReal - φ (-(f + g)).toNNReal = φ f.toNNReal - φ (-f).toNNReal + (φ g.toNNReal - φ (-g).toNNReal)
tactic: simp only [map_add, map_mul, sub_mul, mul_sub] at this ⊢
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this : φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal = φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal
⊢ φ (f + g).toNNReal - φ (-(f + g)).toNNReal = φ f.toNNReal - φ (-f).toNNReal + (φ g.toNNReal - φ (-g).toNNReal)
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal - (φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal) = 0
⊢ φ (f + g).toNNReal - φ (-(f + g)).toNNReal - (φ f.toNNReal - φ (-f).toNNReal + (φ g.toNNReal - φ (-g).toNNReal)) = 0
tactic: rw [← sub_eq_zero] at this ⊢
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal - (φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal) = 0
⊢ φ (f + g).toNNReal - φ (-(f + g)).toNNReal - (φ f.toNNReal - φ (-f).toNNReal + (φ g.toNNReal - φ (-g).toNNReal)) = 0
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal - (φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal) = 0
⊢ φ (f + g).toNNReal - φ (-(f + g)).toNNReal - (φ f.toNNReal - φ (-f).toNNReal + (φ g.toNNReal - φ (-g).toNNReal)) =
    φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal - (φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal)
tactic: rw [← this]
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f g : C(X, ℝ)₀
this :
  φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal - (φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal) = 0
⊢ φ (f + g).toNNReal - φ (-(f + g)).toNNReal - (φ f.toNNReal - φ (-f).toNNReal + (φ g.toNNReal - φ (-g).toNNReal)) =
    φ (f + g).toNNReal + φ (-f).toNNReal + φ (-g).toNNReal - (φ (-(f + g)).toNNReal + φ f.toNNReal + φ g.toNNReal)
state_after: no goals
tactic: abel
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
r : ℝ
f : C(X, ℝ)₀
⊢ (fun f => φ f.toNNReal - φ (-f).toNNReal) (r • f) = (MonoidHom.id ℝ) r • (fun f => φ f.toNNReal - φ (-f).toNNReal) f
state_after: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
r : ℝ
f : C(X, ℝ)₀
⊢ φ (r • f).toNNReal - φ (-(r • f)).toNNReal = r • (φ f.toNNReal - φ (-f).toNNReal)
tactic: simp only [MonoidHom.id_apply]
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
r : ℝ
f : C(X, ℝ)₀
⊢ φ (r • f).toNNReal - φ (-(r • f)).toNNReal = r • (φ f.toNNReal - φ (-f).toNNReal)
state_after: case pos
X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
r : ℝ
f : C(X, ℝ)₀
hr : 0 ≤ r
⊢ φ (r • f).toNNReal - φ (-(r • f)).toNNReal = r • (φ f.toNNReal - φ (-f).toNNReal)

case neg
X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
r : ℝ
f : C(X, ℝ)₀
hr : ¬0 ≤ r
⊢ φ (r • f).toNNReal - φ (-(r • f)).toNNReal = r • (φ f.toNNReal - φ (-f).toNNReal)
tactic: by_cases hr : 0 ≤ r
state_before: X : Type u_1
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Zero X
A : Type u_2
inst✝⁶ : TopologicalSpace A
inst✝⁵ : NonUnitalRing A
inst✝⁴ : StarRing A
inst✝³ : Module ℝ A
inst✝² : IsScalarTower ℝ A A
inst✝¹ : SMulCommClass ℝ A A
inst✝ : TopologicalRing A
φ : C(X, ℝ≥0)₀ →⋆ₙₐ[ℝ≥0] A
f : C(X, ℝ)₀
⊢ { toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯,
          map_mul' := ⋯ }.toFun
      (star f) =
    star
      ({ toFun := fun f => φ f.toNNReal - φ (-f).toNNReal, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯,
            map_mul' := ⋯ }.toFun
        f)
state_after: no goals
tactic: simp only [star_trivial, star_sub, ← map_star]