import Mathlib.Analysis.Complex.CauchyIntegral
--import Mathlib.Analysis.Complex.Module



example simplificationTest₁
  {E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] [IsScalarTower ℝ ℂ E]
  {v : E}
  {z : ℂ} :
  z • v =  z.re • v + Complex.I • z.im • v := by

  /-
  An attempt to write  "rw [add_smul]" will fail with "did not find instance of
  the pattern in the target -- expression (?r + ?s) • ?x".
  -/
  sorry


theorem add_smul'
  (𝕜₁ : Type*) [NontriviallyNormedField ℝ]
  {𝕜₂ : Type*} [NontriviallyNormedField ℂ] [NormedAlgebra ℝ ℂ]
  {E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E] [IsScalarTower ℝ ℂ E]
  {v : E}
  {r s : ℂ} :
  (r + s) • v = r • v + s • v :=
  Module.add_smul r s v


theorem smul_add' (a : M) (b₁ b₂ : A) : a • (b₁ + b₂) = a • b₁ + a • b₂ :=
  DistribSMul.smul_add _ _ _
#align smul_add smul_add




example simplificationTest₂
  {v : E}
  {z : ℂ} :
  z • v =  z.re • v + Complex.I • z.im • v := by
  sorry
