diff --git a/Mathlib/Analysis/Complex/Basic.lean b/Mathlib/Analysis/Complex/Basic.lean index abfa35259a5a81..f618f468d03446 100644 --- a/Mathlib/Analysis/Complex/Basic.lean +++ b/Mathlib/Analysis/Complex/Basic.lean @@ -65,7 +65,7 @@ instance : DenselyNormedField ℂ where ⟨x, by rwa [norm_real, Real.norm_of_nonneg (h₀.trans_lt h.1).le]⟩ set_option backward.isDefEq.respectTransparency false in -instance {R : Type*} [NormedField R] [NormedAlgebra R ℝ] : NormedAlgebra R ℂ where +instance (priority := 90) {R : Type*} [NormedField R] [NormedAlgebra R ℝ] : NormedAlgebra R ℂ where norm_smul_le r x := by rw [← algebraMap_smul ℝ r x, real_smul, norm_mul, norm_real, norm_algebraMap'] @@ -185,7 +185,6 @@ theorem imCLM_coe : (imCLM : ℂ →ₗ[ℝ] ℝ) = imLm := theorem imCLM_apply (z : ℂ) : (imCLM : ℂ → ℝ) z = z.im := rfl -set_option backward.isDefEq.respectTransparency false in theorem restrictScalars_toSpanSingleton' (x : E) : ContinuousLinearMap.restrictScalars ℝ (toSpanSingleton ℂ x : ℂ →L[ℂ] E) = reCLM.smulRight x + I • imCLM.smulRight x := by diff --git a/Mathlib/LinearAlgebra/Complex/Module.lean b/Mathlib/LinearAlgebra/Complex/Module.lean index 849e35dcd943e8..e0ceed59021827 100644 --- a/Mathlib/LinearAlgebra/Complex/Module.lean +++ b/Mathlib/LinearAlgebra/Complex/Module.lean @@ -166,6 +166,8 @@ instance (priority := 900) Algebra.complexToReal {A : Type*} [Semiring A] [Algeb Algebra ℝ A := .restrictScalars ℝ ℂ A +instance : Algebra ℝ ℂ := inferInstance + -- try to make sure we're not introducing diamonds but we will need -- `reducible_and_instances` which currently fails https://github.com/leanprover-community/mathlib4/issues/10906 example : Prod.algebra ℝ ℂ ℂ = (Prod.algebra ℂ ℂ ℂ).complexToReal := rfl